diff --git a/.agents/skills/cli-admin/SKILL.md b/.agents/skills/cli-admin/SKILL.md index cff181493..aac8b2be9 100644 --- a/.agents/skills/cli-admin/SKILL.md +++ b/.agents/skills/cli-admin/SKILL.md @@ -1,13 +1,13 @@ --- name: cli-admin -description: CLI tool (csdk) for the admin API — provides CRUD commands for 37 tables and 15 custom operations +description: CLI tool (csdk) for the admin API — provides CRUD commands for 46 tables and 14 custom operations --- # cli-admin -CLI tool (csdk) for the admin API — provides CRUD commands for 37 tables and 15 custom operations +CLI tool (csdk) for the admin API — provides CRUD commands for 46 tables and 14 custom operations ## Usage @@ -61,18 +61,27 @@ See the `references/` directory for detailed per-entity API documentation: - [app-permission](references/app-permission.md) - [org-permission](references/org-permission.md) - [app-level-requirement](references/app-level-requirement.md) +- [app-limit-credit-redemption](references/app-limit-credit-redemption.md) +- [app-limit-credit-code-item](references/app-limit-credit-code-item.md) +- [app-limit-credit](references/app-limit-credit.md) - [org-member](references/org-member.md) - [app-permission-default](references/app-permission-default.md) +- [app-limit-credit-code](references/app-limit-credit-code.md) - [org-permission-default](references/org-permission-default.md) - [app-admin-grant](references/app-admin-grant.md) - [app-owner-grant](references/app-owner-grant.md) - [app-achievement](references/app-achievement.md) - [app-step](references/app-step.md) +- [app-limit-caps-default](references/app-limit-caps-default.md) +- [org-limit-caps-default](references/org-limit-caps-default.md) +- [app-limit-cap](references/app-limit-cap.md) +- [org-limit-cap](references/org-limit-cap.md) - [org-admin-grant](references/org-admin-grant.md) - [org-owner-grant](references/org-owner-grant.md) - [membership-type](references/membership-type.md) - [app-limit-default](references/app-limit-default.md) - [org-limit-default](references/org-limit-default.md) +- [org-limit-credit](references/org-limit-credit.md) - [org-chart-edge-grant](references/org-chart-edge-grant.md) - [app-claimed-invite](references/app-claimed-invite.md) - [app-grant](references/app-grant.md) @@ -83,13 +92,13 @@ See the `references/` directory for detailed per-entity API documentation: - [org-limit-event](references/org-limit-event.md) - [org-grant](references/org-grant.md) - [org-chart-edge](references/org-chart-edge.md) -- [app-limit](references/app-limit.md) -- [org-limit-aggregate](references/org-limit-aggregate.md) - [org-member-profile](references/org-member-profile.md) -- [org-limit](references/org-limit.md) - [app-level](references/app-level.md) +- [app-limit](references/app-limit.md) - [app-invite](references/app-invite.md) - [org-membership-setting](references/org-membership-setting.md) +- [org-limit-aggregate](references/org-limit-aggregate.md) +- [org-limit](references/org-limit.md) - [org-invite](references/org-invite.md) - [app-membership](references/app-membership.md) - [org-membership](references/org-membership.md) @@ -106,5 +115,4 @@ See the `references/` directory for detailed per-entity API documentation: - [steps-required](references/steps-required.md) - [submit-app-invite-code](references/submit-app-invite-code.md) - [submit-org-invite-code](references/submit-org-invite-code.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/cli-admin/references/app-limit-cap.md b/.agents/skills/cli-admin/references/app-limit-cap.md new file mode 100644 index 000000000..f9ffb5b50 --- /dev/null +++ b/.agents/skills/cli-admin/references/app-limit-cap.md @@ -0,0 +1,68 @@ +# appLimitCap + + + +CRUD operations for AppLimitCap records via csdk CLI + +## Usage + +```bash +csdk app-limit-cap list +csdk app-limit-cap list --where.. --orderBy +csdk app-limit-cap list --limit 10 --after +csdk app-limit-cap find-first --where.. +csdk app-limit-cap get --id +csdk app-limit-cap create --name --entityId [--max ] +csdk app-limit-cap update --id [--name ] [--entityId ] [--max ] +csdk app-limit-cap delete --id +``` + +## Examples + +### List appLimitCap records + +```bash +csdk app-limit-cap list +``` + +### List appLimitCap records with pagination + +```bash +csdk app-limit-cap list --limit 10 --offset 0 +``` + +### List appLimitCap records with cursor pagination + +```bash +csdk app-limit-cap list --limit 10 --after +``` + +### Find first matching appLimitCap + +```bash +csdk app-limit-cap find-first --where.id.equalTo +``` + +### List appLimitCap records with field selection + +```bash +csdk app-limit-cap list --select id,id +``` + +### List appLimitCap records with filtering and ordering + +```bash +csdk app-limit-cap list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCap + +```bash +csdk app-limit-cap create --name --entityId [--max ] +``` + +### Get a appLimitCap by id + +```bash +csdk app-limit-cap get --id +``` diff --git a/.agents/skills/cli-admin/references/app-limit-caps-default.md b/.agents/skills/cli-admin/references/app-limit-caps-default.md new file mode 100644 index 000000000..2c1bbca48 --- /dev/null +++ b/.agents/skills/cli-admin/references/app-limit-caps-default.md @@ -0,0 +1,68 @@ +# appLimitCapsDefault + + + +CRUD operations for AppLimitCapsDefault records via csdk CLI + +## Usage + +```bash +csdk app-limit-caps-default list +csdk app-limit-caps-default list --where.. --orderBy +csdk app-limit-caps-default list --limit 10 --after +csdk app-limit-caps-default find-first --where.. +csdk app-limit-caps-default get --id +csdk app-limit-caps-default create --name [--max ] +csdk app-limit-caps-default update --id [--name ] [--max ] +csdk app-limit-caps-default delete --id +``` + +## Examples + +### List appLimitCapsDefault records + +```bash +csdk app-limit-caps-default list +``` + +### List appLimitCapsDefault records with pagination + +```bash +csdk app-limit-caps-default list --limit 10 --offset 0 +``` + +### List appLimitCapsDefault records with cursor pagination + +```bash +csdk app-limit-caps-default list --limit 10 --after +``` + +### Find first matching appLimitCapsDefault + +```bash +csdk app-limit-caps-default find-first --where.id.equalTo +``` + +### List appLimitCapsDefault records with field selection + +```bash +csdk app-limit-caps-default list --select id,id +``` + +### List appLimitCapsDefault records with filtering and ordering + +```bash +csdk app-limit-caps-default list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCapsDefault + +```bash +csdk app-limit-caps-default create --name [--max ] +``` + +### Get a appLimitCapsDefault by id + +```bash +csdk app-limit-caps-default get --id +``` diff --git a/.agents/skills/cli-admin/references/app-limit-credit-code-item.md b/.agents/skills/cli-admin/references/app-limit-credit-code-item.md new file mode 100644 index 000000000..5b7fc3567 --- /dev/null +++ b/.agents/skills/cli-admin/references/app-limit-credit-code-item.md @@ -0,0 +1,68 @@ +# appLimitCreditCodeItem + + + +CRUD operations for AppLimitCreditCodeItem records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit-code-item list +csdk app-limit-credit-code-item list --where.. --orderBy +csdk app-limit-credit-code-item list --limit 10 --after +csdk app-limit-credit-code-item find-first --where.. +csdk app-limit-credit-code-item get --id +csdk app-limit-credit-code-item create --creditCodeId --defaultLimitId --amount [--creditType ] +csdk app-limit-credit-code-item update --id [--creditCodeId ] [--defaultLimitId ] [--amount ] [--creditType ] +csdk app-limit-credit-code-item delete --id +``` + +## Examples + +### List appLimitCreditCodeItem records + +```bash +csdk app-limit-credit-code-item list +``` + +### List appLimitCreditCodeItem records with pagination + +```bash +csdk app-limit-credit-code-item list --limit 10 --offset 0 +``` + +### List appLimitCreditCodeItem records with cursor pagination + +```bash +csdk app-limit-credit-code-item list --limit 10 --after +``` + +### Find first matching appLimitCreditCodeItem + +```bash +csdk app-limit-credit-code-item find-first --where.id.equalTo +``` + +### List appLimitCreditCodeItem records with field selection + +```bash +csdk app-limit-credit-code-item list --select id,id +``` + +### List appLimitCreditCodeItem records with filtering and ordering + +```bash +csdk app-limit-credit-code-item list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCreditCodeItem + +```bash +csdk app-limit-credit-code-item create --creditCodeId --defaultLimitId --amount [--creditType ] +``` + +### Get a appLimitCreditCodeItem by id + +```bash +csdk app-limit-credit-code-item get --id +``` diff --git a/.agents/skills/cli-admin/references/app-limit-credit-code.md b/.agents/skills/cli-admin/references/app-limit-credit-code.md new file mode 100644 index 000000000..018821c30 --- /dev/null +++ b/.agents/skills/cli-admin/references/app-limit-credit-code.md @@ -0,0 +1,68 @@ +# appLimitCreditCode + + + +CRUD operations for AppLimitCreditCode records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit-code list +csdk app-limit-credit-code list --where.. --orderBy +csdk app-limit-credit-code list --limit 10 --after +csdk app-limit-credit-code find-first --where.. +csdk app-limit-credit-code get --id +csdk app-limit-credit-code create --code [--maxRedemptions ] [--currentRedemptions ] [--expiresAt ] +csdk app-limit-credit-code update --id [--code ] [--maxRedemptions ] [--currentRedemptions ] [--expiresAt ] +csdk app-limit-credit-code delete --id +``` + +## Examples + +### List appLimitCreditCode records + +```bash +csdk app-limit-credit-code list +``` + +### List appLimitCreditCode records with pagination + +```bash +csdk app-limit-credit-code list --limit 10 --offset 0 +``` + +### List appLimitCreditCode records with cursor pagination + +```bash +csdk app-limit-credit-code list --limit 10 --after +``` + +### Find first matching appLimitCreditCode + +```bash +csdk app-limit-credit-code find-first --where.id.equalTo +``` + +### List appLimitCreditCode records with field selection + +```bash +csdk app-limit-credit-code list --select id,id +``` + +### List appLimitCreditCode records with filtering and ordering + +```bash +csdk app-limit-credit-code list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCreditCode + +```bash +csdk app-limit-credit-code create --code [--maxRedemptions ] [--currentRedemptions ] [--expiresAt ] +``` + +### Get a appLimitCreditCode by id + +```bash +csdk app-limit-credit-code get --id +``` diff --git a/.agents/skills/cli-admin/references/app-limit-credit-redemption.md b/.agents/skills/cli-admin/references/app-limit-credit-redemption.md new file mode 100644 index 000000000..cc48d2e04 --- /dev/null +++ b/.agents/skills/cli-admin/references/app-limit-credit-redemption.md @@ -0,0 +1,68 @@ +# appLimitCreditRedemption + + + +CRUD operations for AppLimitCreditRedemption records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit-redemption list +csdk app-limit-credit-redemption list --where.. --orderBy +csdk app-limit-credit-redemption list --limit 10 --after +csdk app-limit-credit-redemption find-first --where.. +csdk app-limit-credit-redemption get --id +csdk app-limit-credit-redemption create --creditCodeId --entityId +csdk app-limit-credit-redemption update --id [--creditCodeId ] [--entityId ] +csdk app-limit-credit-redemption delete --id +``` + +## Examples + +### List appLimitCreditRedemption records + +```bash +csdk app-limit-credit-redemption list +``` + +### List appLimitCreditRedemption records with pagination + +```bash +csdk app-limit-credit-redemption list --limit 10 --offset 0 +``` + +### List appLimitCreditRedemption records with cursor pagination + +```bash +csdk app-limit-credit-redemption list --limit 10 --after +``` + +### Find first matching appLimitCreditRedemption + +```bash +csdk app-limit-credit-redemption find-first --where.id.equalTo +``` + +### List appLimitCreditRedemption records with field selection + +```bash +csdk app-limit-credit-redemption list --select id,id +``` + +### List appLimitCreditRedemption records with filtering and ordering + +```bash +csdk app-limit-credit-redemption list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCreditRedemption + +```bash +csdk app-limit-credit-redemption create --creditCodeId --entityId +``` + +### Get a appLimitCreditRedemption by id + +```bash +csdk app-limit-credit-redemption get --id +``` diff --git a/.agents/skills/cli-admin/references/app-limit-credit.md b/.agents/skills/cli-admin/references/app-limit-credit.md new file mode 100644 index 000000000..cbcd84184 --- /dev/null +++ b/.agents/skills/cli-admin/references/app-limit-credit.md @@ -0,0 +1,68 @@ +# appLimitCredit + + + +CRUD operations for AppLimitCredit records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit list +csdk app-limit-credit list --where.. --orderBy +csdk app-limit-credit list --limit 10 --after +csdk app-limit-credit find-first --where.. +csdk app-limit-credit get --id +csdk app-limit-credit create --defaultLimitId --amount [--actorId ] [--creditType ] [--reason ] +csdk app-limit-credit update --id [--defaultLimitId ] [--actorId ] [--amount ] [--creditType ] [--reason ] +csdk app-limit-credit delete --id +``` + +## Examples + +### List appLimitCredit records + +```bash +csdk app-limit-credit list +``` + +### List appLimitCredit records with pagination + +```bash +csdk app-limit-credit list --limit 10 --offset 0 +``` + +### List appLimitCredit records with cursor pagination + +```bash +csdk app-limit-credit list --limit 10 --after +``` + +### Find first matching appLimitCredit + +```bash +csdk app-limit-credit find-first --where.id.equalTo +``` + +### List appLimitCredit records with field selection + +```bash +csdk app-limit-credit list --select id,id +``` + +### List appLimitCredit records with filtering and ordering + +```bash +csdk app-limit-credit list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCredit + +```bash +csdk app-limit-credit create --defaultLimitId --amount [--actorId ] [--creditType ] [--reason ] +``` + +### Get a appLimitCredit by id + +```bash +csdk app-limit-credit get --id +``` diff --git a/.agents/skills/cli-admin/references/app-limit.md b/.agents/skills/cli-admin/references/app-limit.md index 6b16dab5e..3079c5df1 100644 --- a/.agents/skills/cli-admin/references/app-limit.md +++ b/.agents/skills/cli-admin/references/app-limit.md @@ -12,8 +12,8 @@ csdk app-limit list --where.. --orderBy csdk app-limit list --limit 10 --after csdk app-limit find-first --where.. csdk app-limit get --id -csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] -csdk app-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] +csdk app-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] csdk app-limit delete --id ``` @@ -58,7 +58,7 @@ csdk app-limit list --where.id.equalTo --orderBy ID_ASC ### Create a appLimit ```bash -csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] ``` ### Get a appLimit by id diff --git a/.agents/skills/cli-admin/references/org-limit-aggregate.md b/.agents/skills/cli-admin/references/org-limit-aggregate.md index d0256c9e1..6cc734f7f 100644 --- a/.agents/skills/cli-admin/references/org-limit-aggregate.md +++ b/.agents/skills/cli-admin/references/org-limit-aggregate.md @@ -12,8 +12,8 @@ csdk org-limit-aggregate list --where.. --orderBy csdk org-limit-aggregate list --limit 10 --after csdk org-limit-aggregate find-first --where.. csdk org-limit-aggregate get --id -csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] -csdk org-limit-aggregate update --id [--name ] [--entityId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--reserved ] +csdk org-limit-aggregate update --id [--name ] [--entityId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--reserved ] csdk org-limit-aggregate delete --id ``` @@ -58,7 +58,7 @@ csdk org-limit-aggregate list --where.id.equalTo --orderBy ID_ASC ### Create a orgLimitAggregate ```bash -csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--reserved ] ``` ### Get a orgLimitAggregate by id diff --git a/.agents/skills/cli-admin/references/org-limit-cap.md b/.agents/skills/cli-admin/references/org-limit-cap.md new file mode 100644 index 000000000..793babf73 --- /dev/null +++ b/.agents/skills/cli-admin/references/org-limit-cap.md @@ -0,0 +1,68 @@ +# orgLimitCap + + + +CRUD operations for OrgLimitCap records via csdk CLI + +## Usage + +```bash +csdk org-limit-cap list +csdk org-limit-cap list --where.. --orderBy +csdk org-limit-cap list --limit 10 --after +csdk org-limit-cap find-first --where.. +csdk org-limit-cap get --id +csdk org-limit-cap create --name --entityId [--max ] +csdk org-limit-cap update --id [--name ] [--entityId ] [--max ] +csdk org-limit-cap delete --id +``` + +## Examples + +### List orgLimitCap records + +```bash +csdk org-limit-cap list +``` + +### List orgLimitCap records with pagination + +```bash +csdk org-limit-cap list --limit 10 --offset 0 +``` + +### List orgLimitCap records with cursor pagination + +```bash +csdk org-limit-cap list --limit 10 --after +``` + +### Find first matching orgLimitCap + +```bash +csdk org-limit-cap find-first --where.id.equalTo +``` + +### List orgLimitCap records with field selection + +```bash +csdk org-limit-cap list --select id,id +``` + +### List orgLimitCap records with filtering and ordering + +```bash +csdk org-limit-cap list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a orgLimitCap + +```bash +csdk org-limit-cap create --name --entityId [--max ] +``` + +### Get a orgLimitCap by id + +```bash +csdk org-limit-cap get --id +``` diff --git a/.agents/skills/cli-admin/references/org-limit-caps-default.md b/.agents/skills/cli-admin/references/org-limit-caps-default.md new file mode 100644 index 000000000..cfc6561a1 --- /dev/null +++ b/.agents/skills/cli-admin/references/org-limit-caps-default.md @@ -0,0 +1,68 @@ +# orgLimitCapsDefault + + + +CRUD operations for OrgLimitCapsDefault records via csdk CLI + +## Usage + +```bash +csdk org-limit-caps-default list +csdk org-limit-caps-default list --where.. --orderBy +csdk org-limit-caps-default list --limit 10 --after +csdk org-limit-caps-default find-first --where.. +csdk org-limit-caps-default get --id +csdk org-limit-caps-default create --name [--max ] +csdk org-limit-caps-default update --id [--name ] [--max ] +csdk org-limit-caps-default delete --id +``` + +## Examples + +### List orgLimitCapsDefault records + +```bash +csdk org-limit-caps-default list +``` + +### List orgLimitCapsDefault records with pagination + +```bash +csdk org-limit-caps-default list --limit 10 --offset 0 +``` + +### List orgLimitCapsDefault records with cursor pagination + +```bash +csdk org-limit-caps-default list --limit 10 --after +``` + +### Find first matching orgLimitCapsDefault + +```bash +csdk org-limit-caps-default find-first --where.id.equalTo +``` + +### List orgLimitCapsDefault records with field selection + +```bash +csdk org-limit-caps-default list --select id,id +``` + +### List orgLimitCapsDefault records with filtering and ordering + +```bash +csdk org-limit-caps-default list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a orgLimitCapsDefault + +```bash +csdk org-limit-caps-default create --name [--max ] +``` + +### Get a orgLimitCapsDefault by id + +```bash +csdk org-limit-caps-default get --id +``` diff --git a/.agents/skills/cli-admin/references/org-limit-credit.md b/.agents/skills/cli-admin/references/org-limit-credit.md new file mode 100644 index 000000000..260ff03a3 --- /dev/null +++ b/.agents/skills/cli-admin/references/org-limit-credit.md @@ -0,0 +1,68 @@ +# orgLimitCredit + + + +CRUD operations for OrgLimitCredit records via csdk CLI + +## Usage + +```bash +csdk org-limit-credit list +csdk org-limit-credit list --where.. --orderBy +csdk org-limit-credit list --limit 10 --after +csdk org-limit-credit find-first --where.. +csdk org-limit-credit get --id +csdk org-limit-credit create --defaultLimitId --amount [--actorId ] [--entityId ] [--creditType ] [--reason ] +csdk org-limit-credit update --id [--defaultLimitId ] [--actorId ] [--entityId ] [--amount ] [--creditType ] [--reason ] +csdk org-limit-credit delete --id +``` + +## Examples + +### List orgLimitCredit records + +```bash +csdk org-limit-credit list +``` + +### List orgLimitCredit records with pagination + +```bash +csdk org-limit-credit list --limit 10 --offset 0 +``` + +### List orgLimitCredit records with cursor pagination + +```bash +csdk org-limit-credit list --limit 10 --after +``` + +### Find first matching orgLimitCredit + +```bash +csdk org-limit-credit find-first --where.id.equalTo +``` + +### List orgLimitCredit records with field selection + +```bash +csdk org-limit-credit list --select id,id +``` + +### List orgLimitCredit records with filtering and ordering + +```bash +csdk org-limit-credit list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a orgLimitCredit + +```bash +csdk org-limit-credit create --defaultLimitId --amount [--actorId ] [--entityId ] [--creditType ] [--reason ] +``` + +### Get a orgLimitCredit by id + +```bash +csdk org-limit-credit get --id +``` diff --git a/.agents/skills/cli-admin/references/org-limit.md b/.agents/skills/cli-admin/references/org-limit.md index 1f0fbdfc9..b77cd3165 100644 --- a/.agents/skills/cli-admin/references/org-limit.md +++ b/.agents/skills/cli-admin/references/org-limit.md @@ -12,8 +12,8 @@ csdk org-limit list --where.. --orderBy csdk org-limit list --limit 10 --after csdk org-limit find-first --where.. csdk org-limit get --id -csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] -csdk org-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--entityId ] +csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] +csdk org-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--entityId ] csdk org-limit delete --id ``` @@ -58,7 +58,7 @@ csdk org-limit list --where.id.equalTo --orderBy ID_ASC ### Create a orgLimit ```bash -csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] ``` ### Get a orgLimit by id diff --git a/.agents/skills/cli-auth/SKILL.md b/.agents/skills/cli-auth/SKILL.md index adc678fe5..63f917f95 100644 --- a/.agents/skills/cli-auth/SKILL.md +++ b/.agents/skills/cli-auth/SKILL.md @@ -1,13 +1,13 @@ --- name: cli-auth -description: CLI tool (csdk) for the auth API — provides CRUD commands for 9 tables and 28 custom operations +description: CLI tool (csdk) for the auth API — provides CRUD commands for 9 tables and 27 custom operations --- # cli-auth -CLI tool (csdk) for the auth API — provides CRUD commands for 9 tables and 28 custom operations +CLI tool (csdk) for the auth API — provides CRUD commands for 9 tables and 27 custom operations ## Usage @@ -91,5 +91,4 @@ See the `references/` directory for detailed per-entity API documentation: - [create-api-key](references/create-api-key.md) - [forgot-password](references/forgot-password.md) - [send-verification-email](references/send-verification-email.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/cli-objects/SKILL.md b/.agents/skills/cli-objects/SKILL.md index f517cbee5..62e69e840 100644 --- a/.agents/skills/cli-objects/SKILL.md +++ b/.agents/skills/cli-objects/SKILL.md @@ -1,13 +1,13 @@ --- name: cli-objects -description: CLI tool (csdk) for the objects API — provides CRUD commands for 5 tables and 14 custom operations +description: CLI tool (csdk) for the objects API — provides CRUD commands for 5 tables and 13 custom operations --- # cli-objects -CLI tool (csdk) for the objects API — provides CRUD commands for 5 tables and 14 custom operations +CLI tool (csdk) for the objects API — provides CRUD commands for 5 tables and 13 custom operations ## Usage @@ -73,5 +73,4 @@ See the `references/` directory for detailed per-entity API documentation: - [insert-node-at-path](references/insert-node-at-path.md) - [update-node-at-path](references/update-node-at-path.md) - [set-and-commit](references/set-and-commit.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/cli-public/SKILL.md b/.agents/skills/cli-public/SKILL.md index a6299b87f..a93836dce 100644 --- a/.agents/skills/cli-public/SKILL.md +++ b/.agents/skills/cli-public/SKILL.md @@ -1,13 +1,13 @@ --- name: cli-public -description: CLI tool (csdk) for the public API — provides CRUD commands for 129 tables and 71 custom operations +description: CLI tool (csdk) for the public API — provides CRUD commands for 147 tables and 71 custom operations --- # cli-public -CLI tool (csdk) for the public API — provides CRUD commands for 129 tables and 71 custom operations +CLI tool (csdk) for the public API — provides CRUD commands for 147 tables and 71 custom operations ## Usage @@ -69,6 +69,7 @@ See the `references/` directory for detailed per-entity API documentation: - [check-constraint](references/check-constraint.md) - [field](references/field.md) - [spatial-relation](references/spatial-relation.md) +- [partition](references/partition.md) - [foreign-key-constraint](references/foreign-key-constraint.md) - [full-text-search](references/full-text-search.md) - [index](references/index.md) @@ -89,17 +90,20 @@ See the `references/` directory for detailed per-entity API documentation: - [schema-grant](references/schema-grant.md) - [default-privilege](references/default-privilege.md) - [enum](references/enum.md) +- [function](references/function.md) - [api-schema](references/api-schema.md) - [api-module](references/api-module.md) - [domain](references/domain.md) - [site-metadatum](references/site-metadatum.md) - [site-module](references/site-module.md) - [site-theme](references/site-theme.md) +- [cors-setting](references/cors-setting.md) - [trigger-function](references/trigger-function.md) - [database-transfer](references/database-transfer.md) - [api](references/api.md) - [site](references/site.md) - [app](references/app.md) +- [api-setting](references/api-setting.md) - [connected-accounts-module](references/connected-accounts-module.md) - [crypto-addresses-module](references/crypto-addresses-module.md) - [crypto-auth-module](references/crypto-auth-module.md) @@ -141,7 +145,11 @@ See the `references/` directory for detailed per-entity API documentation: - [org-chart-edge-grant](references/org-chart-edge-grant.md) - [org-permission-default](references/org-permission-default.md) - [app-limit](references/app-limit.md) +- [app-limit-credit](references/app-limit-credit.md) +- [app-limit-credit-code-item](references/app-limit-credit-code-item.md) +- [app-limit-credit-redemption](references/app-limit-credit-redemption.md) - [org-limit](references/org-limit.md) +- [org-limit-credit](references/org-limit-credit.md) - [org-limit-aggregate](references/org-limit-aggregate.md) - [app-step](references/app-step.md) - [app-achievement](references/app-achievement.md) @@ -163,6 +171,11 @@ See the `references/` directory for detailed per-entity API documentation: - [ref](references/ref.md) - [store](references/store.md) - [app-permission-default](references/app-permission-default.md) +- [app-limit-credit-code](references/app-limit-credit-code.md) +- [app-limit-caps-default](references/app-limit-caps-default.md) +- [org-limit-caps-default](references/org-limit-caps-default.md) +- [app-limit-cap](references/app-limit-cap.md) +- [org-limit-cap](references/org-limit-cap.md) - [membership-type](references/membership-type.md) - [migrate-file](references/migrate-file.md) - [devices-module](references/devices-module.md) @@ -171,19 +184,24 @@ See the `references/` directory for detailed per-entity API documentation: - [org-limit-default](references/org-limit-default.md) - [user-connected-account](references/user-connected-account.md) - [commit](references/commit.md) +- [pubkey-setting](references/pubkey-setting.md) - [rate-limits-module](references/rate-limits-module.md) - [app-membership-default](references/app-membership-default.md) - [org-membership-default](references/org-membership-default.md) +- [rls-setting](references/rls-setting.md) - [app-limit-event](references/app-limit-event.md) - [org-limit-event](references/org-limit-event.md) -- [plans-module](references/plans-module.md) - [rls-module](references/rls-module.md) +- [database-setting](references/database-setting.md) +- [plans-module](references/plans-module.md) - [sql-action](references/sql-action.md) - [billing-module](references/billing-module.md) - [ast-migration](references/ast-migration.md) - [user](references/user.md) - [org-membership-setting](references/org-membership-setting.md) +- [webauthn-setting](references/webauthn-setting.md) - [app-membership](references/app-membership.md) +- [billing-provider-module](references/billing-provider-module.md) - [hierarchy-module](references/hierarchy-module.md) - [current-user-id](references/current-user-id.md) - [current-user-agent](references/current-user-agent.md) @@ -233,6 +251,7 @@ See the `references/` directory for detailed per-entity API documentation: - [provision-spatial-relation](references/provision-spatial-relation.md) - [bootstrap-user](references/bootstrap-user.md) - [set-field-order](references/set-field-order.md) +- [append-smart-tags](references/append-smart-tags.md) - [provision-unique-constraint](references/provision-unique-constraint.md) - [provision-full-text-search](references/provision-full-text-search.md) - [provision-index](references/provision-index.md) @@ -254,5 +273,4 @@ See the `references/` directory for detailed per-entity API documentation: - [request-cross-origin-token](references/request-cross-origin-token.md) - [sign-in](references/sign-in.md) - [provision-table](references/provision-table.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/cli-public/references/api-setting.md b/.agents/skills/cli-public/references/api-setting.md new file mode 100644 index 000000000..f70932a1c --- /dev/null +++ b/.agents/skills/cli-public/references/api-setting.md @@ -0,0 +1,68 @@ +# apiSetting + + + +CRUD operations for ApiSetting records via csdk CLI + +## Usage + +```bash +csdk api-setting list +csdk api-setting list --where.. --orderBy +csdk api-setting list --limit 10 --after +csdk api-setting find-first --where.. +csdk api-setting get --id +csdk api-setting create --databaseId --apiId [--enableAggregates ] [--enablePostgis ] [--enableSearch ] [--enableDirectUploads ] [--enablePresignedUploads ] [--enableManyToMany ] [--enableConnectionFilter ] [--enableLtree ] [--enableLlm ] [--options ] +csdk api-setting update --id [--databaseId ] [--apiId ] [--enableAggregates ] [--enablePostgis ] [--enableSearch ] [--enableDirectUploads ] [--enablePresignedUploads ] [--enableManyToMany ] [--enableConnectionFilter ] [--enableLtree ] [--enableLlm ] [--options ] +csdk api-setting delete --id +``` + +## Examples + +### List apiSetting records + +```bash +csdk api-setting list +``` + +### List apiSetting records with pagination + +```bash +csdk api-setting list --limit 10 --offset 0 +``` + +### List apiSetting records with cursor pagination + +```bash +csdk api-setting list --limit 10 --after +``` + +### Find first matching apiSetting + +```bash +csdk api-setting find-first --where.id.equalTo +``` + +### List apiSetting records with field selection + +```bash +csdk api-setting list --select id,id +``` + +### List apiSetting records with filtering and ordering + +```bash +csdk api-setting list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a apiSetting + +```bash +csdk api-setting create --databaseId --apiId [--enableAggregates ] [--enablePostgis ] [--enableSearch ] [--enableDirectUploads ] [--enablePresignedUploads ] [--enableManyToMany ] [--enableConnectionFilter ] [--enableLtree ] [--enableLlm ] [--options ] +``` + +### Get a apiSetting by id + +```bash +csdk api-setting get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit-cap.md b/.agents/skills/cli-public/references/app-limit-cap.md new file mode 100644 index 000000000..f9ffb5b50 --- /dev/null +++ b/.agents/skills/cli-public/references/app-limit-cap.md @@ -0,0 +1,68 @@ +# appLimitCap + + + +CRUD operations for AppLimitCap records via csdk CLI + +## Usage + +```bash +csdk app-limit-cap list +csdk app-limit-cap list --where.. --orderBy +csdk app-limit-cap list --limit 10 --after +csdk app-limit-cap find-first --where.. +csdk app-limit-cap get --id +csdk app-limit-cap create --name --entityId [--max ] +csdk app-limit-cap update --id [--name ] [--entityId ] [--max ] +csdk app-limit-cap delete --id +``` + +## Examples + +### List appLimitCap records + +```bash +csdk app-limit-cap list +``` + +### List appLimitCap records with pagination + +```bash +csdk app-limit-cap list --limit 10 --offset 0 +``` + +### List appLimitCap records with cursor pagination + +```bash +csdk app-limit-cap list --limit 10 --after +``` + +### Find first matching appLimitCap + +```bash +csdk app-limit-cap find-first --where.id.equalTo +``` + +### List appLimitCap records with field selection + +```bash +csdk app-limit-cap list --select id,id +``` + +### List appLimitCap records with filtering and ordering + +```bash +csdk app-limit-cap list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCap + +```bash +csdk app-limit-cap create --name --entityId [--max ] +``` + +### Get a appLimitCap by id + +```bash +csdk app-limit-cap get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit-caps-default.md b/.agents/skills/cli-public/references/app-limit-caps-default.md new file mode 100644 index 000000000..2c1bbca48 --- /dev/null +++ b/.agents/skills/cli-public/references/app-limit-caps-default.md @@ -0,0 +1,68 @@ +# appLimitCapsDefault + + + +CRUD operations for AppLimitCapsDefault records via csdk CLI + +## Usage + +```bash +csdk app-limit-caps-default list +csdk app-limit-caps-default list --where.. --orderBy +csdk app-limit-caps-default list --limit 10 --after +csdk app-limit-caps-default find-first --where.. +csdk app-limit-caps-default get --id +csdk app-limit-caps-default create --name [--max ] +csdk app-limit-caps-default update --id [--name ] [--max ] +csdk app-limit-caps-default delete --id +``` + +## Examples + +### List appLimitCapsDefault records + +```bash +csdk app-limit-caps-default list +``` + +### List appLimitCapsDefault records with pagination + +```bash +csdk app-limit-caps-default list --limit 10 --offset 0 +``` + +### List appLimitCapsDefault records with cursor pagination + +```bash +csdk app-limit-caps-default list --limit 10 --after +``` + +### Find first matching appLimitCapsDefault + +```bash +csdk app-limit-caps-default find-first --where.id.equalTo +``` + +### List appLimitCapsDefault records with field selection + +```bash +csdk app-limit-caps-default list --select id,id +``` + +### List appLimitCapsDefault records with filtering and ordering + +```bash +csdk app-limit-caps-default list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCapsDefault + +```bash +csdk app-limit-caps-default create --name [--max ] +``` + +### Get a appLimitCapsDefault by id + +```bash +csdk app-limit-caps-default get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit-credit-code-item.md b/.agents/skills/cli-public/references/app-limit-credit-code-item.md new file mode 100644 index 000000000..5b7fc3567 --- /dev/null +++ b/.agents/skills/cli-public/references/app-limit-credit-code-item.md @@ -0,0 +1,68 @@ +# appLimitCreditCodeItem + + + +CRUD operations for AppLimitCreditCodeItem records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit-code-item list +csdk app-limit-credit-code-item list --where.. --orderBy +csdk app-limit-credit-code-item list --limit 10 --after +csdk app-limit-credit-code-item find-first --where.. +csdk app-limit-credit-code-item get --id +csdk app-limit-credit-code-item create --creditCodeId --defaultLimitId --amount [--creditType ] +csdk app-limit-credit-code-item update --id [--creditCodeId ] [--defaultLimitId ] [--amount ] [--creditType ] +csdk app-limit-credit-code-item delete --id +``` + +## Examples + +### List appLimitCreditCodeItem records + +```bash +csdk app-limit-credit-code-item list +``` + +### List appLimitCreditCodeItem records with pagination + +```bash +csdk app-limit-credit-code-item list --limit 10 --offset 0 +``` + +### List appLimitCreditCodeItem records with cursor pagination + +```bash +csdk app-limit-credit-code-item list --limit 10 --after +``` + +### Find first matching appLimitCreditCodeItem + +```bash +csdk app-limit-credit-code-item find-first --where.id.equalTo +``` + +### List appLimitCreditCodeItem records with field selection + +```bash +csdk app-limit-credit-code-item list --select id,id +``` + +### List appLimitCreditCodeItem records with filtering and ordering + +```bash +csdk app-limit-credit-code-item list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCreditCodeItem + +```bash +csdk app-limit-credit-code-item create --creditCodeId --defaultLimitId --amount [--creditType ] +``` + +### Get a appLimitCreditCodeItem by id + +```bash +csdk app-limit-credit-code-item get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit-credit-code.md b/.agents/skills/cli-public/references/app-limit-credit-code.md new file mode 100644 index 000000000..018821c30 --- /dev/null +++ b/.agents/skills/cli-public/references/app-limit-credit-code.md @@ -0,0 +1,68 @@ +# appLimitCreditCode + + + +CRUD operations for AppLimitCreditCode records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit-code list +csdk app-limit-credit-code list --where.. --orderBy +csdk app-limit-credit-code list --limit 10 --after +csdk app-limit-credit-code find-first --where.. +csdk app-limit-credit-code get --id +csdk app-limit-credit-code create --code [--maxRedemptions ] [--currentRedemptions ] [--expiresAt ] +csdk app-limit-credit-code update --id [--code ] [--maxRedemptions ] [--currentRedemptions ] [--expiresAt ] +csdk app-limit-credit-code delete --id +``` + +## Examples + +### List appLimitCreditCode records + +```bash +csdk app-limit-credit-code list +``` + +### List appLimitCreditCode records with pagination + +```bash +csdk app-limit-credit-code list --limit 10 --offset 0 +``` + +### List appLimitCreditCode records with cursor pagination + +```bash +csdk app-limit-credit-code list --limit 10 --after +``` + +### Find first matching appLimitCreditCode + +```bash +csdk app-limit-credit-code find-first --where.id.equalTo +``` + +### List appLimitCreditCode records with field selection + +```bash +csdk app-limit-credit-code list --select id,id +``` + +### List appLimitCreditCode records with filtering and ordering + +```bash +csdk app-limit-credit-code list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCreditCode + +```bash +csdk app-limit-credit-code create --code [--maxRedemptions ] [--currentRedemptions ] [--expiresAt ] +``` + +### Get a appLimitCreditCode by id + +```bash +csdk app-limit-credit-code get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit-credit-redemption.md b/.agents/skills/cli-public/references/app-limit-credit-redemption.md new file mode 100644 index 000000000..cc48d2e04 --- /dev/null +++ b/.agents/skills/cli-public/references/app-limit-credit-redemption.md @@ -0,0 +1,68 @@ +# appLimitCreditRedemption + + + +CRUD operations for AppLimitCreditRedemption records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit-redemption list +csdk app-limit-credit-redemption list --where.. --orderBy +csdk app-limit-credit-redemption list --limit 10 --after +csdk app-limit-credit-redemption find-first --where.. +csdk app-limit-credit-redemption get --id +csdk app-limit-credit-redemption create --creditCodeId --entityId +csdk app-limit-credit-redemption update --id [--creditCodeId ] [--entityId ] +csdk app-limit-credit-redemption delete --id +``` + +## Examples + +### List appLimitCreditRedemption records + +```bash +csdk app-limit-credit-redemption list +``` + +### List appLimitCreditRedemption records with pagination + +```bash +csdk app-limit-credit-redemption list --limit 10 --offset 0 +``` + +### List appLimitCreditRedemption records with cursor pagination + +```bash +csdk app-limit-credit-redemption list --limit 10 --after +``` + +### Find first matching appLimitCreditRedemption + +```bash +csdk app-limit-credit-redemption find-first --where.id.equalTo +``` + +### List appLimitCreditRedemption records with field selection + +```bash +csdk app-limit-credit-redemption list --select id,id +``` + +### List appLimitCreditRedemption records with filtering and ordering + +```bash +csdk app-limit-credit-redemption list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCreditRedemption + +```bash +csdk app-limit-credit-redemption create --creditCodeId --entityId +``` + +### Get a appLimitCreditRedemption by id + +```bash +csdk app-limit-credit-redemption get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit-credit.md b/.agents/skills/cli-public/references/app-limit-credit.md new file mode 100644 index 000000000..cbcd84184 --- /dev/null +++ b/.agents/skills/cli-public/references/app-limit-credit.md @@ -0,0 +1,68 @@ +# appLimitCredit + + + +CRUD operations for AppLimitCredit records via csdk CLI + +## Usage + +```bash +csdk app-limit-credit list +csdk app-limit-credit list --where.. --orderBy +csdk app-limit-credit list --limit 10 --after +csdk app-limit-credit find-first --where.. +csdk app-limit-credit get --id +csdk app-limit-credit create --defaultLimitId --amount [--actorId ] [--creditType ] [--reason ] +csdk app-limit-credit update --id [--defaultLimitId ] [--actorId ] [--amount ] [--creditType ] [--reason ] +csdk app-limit-credit delete --id +``` + +## Examples + +### List appLimitCredit records + +```bash +csdk app-limit-credit list +``` + +### List appLimitCredit records with pagination + +```bash +csdk app-limit-credit list --limit 10 --offset 0 +``` + +### List appLimitCredit records with cursor pagination + +```bash +csdk app-limit-credit list --limit 10 --after +``` + +### Find first matching appLimitCredit + +```bash +csdk app-limit-credit find-first --where.id.equalTo +``` + +### List appLimitCredit records with field selection + +```bash +csdk app-limit-credit list --select id,id +``` + +### List appLimitCredit records with filtering and ordering + +```bash +csdk app-limit-credit list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a appLimitCredit + +```bash +csdk app-limit-credit create --defaultLimitId --amount [--actorId ] [--creditType ] [--reason ] +``` + +### Get a appLimitCredit by id + +```bash +csdk app-limit-credit get --id +``` diff --git a/.agents/skills/cli-public/references/app-limit.md b/.agents/skills/cli-public/references/app-limit.md index 6b16dab5e..3079c5df1 100644 --- a/.agents/skills/cli-public/references/app-limit.md +++ b/.agents/skills/cli-public/references/app-limit.md @@ -12,8 +12,8 @@ csdk app-limit list --where.. --orderBy csdk app-limit list --limit 10 --after csdk app-limit find-first --where.. csdk app-limit get --id -csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] -csdk app-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] +csdk app-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] csdk app-limit delete --id ``` @@ -58,7 +58,7 @@ csdk app-limit list --where.id.equalTo --orderBy ID_ASC ### Create a appLimit ```bash -csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk app-limit create --actorId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] ``` ### Get a appLimit by id diff --git a/.agents/skills/cli-public/references/append-smart-tags.md b/.agents/skills/cli-public/references/append-smart-tags.md new file mode 100644 index 000000000..7024444dd --- /dev/null +++ b/.agents/skills/cli-public/references/append-smart-tags.md @@ -0,0 +1,19 @@ +# appendSmartTags + + + +Execute the appendSmartTags mutation + +## Usage + +```bash +csdk append-smart-tags --input.clientMutationId --input.pTableId --input.pTags +``` + +## Examples + +### Run appendSmartTags + +```bash +csdk append-smart-tags --input.clientMutationId --input.pTableId --input.pTags +``` diff --git a/.agents/skills/cli-public/references/billing-provider-module.md b/.agents/skills/cli-public/references/billing-provider-module.md new file mode 100644 index 000000000..c9d6f3e44 --- /dev/null +++ b/.agents/skills/cli-public/references/billing-provider-module.md @@ -0,0 +1,68 @@ +# billingProviderModule + + + +CRUD operations for BillingProviderModule records via csdk CLI + +## Usage + +```bash +csdk billing-provider-module list +csdk billing-provider-module list --where.. --orderBy +csdk billing-provider-module list --limit 10 --after +csdk billing-provider-module find-first --where.. +csdk billing-provider-module get --id +csdk billing-provider-module create --databaseId [--schemaId ] [--privateSchemaId ] [--provider ] [--productsTableId ] [--pricesTableId ] [--subscriptionsTableId ] [--billingCustomersTableId ] [--billingCustomersTableName ] [--billingProductsTableId ] [--billingProductsTableName ] [--billingPricesTableId ] [--billingPricesTableName ] [--billingSubscriptionsTableId ] [--billingSubscriptionsTableName ] [--billingWebhookEventsTableId ] [--billingWebhookEventsTableName ] [--processBillingEventFunction ] [--prefix ] +csdk billing-provider-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--provider ] [--productsTableId ] [--pricesTableId ] [--subscriptionsTableId ] [--billingCustomersTableId ] [--billingCustomersTableName ] [--billingProductsTableId ] [--billingProductsTableName ] [--billingPricesTableId ] [--billingPricesTableName ] [--billingSubscriptionsTableId ] [--billingSubscriptionsTableName ] [--billingWebhookEventsTableId ] [--billingWebhookEventsTableName ] [--processBillingEventFunction ] [--prefix ] +csdk billing-provider-module delete --id +``` + +## Examples + +### List billingProviderModule records + +```bash +csdk billing-provider-module list +``` + +### List billingProviderModule records with pagination + +```bash +csdk billing-provider-module list --limit 10 --offset 0 +``` + +### List billingProviderModule records with cursor pagination + +```bash +csdk billing-provider-module list --limit 10 --after +``` + +### Find first matching billingProviderModule + +```bash +csdk billing-provider-module find-first --where.id.equalTo +``` + +### List billingProviderModule records with field selection + +```bash +csdk billing-provider-module list --select id,id +``` + +### List billingProviderModule records with filtering and ordering + +```bash +csdk billing-provider-module list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a billingProviderModule + +```bash +csdk billing-provider-module create --databaseId [--schemaId ] [--privateSchemaId ] [--provider ] [--productsTableId ] [--pricesTableId ] [--subscriptionsTableId ] [--billingCustomersTableId ] [--billingCustomersTableName ] [--billingProductsTableId ] [--billingProductsTableName ] [--billingPricesTableId ] [--billingPricesTableName ] [--billingSubscriptionsTableId ] [--billingSubscriptionsTableName ] [--billingWebhookEventsTableId ] [--billingWebhookEventsTableName ] [--processBillingEventFunction ] [--prefix ] +``` + +### Get a billingProviderModule by id + +```bash +csdk billing-provider-module get --id +``` diff --git a/.agents/skills/cli-public/references/cors-setting.md b/.agents/skills/cli-public/references/cors-setting.md new file mode 100644 index 000000000..fd7f038a7 --- /dev/null +++ b/.agents/skills/cli-public/references/cors-setting.md @@ -0,0 +1,68 @@ +# corsSetting + + + +CRUD operations for CorsSetting records via csdk CLI + +## Usage + +```bash +csdk cors-setting list +csdk cors-setting list --where.. --orderBy +csdk cors-setting list --limit 10 --after +csdk cors-setting find-first --where.. +csdk cors-setting get --id +csdk cors-setting create --databaseId [--apiId ] [--allowedOrigins ] +csdk cors-setting update --id [--databaseId ] [--apiId ] [--allowedOrigins ] +csdk cors-setting delete --id +``` + +## Examples + +### List corsSetting records + +```bash +csdk cors-setting list +``` + +### List corsSetting records with pagination + +```bash +csdk cors-setting list --limit 10 --offset 0 +``` + +### List corsSetting records with cursor pagination + +```bash +csdk cors-setting list --limit 10 --after +``` + +### Find first matching corsSetting + +```bash +csdk cors-setting find-first --where.id.equalTo +``` + +### List corsSetting records with field selection + +```bash +csdk cors-setting list --select id,id +``` + +### List corsSetting records with filtering and ordering + +```bash +csdk cors-setting list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a corsSetting + +```bash +csdk cors-setting create --databaseId [--apiId ] [--allowedOrigins ] +``` + +### Get a corsSetting by id + +```bash +csdk cors-setting get --id +``` diff --git a/.agents/skills/cli-public/references/database-setting.md b/.agents/skills/cli-public/references/database-setting.md new file mode 100644 index 000000000..5d2e8c89f --- /dev/null +++ b/.agents/skills/cli-public/references/database-setting.md @@ -0,0 +1,68 @@ +# databaseSetting + + + +CRUD operations for DatabaseSetting records via csdk CLI + +## Usage + +```bash +csdk database-setting list +csdk database-setting list --where.. --orderBy +csdk database-setting list --limit 10 --after +csdk database-setting find-first --where.. +csdk database-setting get --id +csdk database-setting create --databaseId [--enableAggregates ] [--enablePostgis ] [--enableSearch ] [--enableDirectUploads ] [--enablePresignedUploads ] [--enableManyToMany ] [--enableConnectionFilter ] [--enableLtree ] [--enableLlm ] [--options ] +csdk database-setting update --id [--databaseId ] [--enableAggregates ] [--enablePostgis ] [--enableSearch ] [--enableDirectUploads ] [--enablePresignedUploads ] [--enableManyToMany ] [--enableConnectionFilter ] [--enableLtree ] [--enableLlm ] [--options ] +csdk database-setting delete --id +``` + +## Examples + +### List databaseSetting records + +```bash +csdk database-setting list +``` + +### List databaseSetting records with pagination + +```bash +csdk database-setting list --limit 10 --offset 0 +``` + +### List databaseSetting records with cursor pagination + +```bash +csdk database-setting list --limit 10 --after +``` + +### Find first matching databaseSetting + +```bash +csdk database-setting find-first --where.id.equalTo +``` + +### List databaseSetting records with field selection + +```bash +csdk database-setting list --select id,id +``` + +### List databaseSetting records with filtering and ordering + +```bash +csdk database-setting list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a databaseSetting + +```bash +csdk database-setting create --databaseId [--enableAggregates ] [--enablePostgis ] [--enableSearch ] [--enableDirectUploads ] [--enablePresignedUploads ] [--enableManyToMany ] [--enableConnectionFilter ] [--enableLtree ] [--enableLlm ] [--options ] +``` + +### Get a databaseSetting by id + +```bash +csdk database-setting get --id +``` diff --git a/.agents/skills/cli-public/references/entity-type-provision.md b/.agents/skills/cli-public/references/entity-type-provision.md index 5d17a28fa..9427c8b9c 100644 --- a/.agents/skills/cli-public/references/entity-type-provision.md +++ b/.agents/skills/cli-public/references/entity-type-provision.md @@ -12,8 +12,8 @@ csdk entity-type-provision list --where.. --orderBy csdk entity-type-provision list --limit 10 --after csdk entity-type-provision find-first --where.. csdk entity-type-provision get --id -csdk entity-type-provision create --databaseId --name --prefix [--description ] [--parentEntity ] [--tableName ] [--isVisible ] [--hasLimits ] [--hasProfiles ] [--hasLevels ] [--hasStorage ] [--hasInvites ] [--storageConfig ] [--skipEntityPolicies ] [--tableProvision ] [--outMembershipType ] [--outEntityTableId ] [--outEntityTableName ] [--outInstalledModules ] [--outStorageModuleId ] [--outBucketsTableId ] [--outFilesTableId ] [--outInvitesModuleId ] -csdk entity-type-provision update --id [--databaseId ] [--name ] [--prefix ] [--description ] [--parentEntity ] [--tableName ] [--isVisible ] [--hasLimits ] [--hasProfiles ] [--hasLevels ] [--hasStorage ] [--hasInvites ] [--storageConfig ] [--skipEntityPolicies ] [--tableProvision ] [--outMembershipType ] [--outEntityTableId ] [--outEntityTableName ] [--outInstalledModules ] [--outStorageModuleId ] [--outBucketsTableId ] [--outFilesTableId ] [--outInvitesModuleId ] +csdk entity-type-provision create --databaseId --name --prefix [--description ] [--parentEntity ] [--tableName ] [--isVisible ] [--hasLimits ] [--hasProfiles ] [--hasLevels ] [--hasStorage ] [--hasInvites ] [--storageConfig ] [--skipEntityPolicies ] [--tableProvision ] [--outMembershipType ] [--outEntityTableId ] [--outEntityTableName ] [--outInstalledModules ] [--outStorageModuleId ] [--outBucketsTableId ] [--outFilesTableId ] [--outPathSharesTableId ] [--outInvitesModuleId ] +csdk entity-type-provision update --id [--databaseId ] [--name ] [--prefix ] [--description ] [--parentEntity ] [--tableName ] [--isVisible ] [--hasLimits ] [--hasProfiles ] [--hasLevels ] [--hasStorage ] [--hasInvites ] [--storageConfig ] [--skipEntityPolicies ] [--tableProvision ] [--outMembershipType ] [--outEntityTableId ] [--outEntityTableName ] [--outInstalledModules ] [--outStorageModuleId ] [--outBucketsTableId ] [--outFilesTableId ] [--outPathSharesTableId ] [--outInvitesModuleId ] csdk entity-type-provision delete --id ``` @@ -58,7 +58,7 @@ csdk entity-type-provision list --where.id.equalTo --orderBy ID_ASC ### Create a entityTypeProvision ```bash -csdk entity-type-provision create --databaseId --name --prefix [--description ] [--parentEntity ] [--tableName ] [--isVisible ] [--hasLimits ] [--hasProfiles ] [--hasLevels ] [--hasStorage ] [--hasInvites ] [--storageConfig ] [--skipEntityPolicies ] [--tableProvision ] [--outMembershipType ] [--outEntityTableId ] [--outEntityTableName ] [--outInstalledModules ] [--outStorageModuleId ] [--outBucketsTableId ] [--outFilesTableId ] [--outInvitesModuleId ] +csdk entity-type-provision create --databaseId --name --prefix [--description ] [--parentEntity ] [--tableName ] [--isVisible ] [--hasLimits ] [--hasProfiles ] [--hasLevels ] [--hasStorage ] [--hasInvites ] [--storageConfig ] [--skipEntityPolicies ] [--tableProvision ] [--outMembershipType ] [--outEntityTableId ] [--outEntityTableName ] [--outInstalledModules ] [--outStorageModuleId ] [--outBucketsTableId ] [--outFilesTableId ] [--outPathSharesTableId ] [--outInvitesModuleId ] ``` ### Get a entityTypeProvision by id diff --git a/.agents/skills/cli-public/references/function.md b/.agents/skills/cli-public/references/function.md new file mode 100644 index 000000000..a7571ed4f --- /dev/null +++ b/.agents/skills/cli-public/references/function.md @@ -0,0 +1,68 @@ +# function + + + +CRUD operations for Function records via csdk CLI + +## Usage + +```bash +csdk function list +csdk function list --where.. --orderBy +csdk function list --limit 10 --after +csdk function find-first --where.. +csdk function get --id +csdk function create --databaseId --schemaId --name +csdk function update --id [--databaseId ] [--schemaId ] [--name ] +csdk function delete --id +``` + +## Examples + +### List function records + +```bash +csdk function list +``` + +### List function records with pagination + +```bash +csdk function list --limit 10 --offset 0 +``` + +### List function records with cursor pagination + +```bash +csdk function list --limit 10 --after +``` + +### Find first matching function + +```bash +csdk function find-first --where.id.equalTo +``` + +### List function records with field selection + +```bash +csdk function list --select id,id +``` + +### List function records with filtering and ordering + +```bash +csdk function list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a function + +```bash +csdk function create --databaseId --schemaId --name +``` + +### Get a function by id + +```bash +csdk function get --id +``` diff --git a/.agents/skills/cli-public/references/limits-module.md b/.agents/skills/cli-public/references/limits-module.md index d971d44a9..8931eec69 100644 --- a/.agents/skills/cli-public/references/limits-module.md +++ b/.agents/skills/cli-public/references/limits-module.md @@ -12,8 +12,8 @@ csdk limits-module list --where.. --orderBy csdk limits-module list --limit 10 --after csdk limits-module find-first --where.. csdk limits-module get --id -csdk limits-module create --databaseId --membershipType [--schemaId ] [--privateSchemaId ] [--tableId ] [--tableName ] [--defaultTableId ] [--defaultTableName ] [--limitIncrementFunction ] [--limitDecrementFunction ] [--limitIncrementTrigger ] [--limitDecrementTrigger ] [--limitUpdateTrigger ] [--limitCheckFunction ] [--aggregateTableId ] [--prefix ] [--entityTableId ] [--actorTableId ] -csdk limits-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--tableId ] [--tableName ] [--defaultTableId ] [--defaultTableName ] [--limitIncrementFunction ] [--limitDecrementFunction ] [--limitIncrementTrigger ] [--limitDecrementTrigger ] [--limitUpdateTrigger ] [--limitCheckFunction ] [--aggregateTableId ] [--prefix ] [--membershipType ] [--entityTableId ] [--actorTableId ] +csdk limits-module create --databaseId --membershipType [--schemaId ] [--privateSchemaId ] [--tableId ] [--tableName ] [--defaultTableId ] [--defaultTableName ] [--limitIncrementFunction ] [--limitDecrementFunction ] [--limitIncrementTrigger ] [--limitDecrementTrigger ] [--limitUpdateTrigger ] [--limitCheckFunction ] [--limitCreditsTableId ] [--eventsTableId ] [--creditCodesTableId ] [--creditCodeItemsTableId ] [--creditRedemptionsTableId ] [--aggregateTableId ] [--limitCapsTableId ] [--limitCapsDefaultsTableId ] [--capCheckTrigger ] [--resolveCapFunction ] [--prefix ] [--entityTableId ] [--actorTableId ] +csdk limits-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--tableId ] [--tableName ] [--defaultTableId ] [--defaultTableName ] [--limitIncrementFunction ] [--limitDecrementFunction ] [--limitIncrementTrigger ] [--limitDecrementTrigger ] [--limitUpdateTrigger ] [--limitCheckFunction ] [--limitCreditsTableId ] [--eventsTableId ] [--creditCodesTableId ] [--creditCodeItemsTableId ] [--creditRedemptionsTableId ] [--aggregateTableId ] [--limitCapsTableId ] [--limitCapsDefaultsTableId ] [--capCheckTrigger ] [--resolveCapFunction ] [--prefix ] [--membershipType ] [--entityTableId ] [--actorTableId ] csdk limits-module delete --id ``` @@ -58,7 +58,7 @@ csdk limits-module list --where.id.equalTo --orderBy ID_ASC ### Create a limitsModule ```bash -csdk limits-module create --databaseId --membershipType [--schemaId ] [--privateSchemaId ] [--tableId ] [--tableName ] [--defaultTableId ] [--defaultTableName ] [--limitIncrementFunction ] [--limitDecrementFunction ] [--limitIncrementTrigger ] [--limitDecrementTrigger ] [--limitUpdateTrigger ] [--limitCheckFunction ] [--aggregateTableId ] [--prefix ] [--entityTableId ] [--actorTableId ] +csdk limits-module create --databaseId --membershipType [--schemaId ] [--privateSchemaId ] [--tableId ] [--tableName ] [--defaultTableId ] [--defaultTableName ] [--limitIncrementFunction ] [--limitDecrementFunction ] [--limitIncrementTrigger ] [--limitDecrementTrigger ] [--limitUpdateTrigger ] [--limitCheckFunction ] [--limitCreditsTableId ] [--eventsTableId ] [--creditCodesTableId ] [--creditCodeItemsTableId ] [--creditRedemptionsTableId ] [--aggregateTableId ] [--limitCapsTableId ] [--limitCapsDefaultsTableId ] [--capCheckTrigger ] [--resolveCapFunction ] [--prefix ] [--entityTableId ] [--actorTableId ] ``` ### Get a limitsModule by id diff --git a/.agents/skills/cli-public/references/org-limit-aggregate.md b/.agents/skills/cli-public/references/org-limit-aggregate.md index d0256c9e1..6cc734f7f 100644 --- a/.agents/skills/cli-public/references/org-limit-aggregate.md +++ b/.agents/skills/cli-public/references/org-limit-aggregate.md @@ -12,8 +12,8 @@ csdk org-limit-aggregate list --where.. --orderBy csdk org-limit-aggregate list --limit 10 --after csdk org-limit-aggregate find-first --where.. csdk org-limit-aggregate get --id -csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] -csdk org-limit-aggregate update --id [--name ] [--entityId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--reserved ] +csdk org-limit-aggregate update --id [--name ] [--entityId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--reserved ] csdk org-limit-aggregate delete --id ``` @@ -58,7 +58,7 @@ csdk org-limit-aggregate list --where.id.equalTo --orderBy ID_ASC ### Create a orgLimitAggregate ```bash -csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk org-limit-aggregate create --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--reserved ] ``` ### Get a orgLimitAggregate by id diff --git a/.agents/skills/cli-public/references/org-limit-cap.md b/.agents/skills/cli-public/references/org-limit-cap.md new file mode 100644 index 000000000..793babf73 --- /dev/null +++ b/.agents/skills/cli-public/references/org-limit-cap.md @@ -0,0 +1,68 @@ +# orgLimitCap + + + +CRUD operations for OrgLimitCap records via csdk CLI + +## Usage + +```bash +csdk org-limit-cap list +csdk org-limit-cap list --where.. --orderBy +csdk org-limit-cap list --limit 10 --after +csdk org-limit-cap find-first --where.. +csdk org-limit-cap get --id +csdk org-limit-cap create --name --entityId [--max ] +csdk org-limit-cap update --id [--name ] [--entityId ] [--max ] +csdk org-limit-cap delete --id +``` + +## Examples + +### List orgLimitCap records + +```bash +csdk org-limit-cap list +``` + +### List orgLimitCap records with pagination + +```bash +csdk org-limit-cap list --limit 10 --offset 0 +``` + +### List orgLimitCap records with cursor pagination + +```bash +csdk org-limit-cap list --limit 10 --after +``` + +### Find first matching orgLimitCap + +```bash +csdk org-limit-cap find-first --where.id.equalTo +``` + +### List orgLimitCap records with field selection + +```bash +csdk org-limit-cap list --select id,id +``` + +### List orgLimitCap records with filtering and ordering + +```bash +csdk org-limit-cap list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a orgLimitCap + +```bash +csdk org-limit-cap create --name --entityId [--max ] +``` + +### Get a orgLimitCap by id + +```bash +csdk org-limit-cap get --id +``` diff --git a/.agents/skills/cli-public/references/org-limit-caps-default.md b/.agents/skills/cli-public/references/org-limit-caps-default.md new file mode 100644 index 000000000..cfc6561a1 --- /dev/null +++ b/.agents/skills/cli-public/references/org-limit-caps-default.md @@ -0,0 +1,68 @@ +# orgLimitCapsDefault + + + +CRUD operations for OrgLimitCapsDefault records via csdk CLI + +## Usage + +```bash +csdk org-limit-caps-default list +csdk org-limit-caps-default list --where.. --orderBy +csdk org-limit-caps-default list --limit 10 --after +csdk org-limit-caps-default find-first --where.. +csdk org-limit-caps-default get --id +csdk org-limit-caps-default create --name [--max ] +csdk org-limit-caps-default update --id [--name ] [--max ] +csdk org-limit-caps-default delete --id +``` + +## Examples + +### List orgLimitCapsDefault records + +```bash +csdk org-limit-caps-default list +``` + +### List orgLimitCapsDefault records with pagination + +```bash +csdk org-limit-caps-default list --limit 10 --offset 0 +``` + +### List orgLimitCapsDefault records with cursor pagination + +```bash +csdk org-limit-caps-default list --limit 10 --after +``` + +### Find first matching orgLimitCapsDefault + +```bash +csdk org-limit-caps-default find-first --where.id.equalTo +``` + +### List orgLimitCapsDefault records with field selection + +```bash +csdk org-limit-caps-default list --select id,id +``` + +### List orgLimitCapsDefault records with filtering and ordering + +```bash +csdk org-limit-caps-default list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a orgLimitCapsDefault + +```bash +csdk org-limit-caps-default create --name [--max ] +``` + +### Get a orgLimitCapsDefault by id + +```bash +csdk org-limit-caps-default get --id +``` diff --git a/.agents/skills/cli-public/references/org-limit-credit.md b/.agents/skills/cli-public/references/org-limit-credit.md new file mode 100644 index 000000000..260ff03a3 --- /dev/null +++ b/.agents/skills/cli-public/references/org-limit-credit.md @@ -0,0 +1,68 @@ +# orgLimitCredit + + + +CRUD operations for OrgLimitCredit records via csdk CLI + +## Usage + +```bash +csdk org-limit-credit list +csdk org-limit-credit list --where.. --orderBy +csdk org-limit-credit list --limit 10 --after +csdk org-limit-credit find-first --where.. +csdk org-limit-credit get --id +csdk org-limit-credit create --defaultLimitId --amount [--actorId ] [--entityId ] [--creditType ] [--reason ] +csdk org-limit-credit update --id [--defaultLimitId ] [--actorId ] [--entityId ] [--amount ] [--creditType ] [--reason ] +csdk org-limit-credit delete --id +``` + +## Examples + +### List orgLimitCredit records + +```bash +csdk org-limit-credit list +``` + +### List orgLimitCredit records with pagination + +```bash +csdk org-limit-credit list --limit 10 --offset 0 +``` + +### List orgLimitCredit records with cursor pagination + +```bash +csdk org-limit-credit list --limit 10 --after +``` + +### Find first matching orgLimitCredit + +```bash +csdk org-limit-credit find-first --where.id.equalTo +``` + +### List orgLimitCredit records with field selection + +```bash +csdk org-limit-credit list --select id,id +``` + +### List orgLimitCredit records with filtering and ordering + +```bash +csdk org-limit-credit list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a orgLimitCredit + +```bash +csdk org-limit-credit create --defaultLimitId --amount [--actorId ] [--entityId ] [--creditType ] [--reason ] +``` + +### Get a orgLimitCredit by id + +```bash +csdk org-limit-credit get --id +``` diff --git a/.agents/skills/cli-public/references/org-limit.md b/.agents/skills/cli-public/references/org-limit.md index 1f0fbdfc9..b77cd3165 100644 --- a/.agents/skills/cli-public/references/org-limit.md +++ b/.agents/skills/cli-public/references/org-limit.md @@ -12,8 +12,8 @@ csdk org-limit list --where.. --orderBy csdk org-limit list --limit 10 --after csdk org-limit find-first --where.. csdk org-limit get --id -csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] -csdk org-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--entityId ] +csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] +csdk org-limit update --id [--name ] [--actorId ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] [--entityId ] csdk org-limit delete --id ``` @@ -58,7 +58,7 @@ csdk org-limit list --where.id.equalTo --orderBy ID_ASC ### Create a orgLimit ```bash -csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] +csdk org-limit create --actorId --entityId [--name ] [--num ] [--max ] [--softMax ] [--windowStart ] [--windowDuration ] [--planMax ] [--purchasedCredits ] [--periodCredits ] ``` ### Get a orgLimit by id diff --git a/.agents/skills/cli-public/references/partition.md b/.agents/skills/cli-public/references/partition.md new file mode 100644 index 000000000..98197d1e0 --- /dev/null +++ b/.agents/skills/cli-public/references/partition.md @@ -0,0 +1,68 @@ +# partition + + + +CRUD operations for Partition records via csdk CLI + +## Usage + +```bash +csdk partition list +csdk partition list --where.. --orderBy +csdk partition list --limit 10 --after +csdk partition find-first --where.. +csdk partition get --id +csdk partition create --databaseId --tableId --strategy --partitionKeyId [--interval ] [--retention ] [--lookahead ] [--namingPattern ] +csdk partition update --id [--databaseId ] [--tableId ] [--strategy ] [--partitionKeyId ] [--interval ] [--retention ] [--lookahead ] [--namingPattern ] +csdk partition delete --id +``` + +## Examples + +### List partition records + +```bash +csdk partition list +``` + +### List partition records with pagination + +```bash +csdk partition list --limit 10 --offset 0 +``` + +### List partition records with cursor pagination + +```bash +csdk partition list --limit 10 --after +``` + +### Find first matching partition + +```bash +csdk partition find-first --where.id.equalTo +``` + +### List partition records with field selection + +```bash +csdk partition list --select id,id +``` + +### List partition records with filtering and ordering + +```bash +csdk partition list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a partition + +```bash +csdk partition create --databaseId --tableId --strategy --partitionKeyId [--interval ] [--retention ] [--lookahead ] [--namingPattern ] +``` + +### Get a partition by id + +```bash +csdk partition get --id +``` diff --git a/.agents/skills/cli-public/references/plans-module.md b/.agents/skills/cli-public/references/plans-module.md index 596b5b663..8dcf7b5ec 100644 --- a/.agents/skills/cli-public/references/plans-module.md +++ b/.agents/skills/cli-public/references/plans-module.md @@ -12,8 +12,8 @@ csdk plans-module list --where.. --orderBy csdk plans-module list --limit 10 --after csdk plans-module find-first --where.. csdk plans-module get --id -csdk plans-module create --databaseId [--schemaId ] [--privateSchemaId ] [--plansTableId ] [--plansTableName ] [--planLimitsTableId ] [--planLimitsTableName ] [--applyPlanFunction ] [--applyPlanAggregateFunction ] [--prefix ] -csdk plans-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--plansTableId ] [--plansTableName ] [--planLimitsTableId ] [--planLimitsTableName ] [--applyPlanFunction ] [--applyPlanAggregateFunction ] [--prefix ] +csdk plans-module create --databaseId [--schemaId ] [--privateSchemaId ] [--plansTableId ] [--plansTableName ] [--planLimitsTableId ] [--planLimitsTableName ] [--planPricingTableId ] [--planOverridesTableId ] [--applyPlanFunction ] [--applyPlanAggregateFunction ] [--prefix ] +csdk plans-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--plansTableId ] [--plansTableName ] [--planLimitsTableId ] [--planLimitsTableName ] [--planPricingTableId ] [--planOverridesTableId ] [--applyPlanFunction ] [--applyPlanAggregateFunction ] [--prefix ] csdk plans-module delete --id ``` @@ -58,7 +58,7 @@ csdk plans-module list --where.id.equalTo --orderBy ID_ASC ### Create a plansModule ```bash -csdk plans-module create --databaseId [--schemaId ] [--privateSchemaId ] [--plansTableId ] [--plansTableName ] [--planLimitsTableId ] [--planLimitsTableName ] [--applyPlanFunction ] [--applyPlanAggregateFunction ] [--prefix ] +csdk plans-module create --databaseId [--schemaId ] [--privateSchemaId ] [--plansTableId ] [--plansTableName ] [--planLimitsTableId ] [--planLimitsTableName ] [--planPricingTableId ] [--planOverridesTableId ] [--applyPlanFunction ] [--applyPlanAggregateFunction ] [--prefix ] ``` ### Get a plansModule by id diff --git a/.agents/skills/cli-public/references/pubkey-setting.md b/.agents/skills/cli-public/references/pubkey-setting.md new file mode 100644 index 000000000..24accd69b --- /dev/null +++ b/.agents/skills/cli-public/references/pubkey-setting.md @@ -0,0 +1,68 @@ +# pubkeySetting + + + +CRUD operations for PubkeySetting records via csdk CLI + +## Usage + +```bash +csdk pubkey-setting list +csdk pubkey-setting list --where.. --orderBy +csdk pubkey-setting list --limit 10 --after +csdk pubkey-setting find-first --where.. +csdk pubkey-setting get --id +csdk pubkey-setting create --databaseId [--schemaId ] [--cryptoNetwork ] [--userField ] [--signUpWithKeyFunctionId ] [--signInRequestChallengeFunctionId ] [--signInRecordFailureFunctionId ] [--signInWithChallengeFunctionId ] +csdk pubkey-setting update --id [--databaseId ] [--schemaId ] [--cryptoNetwork ] [--userField ] [--signUpWithKeyFunctionId ] [--signInRequestChallengeFunctionId ] [--signInRecordFailureFunctionId ] [--signInWithChallengeFunctionId ] +csdk pubkey-setting delete --id +``` + +## Examples + +### List pubkeySetting records + +```bash +csdk pubkey-setting list +``` + +### List pubkeySetting records with pagination + +```bash +csdk pubkey-setting list --limit 10 --offset 0 +``` + +### List pubkeySetting records with cursor pagination + +```bash +csdk pubkey-setting list --limit 10 --after +``` + +### Find first matching pubkeySetting + +```bash +csdk pubkey-setting find-first --where.id.equalTo +``` + +### List pubkeySetting records with field selection + +```bash +csdk pubkey-setting list --select id,id +``` + +### List pubkeySetting records with filtering and ordering + +```bash +csdk pubkey-setting list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a pubkeySetting + +```bash +csdk pubkey-setting create --databaseId [--schemaId ] [--cryptoNetwork ] [--userField ] [--signUpWithKeyFunctionId ] [--signInRequestChallengeFunctionId ] [--signInRecordFailureFunctionId ] [--signInWithChallengeFunctionId ] +``` + +### Get a pubkeySetting by id + +```bash +csdk pubkey-setting get --id +``` diff --git a/.agents/skills/cli-public/references/rls-setting.md b/.agents/skills/cli-public/references/rls-setting.md new file mode 100644 index 000000000..ed8992d38 --- /dev/null +++ b/.agents/skills/cli-public/references/rls-setting.md @@ -0,0 +1,68 @@ +# rlsSetting + + + +CRUD operations for RlsSetting records via csdk CLI + +## Usage + +```bash +csdk rls-setting list +csdk rls-setting list --where.. --orderBy +csdk rls-setting list --limit 10 --after +csdk rls-setting find-first --where.. +csdk rls-setting get --id +csdk rls-setting create --databaseId [--authenticateSchemaId ] [--roleSchemaId ] [--authenticateFunctionId ] [--authenticateStrictFunctionId ] [--currentRoleFunctionId ] [--currentRoleIdFunctionId ] [--currentUserAgentFunctionId ] [--currentIpAddressFunctionId ] +csdk rls-setting update --id [--databaseId ] [--authenticateSchemaId ] [--roleSchemaId ] [--authenticateFunctionId ] [--authenticateStrictFunctionId ] [--currentRoleFunctionId ] [--currentRoleIdFunctionId ] [--currentUserAgentFunctionId ] [--currentIpAddressFunctionId ] +csdk rls-setting delete --id +``` + +## Examples + +### List rlsSetting records + +```bash +csdk rls-setting list +``` + +### List rlsSetting records with pagination + +```bash +csdk rls-setting list --limit 10 --offset 0 +``` + +### List rlsSetting records with cursor pagination + +```bash +csdk rls-setting list --limit 10 --after +``` + +### Find first matching rlsSetting + +```bash +csdk rls-setting find-first --where.id.equalTo +``` + +### List rlsSetting records with field selection + +```bash +csdk rls-setting list --select id,id +``` + +### List rlsSetting records with filtering and ordering + +```bash +csdk rls-setting list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a rlsSetting + +```bash +csdk rls-setting create --databaseId [--authenticateSchemaId ] [--roleSchemaId ] [--authenticateFunctionId ] [--authenticateStrictFunctionId ] [--currentRoleFunctionId ] [--currentRoleIdFunctionId ] [--currentUserAgentFunctionId ] [--currentIpAddressFunctionId ] +``` + +### Get a rlsSetting by id + +```bash +csdk rls-setting get --id +``` diff --git a/.agents/skills/cli-public/references/storage-module.md b/.agents/skills/cli-public/references/storage-module.md index e96cfc3d4..37d284d9d 100644 --- a/.agents/skills/cli-public/references/storage-module.md +++ b/.agents/skills/cli-public/references/storage-module.md @@ -12,8 +12,8 @@ csdk storage-module list --where.. --orderBy csdk storage-module list --limit 10 --after csdk storage-module find-first --where.. csdk storage-module get --id -csdk storage-module create --databaseId [--schemaId ] [--privateSchemaId ] [--bucketsTableId ] [--filesTableId ] [--bucketsTableName ] [--filesTableName ] [--membershipType ] [--policies ] [--skipDefaultPolicyTables ] [--entityTableId ] [--endpoint ] [--publicUrlPrefix ] [--provider ] [--allowedOrigins ] [--restrictReads ] [--uploadUrlExpirySeconds ] [--downloadUrlExpirySeconds ] [--defaultMaxFileSize ] [--maxFilenameLength ] [--cacheTtlSeconds ] -csdk storage-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--bucketsTableId ] [--filesTableId ] [--bucketsTableName ] [--filesTableName ] [--membershipType ] [--policies ] [--skipDefaultPolicyTables ] [--entityTableId ] [--endpoint ] [--publicUrlPrefix ] [--provider ] [--allowedOrigins ] [--restrictReads ] [--uploadUrlExpirySeconds ] [--downloadUrlExpirySeconds ] [--defaultMaxFileSize ] [--maxFilenameLength ] [--cacheTtlSeconds ] +csdk storage-module create --databaseId [--schemaId ] [--privateSchemaId ] [--bucketsTableId ] [--filesTableId ] [--bucketsTableName ] [--filesTableName ] [--membershipType ] [--policies ] [--skipDefaultPolicyTables ] [--entityTableId ] [--endpoint ] [--publicUrlPrefix ] [--provider ] [--allowedOrigins ] [--restrictReads ] [--hasPathShares ] [--pathSharesTableId ] [--uploadUrlExpirySeconds ] [--downloadUrlExpirySeconds ] [--defaultMaxFileSize ] [--maxFilenameLength ] [--cacheTtlSeconds ] [--maxBulkFiles ] [--maxBulkTotalSize ] [--hasVersioning ] [--hasContentHash ] [--hasCustomKeys ] [--hasAuditLog ] [--fileEventsTableId ] +csdk storage-module update --id [--databaseId ] [--schemaId ] [--privateSchemaId ] [--bucketsTableId ] [--filesTableId ] [--bucketsTableName ] [--filesTableName ] [--membershipType ] [--policies ] [--skipDefaultPolicyTables ] [--entityTableId ] [--endpoint ] [--publicUrlPrefix ] [--provider ] [--allowedOrigins ] [--restrictReads ] [--hasPathShares ] [--pathSharesTableId ] [--uploadUrlExpirySeconds ] [--downloadUrlExpirySeconds ] [--defaultMaxFileSize ] [--maxFilenameLength ] [--cacheTtlSeconds ] [--maxBulkFiles ] [--maxBulkTotalSize ] [--hasVersioning ] [--hasContentHash ] [--hasCustomKeys ] [--hasAuditLog ] [--fileEventsTableId ] csdk storage-module delete --id ``` @@ -58,7 +58,7 @@ csdk storage-module list --where.id.equalTo --orderBy ID_ASC ### Create a storageModule ```bash -csdk storage-module create --databaseId [--schemaId ] [--privateSchemaId ] [--bucketsTableId ] [--filesTableId ] [--bucketsTableName ] [--filesTableName ] [--membershipType ] [--policies ] [--skipDefaultPolicyTables ] [--entityTableId ] [--endpoint ] [--publicUrlPrefix ] [--provider ] [--allowedOrigins ] [--restrictReads ] [--uploadUrlExpirySeconds ] [--downloadUrlExpirySeconds ] [--defaultMaxFileSize ] [--maxFilenameLength ] [--cacheTtlSeconds ] +csdk storage-module create --databaseId [--schemaId ] [--privateSchemaId ] [--bucketsTableId ] [--filesTableId ] [--bucketsTableName ] [--filesTableName ] [--membershipType ] [--policies ] [--skipDefaultPolicyTables ] [--entityTableId ] [--endpoint ] [--publicUrlPrefix ] [--provider ] [--allowedOrigins ] [--restrictReads ] [--hasPathShares ] [--pathSharesTableId ] [--uploadUrlExpirySeconds ] [--downloadUrlExpirySeconds ] [--defaultMaxFileSize ] [--maxFilenameLength ] [--cacheTtlSeconds ] [--maxBulkFiles ] [--maxBulkTotalSize ] [--hasVersioning ] [--hasContentHash ] [--hasCustomKeys ] [--hasAuditLog ] [--fileEventsTableId ] ``` ### Get a storageModule by id diff --git a/.agents/skills/cli-public/references/webauthn-setting.md b/.agents/skills/cli-public/references/webauthn-setting.md new file mode 100644 index 000000000..eefd5bcd0 --- /dev/null +++ b/.agents/skills/cli-public/references/webauthn-setting.md @@ -0,0 +1,68 @@ +# webauthnSetting + + + +CRUD operations for WebauthnSetting records via csdk CLI + +## Usage + +```bash +csdk webauthn-setting list +csdk webauthn-setting list --where.. --orderBy +csdk webauthn-setting list --limit 10 --after +csdk webauthn-setting find-first --where.. +csdk webauthn-setting get --id +csdk webauthn-setting create --databaseId [--schemaId ] [--credentialsSchemaId ] [--sessionsSchemaId ] [--sessionSecretsSchemaId ] [--credentialsTableId ] [--sessionsTableId ] [--sessionCredentialsTableId ] [--sessionSecretsTableId ] [--userFieldId ] [--rpId ] [--rpName ] [--originAllowlist ] [--attestationType ] [--requireUserVerification ] [--residentKey ] [--challengeExpirySeconds ] +csdk webauthn-setting update --id [--databaseId ] [--schemaId ] [--credentialsSchemaId ] [--sessionsSchemaId ] [--sessionSecretsSchemaId ] [--credentialsTableId ] [--sessionsTableId ] [--sessionCredentialsTableId ] [--sessionSecretsTableId ] [--userFieldId ] [--rpId ] [--rpName ] [--originAllowlist ] [--attestationType ] [--requireUserVerification ] [--residentKey ] [--challengeExpirySeconds ] +csdk webauthn-setting delete --id +``` + +## Examples + +### List webauthnSetting records + +```bash +csdk webauthn-setting list +``` + +### List webauthnSetting records with pagination + +```bash +csdk webauthn-setting list --limit 10 --offset 0 +``` + +### List webauthnSetting records with cursor pagination + +```bash +csdk webauthn-setting list --limit 10 --after +``` + +### Find first matching webauthnSetting + +```bash +csdk webauthn-setting find-first --where.id.equalTo +``` + +### List webauthnSetting records with field selection + +```bash +csdk webauthn-setting list --select id,id +``` + +### List webauthnSetting records with filtering and ordering + +```bash +csdk webauthn-setting list --where.id.equalTo --orderBy ID_ASC +``` + +### Create a webauthnSetting + +```bash +csdk webauthn-setting create --databaseId [--schemaId ] [--credentialsSchemaId ] [--sessionsSchemaId ] [--sessionSecretsSchemaId ] [--credentialsTableId ] [--sessionsTableId ] [--sessionCredentialsTableId ] [--sessionSecretsTableId ] [--userFieldId ] [--rpId ] [--rpName ] [--originAllowlist ] [--attestationType ] [--requireUserVerification ] [--residentKey ] [--challengeExpirySeconds ] +``` + +### Get a webauthnSetting by id + +```bash +csdk webauthn-setting get --id +``` diff --git a/.agents/skills/hooks-admin/SKILL.md b/.agents/skills/hooks-admin/SKILL.md index 1f7f2bd80..c73b169af 100644 --- a/.agents/skills/hooks-admin/SKILL.md +++ b/.agents/skills/hooks-admin/SKILL.md @@ -1,13 +1,13 @@ --- name: hooks-admin -description: React Query hooks for the admin API — provides typed query and mutation hooks for 37 tables and 15 custom operations +description: React Query hooks for the admin API — provides typed query and mutation hooks for 46 tables and 14 custom operations --- # hooks-admin -React Query hooks for the admin API — provides typed query and mutation hooks for 37 tables and 15 custom operations +React Query hooks for the admin API — provides typed query and mutation hooks for 46 tables and 14 custom operations ## Usage @@ -42,18 +42,27 @@ See the `references/` directory for detailed per-entity API documentation: - [app-permission](references/app-permission.md) - [org-permission](references/org-permission.md) - [app-level-requirement](references/app-level-requirement.md) +- [app-limit-credit-redemption](references/app-limit-credit-redemption.md) +- [app-limit-credit-code-item](references/app-limit-credit-code-item.md) +- [app-limit-credit](references/app-limit-credit.md) - [org-member](references/org-member.md) - [app-permission-default](references/app-permission-default.md) +- [app-limit-credit-code](references/app-limit-credit-code.md) - [org-permission-default](references/org-permission-default.md) - [app-admin-grant](references/app-admin-grant.md) - [app-owner-grant](references/app-owner-grant.md) - [app-achievement](references/app-achievement.md) - [app-step](references/app-step.md) +- [app-limit-caps-default](references/app-limit-caps-default.md) +- [org-limit-caps-default](references/org-limit-caps-default.md) +- [app-limit-cap](references/app-limit-cap.md) +- [org-limit-cap](references/org-limit-cap.md) - [org-admin-grant](references/org-admin-grant.md) - [org-owner-grant](references/org-owner-grant.md) - [membership-type](references/membership-type.md) - [app-limit-default](references/app-limit-default.md) - [org-limit-default](references/org-limit-default.md) +- [org-limit-credit](references/org-limit-credit.md) - [org-chart-edge-grant](references/org-chart-edge-grant.md) - [app-claimed-invite](references/app-claimed-invite.md) - [app-grant](references/app-grant.md) @@ -64,13 +73,13 @@ See the `references/` directory for detailed per-entity API documentation: - [org-limit-event](references/org-limit-event.md) - [org-grant](references/org-grant.md) - [org-chart-edge](references/org-chart-edge.md) -- [app-limit](references/app-limit.md) -- [org-limit-aggregate](references/org-limit-aggregate.md) - [org-member-profile](references/org-member-profile.md) -- [org-limit](references/org-limit.md) - [app-level](references/app-level.md) +- [app-limit](references/app-limit.md) - [app-invite](references/app-invite.md) - [org-membership-setting](references/org-membership-setting.md) +- [org-limit-aggregate](references/org-limit-aggregate.md) +- [org-limit](references/org-limit.md) - [org-invite](references/org-invite.md) - [app-membership](references/app-membership.md) - [org-membership](references/org-membership.md) @@ -87,5 +96,4 @@ See the `references/` directory for detailed per-entity API documentation: - [steps-required](references/steps-required.md) - [submit-app-invite-code](references/submit-app-invite-code.md) - [submit-org-invite-code](references/submit-org-invite-code.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/hooks-admin/references/app-limit-cap.md b/.agents/skills/hooks-admin/references/app-limit-cap.md new file mode 100644 index 000000000..b219f8c7a --- /dev/null +++ b/.agents/skills/hooks-admin/references/app-limit-cap.md @@ -0,0 +1,34 @@ +# appLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +useAppLimitCapsQuery({ selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useAppLimitCapQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useCreateAppLimitCapMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCapMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCapMutation({}) +``` + +## Examples + +### List all appLimitCaps + +```typescript +const { data, isLoading } = useAppLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); +``` + +### Create a appLimitCap + +```typescript +const { mutate } = useCreateAppLimitCapMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', entityId: '', max: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/app-limit-caps-default.md b/.agents/skills/hooks-admin/references/app-limit-caps-default.md new file mode 100644 index 000000000..6804054bd --- /dev/null +++ b/.agents/skills/hooks-admin/references/app-limit-caps-default.md @@ -0,0 +1,34 @@ +# appLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +useAppLimitCapsDefaultsQuery({ selection: { fields: { id: true, name: true, max: true } } }) +useAppLimitCapsDefaultQuery({ id: '', selection: { fields: { id: true, name: true, max: true } } }) +useCreateAppLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCapsDefaultMutation({}) +``` + +## Examples + +### List all appLimitCapsDefaults + +```typescript +const { data, isLoading } = useAppLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); +``` + +### Create a appLimitCapsDefault + +```typescript +const { mutate } = useCreateAppLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', max: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/app-limit-credit-code-item.md b/.agents/skills/hooks-admin/references/app-limit-credit-code-item.md new file mode 100644 index 000000000..c65b5e90e --- /dev/null +++ b/.agents/skills/hooks-admin/references/app-limit-credit-code-item.md @@ -0,0 +1,34 @@ +# appLimitCreditCodeItem + + + +Items within a credit code — each row grants credits for a specific limit definition + +## Usage + +```typescript +useAppLimitCreditCodeItemsQuery({ selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } } }) +useAppLimitCreditCodeItemQuery({ id: '', selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } } }) +useCreateAppLimitCreditCodeItemMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditCodeItemMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditCodeItemMutation({}) +``` + +## Examples + +### List all appLimitCreditCodeItems + +```typescript +const { data, isLoading } = useAppLimitCreditCodeItemsQuery({ + selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }, +}); +``` + +### Create a appLimitCreditCodeItem + +```typescript +const { mutate } = useCreateAppLimitCreditCodeItemMutation({ + selection: { fields: { id: true } }, +}); +mutate({ creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/app-limit-credit-code.md b/.agents/skills/hooks-admin/references/app-limit-credit-code.md new file mode 100644 index 000000000..e2102ea5c --- /dev/null +++ b/.agents/skills/hooks-admin/references/app-limit-credit-code.md @@ -0,0 +1,34 @@ +# appLimitCreditCode + + + +Redeemable credit codes managed by admins with the add_credits permission + +## Usage + +```typescript +useAppLimitCreditCodesQuery({ selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } } }) +useAppLimitCreditCodeQuery({ id: '', selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } } }) +useCreateAppLimitCreditCodeMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditCodeMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditCodeMutation({}) +``` + +## Examples + +### List all appLimitCreditCodes + +```typescript +const { data, isLoading } = useAppLimitCreditCodesQuery({ + selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }, +}); +``` + +### Create a appLimitCreditCode + +```typescript +const { mutate } = useCreateAppLimitCreditCodeMutation({ + selection: { fields: { id: true } }, +}); +mutate({ code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/app-limit-credit-redemption.md b/.agents/skills/hooks-admin/references/app-limit-credit-redemption.md new file mode 100644 index 000000000..5c80ecedd --- /dev/null +++ b/.agents/skills/hooks-admin/references/app-limit-credit-redemption.md @@ -0,0 +1,34 @@ +# appLimitCreditRedemption + + + +Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + +## Usage + +```typescript +useAppLimitCreditRedemptionsQuery({ selection: { fields: { id: true, creditCodeId: true, entityId: true } } }) +useAppLimitCreditRedemptionQuery({ id: '', selection: { fields: { id: true, creditCodeId: true, entityId: true } } }) +useCreateAppLimitCreditRedemptionMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditRedemptionMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditRedemptionMutation({}) +``` + +## Examples + +### List all appLimitCreditRedemptions + +```typescript +const { data, isLoading } = useAppLimitCreditRedemptionsQuery({ + selection: { fields: { id: true, creditCodeId: true, entityId: true } }, +}); +``` + +### Create a appLimitCreditRedemption + +```typescript +const { mutate } = useCreateAppLimitCreditRedemptionMutation({ + selection: { fields: { id: true } }, +}); +mutate({ creditCodeId: '', entityId: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/app-limit-credit.md b/.agents/skills/hooks-admin/references/app-limit-credit.md new file mode 100644 index 000000000..d37eb3fc3 --- /dev/null +++ b/.agents/skills/hooks-admin/references/app-limit-credit.md @@ -0,0 +1,34 @@ +# appLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +useAppLimitCreditsQuery({ selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } } }) +useAppLimitCreditQuery({ id: '', selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } } }) +useCreateAppLimitCreditMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditMutation({}) +``` + +## Examples + +### List all appLimitCredits + +```typescript +const { data, isLoading } = useAppLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }, +}); +``` + +### Create a appLimitCredit + +```typescript +const { mutate } = useCreateAppLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +mutate({ defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/app-limit.md b/.agents/skills/hooks-admin/references/app-limit.md index b3daa144e..391b0d1b9 100644 --- a/.agents/skills/hooks-admin/references/app-limit.md +++ b/.agents/skills/hooks-admin/references/app-limit.md @@ -7,8 +7,8 @@ Tracks per-actor usage counts against configurable maximum limits ## Usage ```typescript -useAppLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) -useAppLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) +useAppLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } } }) +useAppLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } } }) useCreateAppLimitMutation({ selection: { fields: { id: true } } }) useUpdateAppLimitMutation({ selection: { fields: { id: true } } }) useDeleteAppLimitMutation({}) @@ -20,7 +20,7 @@ useDeleteAppLimitMutation({}) ```typescript const { data, isLoading } = useAppLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useAppLimitsQuery({ const { mutate } = useCreateAppLimitMutation({ selection: { fields: { id: true } }, }); -mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); +mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }); ``` diff --git a/.agents/skills/hooks-admin/references/org-limit-aggregate.md b/.agents/skills/hooks-admin/references/org-limit-aggregate.md index af128ef10..8758f1304 100644 --- a/.agents/skills/hooks-admin/references/org-limit-aggregate.md +++ b/.agents/skills/hooks-admin/references/org-limit-aggregate.md @@ -7,8 +7,8 @@ Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown ## Usage ```typescript -useOrgLimitAggregatesQuery({ selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) -useOrgLimitAggregateQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) +useOrgLimitAggregatesQuery({ selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } } }) +useOrgLimitAggregateQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } } }) useCreateOrgLimitAggregateMutation({ selection: { fields: { id: true } } }) useUpdateOrgLimitAggregateMutation({ selection: { fields: { id: true } } }) useDeleteOrgLimitAggregateMutation({}) @@ -20,7 +20,7 @@ useDeleteOrgLimitAggregateMutation({}) ```typescript const { data, isLoading } = useOrgLimitAggregatesQuery({ - selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useOrgLimitAggregatesQuery({ const { mutate } = useCreateOrgLimitAggregateMutation({ selection: { fields: { id: true } }, }); -mutate({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); +mutate({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }); ``` diff --git a/.agents/skills/hooks-admin/references/org-limit-cap.md b/.agents/skills/hooks-admin/references/org-limit-cap.md new file mode 100644 index 000000000..8ab258d56 --- /dev/null +++ b/.agents/skills/hooks-admin/references/org-limit-cap.md @@ -0,0 +1,34 @@ +# orgLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +useOrgLimitCapsQuery({ selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useOrgLimitCapQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useCreateOrgLimitCapMutation({ selection: { fields: { id: true } } }) +useUpdateOrgLimitCapMutation({ selection: { fields: { id: true } } }) +useDeleteOrgLimitCapMutation({}) +``` + +## Examples + +### List all orgLimitCaps + +```typescript +const { data, isLoading } = useOrgLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); +``` + +### Create a orgLimitCap + +```typescript +const { mutate } = useCreateOrgLimitCapMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', entityId: '', max: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/org-limit-caps-default.md b/.agents/skills/hooks-admin/references/org-limit-caps-default.md new file mode 100644 index 000000000..7c0a14b6d --- /dev/null +++ b/.agents/skills/hooks-admin/references/org-limit-caps-default.md @@ -0,0 +1,34 @@ +# orgLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +useOrgLimitCapsDefaultsQuery({ selection: { fields: { id: true, name: true, max: true } } }) +useOrgLimitCapsDefaultQuery({ id: '', selection: { fields: { id: true, name: true, max: true } } }) +useCreateOrgLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useUpdateOrgLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useDeleteOrgLimitCapsDefaultMutation({}) +``` + +## Examples + +### List all orgLimitCapsDefaults + +```typescript +const { data, isLoading } = useOrgLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); +``` + +### Create a orgLimitCapsDefault + +```typescript +const { mutate } = useCreateOrgLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', max: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/org-limit-credit.md b/.agents/skills/hooks-admin/references/org-limit-credit.md new file mode 100644 index 000000000..a23f6f2c4 --- /dev/null +++ b/.agents/skills/hooks-admin/references/org-limit-credit.md @@ -0,0 +1,34 @@ +# orgLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +useOrgLimitCreditsQuery({ selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } } }) +useOrgLimitCreditQuery({ id: '', selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } } }) +useCreateOrgLimitCreditMutation({ selection: { fields: { id: true } } }) +useUpdateOrgLimitCreditMutation({ selection: { fields: { id: true } } }) +useDeleteOrgLimitCreditMutation({}) +``` + +## Examples + +### List all orgLimitCredits + +```typescript +const { data, isLoading } = useOrgLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }, +}); +``` + +### Create a orgLimitCredit + +```typescript +const { mutate } = useCreateOrgLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +mutate({ defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }); +``` diff --git a/.agents/skills/hooks-admin/references/org-limit.md b/.agents/skills/hooks-admin/references/org-limit.md index 14120bec0..7731706f7 100644 --- a/.agents/skills/hooks-admin/references/org-limit.md +++ b/.agents/skills/hooks-admin/references/org-limit.md @@ -7,8 +7,8 @@ Tracks per-actor usage counts against configurable maximum limits ## Usage ```typescript -useOrgLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } } }) -useOrgLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } } }) +useOrgLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } } }) +useOrgLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } } }) useCreateOrgLimitMutation({ selection: { fields: { id: true } } }) useUpdateOrgLimitMutation({ selection: { fields: { id: true } } }) useDeleteOrgLimitMutation({}) @@ -20,7 +20,7 @@ useDeleteOrgLimitMutation({}) ```typescript const { data, isLoading } = useOrgLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useOrgLimitsQuery({ const { mutate } = useCreateOrgLimitMutation({ selection: { fields: { id: true } }, }); -mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }); +mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }); ``` diff --git a/.agents/skills/hooks-auth/SKILL.md b/.agents/skills/hooks-auth/SKILL.md index 8d96cc367..bbc05ca41 100644 --- a/.agents/skills/hooks-auth/SKILL.md +++ b/.agents/skills/hooks-auth/SKILL.md @@ -1,13 +1,13 @@ --- name: hooks-auth -description: React Query hooks for the auth API — provides typed query and mutation hooks for 9 tables and 28 custom operations +description: React Query hooks for the auth API — provides typed query and mutation hooks for 9 tables and 27 custom operations --- # hooks-auth -React Query hooks for the auth API — provides typed query and mutation hooks for 9 tables and 28 custom operations +React Query hooks for the auth API — provides typed query and mutation hooks for 9 tables and 27 custom operations ## Usage @@ -72,5 +72,4 @@ See the `references/` directory for detailed per-entity API documentation: - [create-api-key](references/create-api-key.md) - [forgot-password](references/forgot-password.md) - [send-verification-email](references/send-verification-email.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/hooks-objects/SKILL.md b/.agents/skills/hooks-objects/SKILL.md index bd44b5707..b948cfcf5 100644 --- a/.agents/skills/hooks-objects/SKILL.md +++ b/.agents/skills/hooks-objects/SKILL.md @@ -1,13 +1,13 @@ --- name: hooks-objects -description: React Query hooks for the objects API — provides typed query and mutation hooks for 5 tables and 14 custom operations +description: React Query hooks for the objects API — provides typed query and mutation hooks for 5 tables and 13 custom operations --- # hooks-objects -React Query hooks for the objects API — provides typed query and mutation hooks for 5 tables and 14 custom operations +React Query hooks for the objects API — provides typed query and mutation hooks for 5 tables and 13 custom operations ## Usage @@ -54,5 +54,4 @@ See the `references/` directory for detailed per-entity API documentation: - [insert-node-at-path](references/insert-node-at-path.md) - [update-node-at-path](references/update-node-at-path.md) - [set-and-commit](references/set-and-commit.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/hooks-public/SKILL.md b/.agents/skills/hooks-public/SKILL.md index a1a2555bd..a2ff5fca6 100644 --- a/.agents/skills/hooks-public/SKILL.md +++ b/.agents/skills/hooks-public/SKILL.md @@ -1,13 +1,13 @@ --- name: hooks-public -description: React Query hooks for the public API — provides typed query and mutation hooks for 129 tables and 71 custom operations +description: React Query hooks for the public API — provides typed query and mutation hooks for 147 tables and 71 custom operations --- # hooks-public -React Query hooks for the public API — provides typed query and mutation hooks for 129 tables and 71 custom operations +React Query hooks for the public API — provides typed query and mutation hooks for 147 tables and 71 custom operations ## Usage @@ -50,6 +50,7 @@ See the `references/` directory for detailed per-entity API documentation: - [check-constraint](references/check-constraint.md) - [field](references/field.md) - [spatial-relation](references/spatial-relation.md) +- [partition](references/partition.md) - [foreign-key-constraint](references/foreign-key-constraint.md) - [full-text-search](references/full-text-search.md) - [index](references/index.md) @@ -70,17 +71,20 @@ See the `references/` directory for detailed per-entity API documentation: - [schema-grant](references/schema-grant.md) - [default-privilege](references/default-privilege.md) - [enum](references/enum.md) +- [function](references/function.md) - [api-schema](references/api-schema.md) - [api-module](references/api-module.md) - [domain](references/domain.md) - [site-metadatum](references/site-metadatum.md) - [site-module](references/site-module.md) - [site-theme](references/site-theme.md) +- [cors-setting](references/cors-setting.md) - [trigger-function](references/trigger-function.md) - [database-transfer](references/database-transfer.md) - [api](references/api.md) - [site](references/site.md) - [app](references/app.md) +- [api-setting](references/api-setting.md) - [connected-accounts-module](references/connected-accounts-module.md) - [crypto-addresses-module](references/crypto-addresses-module.md) - [crypto-auth-module](references/crypto-auth-module.md) @@ -122,7 +126,11 @@ See the `references/` directory for detailed per-entity API documentation: - [org-chart-edge-grant](references/org-chart-edge-grant.md) - [org-permission-default](references/org-permission-default.md) - [app-limit](references/app-limit.md) +- [app-limit-credit](references/app-limit-credit.md) +- [app-limit-credit-code-item](references/app-limit-credit-code-item.md) +- [app-limit-credit-redemption](references/app-limit-credit-redemption.md) - [org-limit](references/org-limit.md) +- [org-limit-credit](references/org-limit-credit.md) - [org-limit-aggregate](references/org-limit-aggregate.md) - [app-step](references/app-step.md) - [app-achievement](references/app-achievement.md) @@ -144,6 +152,11 @@ See the `references/` directory for detailed per-entity API documentation: - [ref](references/ref.md) - [store](references/store.md) - [app-permission-default](references/app-permission-default.md) +- [app-limit-credit-code](references/app-limit-credit-code.md) +- [app-limit-caps-default](references/app-limit-caps-default.md) +- [org-limit-caps-default](references/org-limit-caps-default.md) +- [app-limit-cap](references/app-limit-cap.md) +- [org-limit-cap](references/org-limit-cap.md) - [membership-type](references/membership-type.md) - [migrate-file](references/migrate-file.md) - [devices-module](references/devices-module.md) @@ -152,19 +165,24 @@ See the `references/` directory for detailed per-entity API documentation: - [org-limit-default](references/org-limit-default.md) - [user-connected-account](references/user-connected-account.md) - [commit](references/commit.md) +- [pubkey-setting](references/pubkey-setting.md) - [rate-limits-module](references/rate-limits-module.md) - [app-membership-default](references/app-membership-default.md) - [org-membership-default](references/org-membership-default.md) +- [rls-setting](references/rls-setting.md) - [app-limit-event](references/app-limit-event.md) - [org-limit-event](references/org-limit-event.md) -- [plans-module](references/plans-module.md) - [rls-module](references/rls-module.md) +- [database-setting](references/database-setting.md) +- [plans-module](references/plans-module.md) - [sql-action](references/sql-action.md) - [billing-module](references/billing-module.md) - [ast-migration](references/ast-migration.md) - [user](references/user.md) - [org-membership-setting](references/org-membership-setting.md) +- [webauthn-setting](references/webauthn-setting.md) - [app-membership](references/app-membership.md) +- [billing-provider-module](references/billing-provider-module.md) - [hierarchy-module](references/hierarchy-module.md) - [current-user-id](references/current-user-id.md) - [current-user-agent](references/current-user-agent.md) @@ -214,6 +232,7 @@ See the `references/` directory for detailed per-entity API documentation: - [provision-spatial-relation](references/provision-spatial-relation.md) - [bootstrap-user](references/bootstrap-user.md) - [set-field-order](references/set-field-order.md) +- [append-smart-tags](references/append-smart-tags.md) - [provision-unique-constraint](references/provision-unique-constraint.md) - [provision-full-text-search](references/provision-full-text-search.md) - [provision-index](references/provision-index.md) @@ -235,5 +254,4 @@ See the `references/` directory for detailed per-entity API documentation: - [request-cross-origin-token](references/request-cross-origin-token.md) - [sign-in](references/sign-in.md) - [provision-table](references/provision-table.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/hooks-public/references/api-setting.md b/.agents/skills/hooks-public/references/api-setting.md new file mode 100644 index 000000000..b9fde14ad --- /dev/null +++ b/.agents/skills/hooks-public/references/api-setting.md @@ -0,0 +1,34 @@ +# apiSetting + + + +Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + +## Usage + +```typescript +useApiSettingsQuery({ selection: { fields: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } } }) +useApiSettingQuery({ id: '', selection: { fields: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } } }) +useCreateApiSettingMutation({ selection: { fields: { id: true } } }) +useUpdateApiSettingMutation({ selection: { fields: { id: true } } }) +useDeleteApiSettingMutation({}) +``` + +## Examples + +### List all apiSettings + +```typescript +const { data, isLoading } = useApiSettingsQuery({ + selection: { fields: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }, +}); +``` + +### Create a apiSetting + +```typescript +const { mutate } = useCreateApiSettingMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit-cap.md b/.agents/skills/hooks-public/references/app-limit-cap.md new file mode 100644 index 000000000..b219f8c7a --- /dev/null +++ b/.agents/skills/hooks-public/references/app-limit-cap.md @@ -0,0 +1,34 @@ +# appLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +useAppLimitCapsQuery({ selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useAppLimitCapQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useCreateAppLimitCapMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCapMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCapMutation({}) +``` + +## Examples + +### List all appLimitCaps + +```typescript +const { data, isLoading } = useAppLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); +``` + +### Create a appLimitCap + +```typescript +const { mutate } = useCreateAppLimitCapMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', entityId: '', max: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit-caps-default.md b/.agents/skills/hooks-public/references/app-limit-caps-default.md new file mode 100644 index 000000000..6804054bd --- /dev/null +++ b/.agents/skills/hooks-public/references/app-limit-caps-default.md @@ -0,0 +1,34 @@ +# appLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +useAppLimitCapsDefaultsQuery({ selection: { fields: { id: true, name: true, max: true } } }) +useAppLimitCapsDefaultQuery({ id: '', selection: { fields: { id: true, name: true, max: true } } }) +useCreateAppLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCapsDefaultMutation({}) +``` + +## Examples + +### List all appLimitCapsDefaults + +```typescript +const { data, isLoading } = useAppLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); +``` + +### Create a appLimitCapsDefault + +```typescript +const { mutate } = useCreateAppLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', max: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit-credit-code-item.md b/.agents/skills/hooks-public/references/app-limit-credit-code-item.md new file mode 100644 index 000000000..c65b5e90e --- /dev/null +++ b/.agents/skills/hooks-public/references/app-limit-credit-code-item.md @@ -0,0 +1,34 @@ +# appLimitCreditCodeItem + + + +Items within a credit code — each row grants credits for a specific limit definition + +## Usage + +```typescript +useAppLimitCreditCodeItemsQuery({ selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } } }) +useAppLimitCreditCodeItemQuery({ id: '', selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } } }) +useCreateAppLimitCreditCodeItemMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditCodeItemMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditCodeItemMutation({}) +``` + +## Examples + +### List all appLimitCreditCodeItems + +```typescript +const { data, isLoading } = useAppLimitCreditCodeItemsQuery({ + selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }, +}); +``` + +### Create a appLimitCreditCodeItem + +```typescript +const { mutate } = useCreateAppLimitCreditCodeItemMutation({ + selection: { fields: { id: true } }, +}); +mutate({ creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit-credit-code.md b/.agents/skills/hooks-public/references/app-limit-credit-code.md new file mode 100644 index 000000000..e2102ea5c --- /dev/null +++ b/.agents/skills/hooks-public/references/app-limit-credit-code.md @@ -0,0 +1,34 @@ +# appLimitCreditCode + + + +Redeemable credit codes managed by admins with the add_credits permission + +## Usage + +```typescript +useAppLimitCreditCodesQuery({ selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } } }) +useAppLimitCreditCodeQuery({ id: '', selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } } }) +useCreateAppLimitCreditCodeMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditCodeMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditCodeMutation({}) +``` + +## Examples + +### List all appLimitCreditCodes + +```typescript +const { data, isLoading } = useAppLimitCreditCodesQuery({ + selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }, +}); +``` + +### Create a appLimitCreditCode + +```typescript +const { mutate } = useCreateAppLimitCreditCodeMutation({ + selection: { fields: { id: true } }, +}); +mutate({ code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit-credit-redemption.md b/.agents/skills/hooks-public/references/app-limit-credit-redemption.md new file mode 100644 index 000000000..5c80ecedd --- /dev/null +++ b/.agents/skills/hooks-public/references/app-limit-credit-redemption.md @@ -0,0 +1,34 @@ +# appLimitCreditRedemption + + + +Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + +## Usage + +```typescript +useAppLimitCreditRedemptionsQuery({ selection: { fields: { id: true, creditCodeId: true, entityId: true } } }) +useAppLimitCreditRedemptionQuery({ id: '', selection: { fields: { id: true, creditCodeId: true, entityId: true } } }) +useCreateAppLimitCreditRedemptionMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditRedemptionMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditRedemptionMutation({}) +``` + +## Examples + +### List all appLimitCreditRedemptions + +```typescript +const { data, isLoading } = useAppLimitCreditRedemptionsQuery({ + selection: { fields: { id: true, creditCodeId: true, entityId: true } }, +}); +``` + +### Create a appLimitCreditRedemption + +```typescript +const { mutate } = useCreateAppLimitCreditRedemptionMutation({ + selection: { fields: { id: true } }, +}); +mutate({ creditCodeId: '', entityId: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit-credit.md b/.agents/skills/hooks-public/references/app-limit-credit.md new file mode 100644 index 000000000..d37eb3fc3 --- /dev/null +++ b/.agents/skills/hooks-public/references/app-limit-credit.md @@ -0,0 +1,34 @@ +# appLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +useAppLimitCreditsQuery({ selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } } }) +useAppLimitCreditQuery({ id: '', selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } } }) +useCreateAppLimitCreditMutation({ selection: { fields: { id: true } } }) +useUpdateAppLimitCreditMutation({ selection: { fields: { id: true } } }) +useDeleteAppLimitCreditMutation({}) +``` + +## Examples + +### List all appLimitCredits + +```typescript +const { data, isLoading } = useAppLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }, +}); +``` + +### Create a appLimitCredit + +```typescript +const { mutate } = useCreateAppLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +mutate({ defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }); +``` diff --git a/.agents/skills/hooks-public/references/app-limit.md b/.agents/skills/hooks-public/references/app-limit.md index b3daa144e..391b0d1b9 100644 --- a/.agents/skills/hooks-public/references/app-limit.md +++ b/.agents/skills/hooks-public/references/app-limit.md @@ -7,8 +7,8 @@ Tracks per-actor usage counts against configurable maximum limits ## Usage ```typescript -useAppLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) -useAppLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) +useAppLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } } }) +useAppLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } } }) useCreateAppLimitMutation({ selection: { fields: { id: true } } }) useUpdateAppLimitMutation({ selection: { fields: { id: true } } }) useDeleteAppLimitMutation({}) @@ -20,7 +20,7 @@ useDeleteAppLimitMutation({}) ```typescript const { data, isLoading } = useAppLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useAppLimitsQuery({ const { mutate } = useCreateAppLimitMutation({ selection: { fields: { id: true } }, }); -mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); +mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }); ``` diff --git a/.agents/skills/hooks-public/references/append-smart-tags.md b/.agents/skills/hooks-public/references/append-smart-tags.md new file mode 100644 index 000000000..61816b1a8 --- /dev/null +++ b/.agents/skills/hooks-public/references/append-smart-tags.md @@ -0,0 +1,20 @@ +# appendSmartTags + + + +React Query mutation hook for appendSmartTags + +## Usage + +```typescript +const { mutate } = useAppendSmartTagsMutation(); mutate({ input: { pTableId: '', pTags: '' } }); +``` + +## Examples + +### Use useAppendSmartTagsMutation + +```typescript +const { mutate, isLoading } = useAppendSmartTagsMutation(); +mutate({ input: { pTableId: '', pTags: '' } }); +``` diff --git a/.agents/skills/hooks-public/references/billing-provider-module.md b/.agents/skills/hooks-public/references/billing-provider-module.md new file mode 100644 index 000000000..b83384cb7 --- /dev/null +++ b/.agents/skills/hooks-public/references/billing-provider-module.md @@ -0,0 +1,34 @@ +# billingProviderModule + + + +React Query hooks for BillingProviderModule data operations + +## Usage + +```typescript +useBillingProviderModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } } }) +useBillingProviderModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } } }) +useCreateBillingProviderModuleMutation({ selection: { fields: { id: true } } }) +useUpdateBillingProviderModuleMutation({ selection: { fields: { id: true } } }) +useDeleteBillingProviderModuleMutation({}) +``` + +## Examples + +### List all billingProviderModules + +```typescript +const { data, isLoading } = useBillingProviderModulesQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }, +}); +``` + +### Create a billingProviderModule + +```typescript +const { mutate } = useCreateBillingProviderModuleMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }); +``` diff --git a/.agents/skills/hooks-public/references/cors-setting.md b/.agents/skills/hooks-public/references/cors-setting.md new file mode 100644 index 000000000..fb9c468fd --- /dev/null +++ b/.agents/skills/hooks-public/references/cors-setting.md @@ -0,0 +1,34 @@ +# corsSetting + + + +Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + +## Usage + +```typescript +useCorsSettingsQuery({ selection: { fields: { id: true, databaseId: true, apiId: true, allowedOrigins: true } } }) +useCorsSettingQuery({ id: '', selection: { fields: { id: true, databaseId: true, apiId: true, allowedOrigins: true } } }) +useCreateCorsSettingMutation({ selection: { fields: { id: true } } }) +useUpdateCorsSettingMutation({ selection: { fields: { id: true } } }) +useDeleteCorsSettingMutation({}) +``` + +## Examples + +### List all corsSettings + +```typescript +const { data, isLoading } = useCorsSettingsQuery({ + selection: { fields: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }, +}); +``` + +### Create a corsSetting + +```typescript +const { mutate } = useCreateCorsSettingMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', apiId: '', allowedOrigins: '' }); +``` diff --git a/.agents/skills/hooks-public/references/database-setting.md b/.agents/skills/hooks-public/references/database-setting.md new file mode 100644 index 000000000..2882b26ef --- /dev/null +++ b/.agents/skills/hooks-public/references/database-setting.md @@ -0,0 +1,34 @@ +# databaseSetting + + + +Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + +## Usage + +```typescript +useDatabaseSettingsQuery({ selection: { fields: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } } }) +useDatabaseSettingQuery({ id: '', selection: { fields: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } } }) +useCreateDatabaseSettingMutation({ selection: { fields: { id: true } } }) +useUpdateDatabaseSettingMutation({ selection: { fields: { id: true } } }) +useDeleteDatabaseSettingMutation({}) +``` + +## Examples + +### List all databaseSettings + +```typescript +const { data, isLoading } = useDatabaseSettingsQuery({ + selection: { fields: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }, +}); +``` + +### Create a databaseSetting + +```typescript +const { mutate } = useCreateDatabaseSettingMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }); +``` diff --git a/.agents/skills/hooks-public/references/entity-type-provision.md b/.agents/skills/hooks-public/references/entity-type-provision.md index 453ee4650..b9d69a3e8 100644 --- a/.agents/skills/hooks-public/references/entity-type-provision.md +++ b/.agents/skills/hooks-public/references/entity-type-provision.md @@ -14,8 +14,8 @@ Provisions a new membership entity type. Each INSERT creates an entity table, re ## Usage ```typescript -useEntityTypeProvisionsQuery({ selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } } }) -useEntityTypeProvisionQuery({ id: '', selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } } }) +useEntityTypeProvisionsQuery({ selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } } }) +useEntityTypeProvisionQuery({ id: '', selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } } }) useCreateEntityTypeProvisionMutation({ selection: { fields: { id: true } } }) useUpdateEntityTypeProvisionMutation({ selection: { fields: { id: true } } }) useDeleteEntityTypeProvisionMutation({}) @@ -27,7 +27,7 @@ useDeleteEntityTypeProvisionMutation({}) ```typescript const { data, isLoading } = useEntityTypeProvisionsQuery({ - selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }, + selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }, }); ``` @@ -37,5 +37,5 @@ const { data, isLoading } = useEntityTypeProvisionsQuery({ const { mutate } = useCreateEntityTypeProvisionMutation({ selection: { fields: { id: true } }, }); -mutate({ databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }); +mutate({ databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }); ``` diff --git a/.agents/skills/hooks-public/references/function.md b/.agents/skills/hooks-public/references/function.md new file mode 100644 index 000000000..b30eb3f5c --- /dev/null +++ b/.agents/skills/hooks-public/references/function.md @@ -0,0 +1,34 @@ +# function + + + +React Query hooks for Function data operations + +## Usage + +```typescript +useFunctionsQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, name: true } } }) +useFunctionQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, name: true } } }) +useCreateFunctionMutation({ selection: { fields: { id: true } } }) +useUpdateFunctionMutation({ selection: { fields: { id: true } } }) +useDeleteFunctionMutation({}) +``` + +## Examples + +### List all functions + +```typescript +const { data, isLoading } = useFunctionsQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, name: true } }, +}); +``` + +### Create a function + +```typescript +const { mutate } = useCreateFunctionMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', schemaId: '', name: '' }); +``` diff --git a/.agents/skills/hooks-public/references/limits-module.md b/.agents/skills/hooks-public/references/limits-module.md index fb2be2b67..74fa826e0 100644 --- a/.agents/skills/hooks-public/references/limits-module.md +++ b/.agents/skills/hooks-public/references/limits-module.md @@ -7,8 +7,8 @@ React Query hooks for LimitsModule data operations ## Usage ```typescript -useLimitsModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } } }) -useLimitsModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } } }) +useLimitsModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } } }) +useLimitsModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } } }) useCreateLimitsModuleMutation({ selection: { fields: { id: true } } }) useUpdateLimitsModuleMutation({ selection: { fields: { id: true } } }) useDeleteLimitsModuleMutation({}) @@ -20,7 +20,7 @@ useDeleteLimitsModuleMutation({}) ```typescript const { data, isLoading } = useLimitsModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useLimitsModulesQuery({ const { mutate } = useCreateLimitsModuleMutation({ selection: { fields: { id: true } }, }); -mutate({ databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }); +mutate({ databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }); ``` diff --git a/.agents/skills/hooks-public/references/org-limit-aggregate.md b/.agents/skills/hooks-public/references/org-limit-aggregate.md index af128ef10..8758f1304 100644 --- a/.agents/skills/hooks-public/references/org-limit-aggregate.md +++ b/.agents/skills/hooks-public/references/org-limit-aggregate.md @@ -7,8 +7,8 @@ Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown ## Usage ```typescript -useOrgLimitAggregatesQuery({ selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) -useOrgLimitAggregateQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } } }) +useOrgLimitAggregatesQuery({ selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } } }) +useOrgLimitAggregateQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } } }) useCreateOrgLimitAggregateMutation({ selection: { fields: { id: true } } }) useUpdateOrgLimitAggregateMutation({ selection: { fields: { id: true } } }) useDeleteOrgLimitAggregateMutation({}) @@ -20,7 +20,7 @@ useDeleteOrgLimitAggregateMutation({}) ```typescript const { data, isLoading } = useOrgLimitAggregatesQuery({ - selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useOrgLimitAggregatesQuery({ const { mutate } = useCreateOrgLimitAggregateMutation({ selection: { fields: { id: true } }, }); -mutate({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); +mutate({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }); ``` diff --git a/.agents/skills/hooks-public/references/org-limit-cap.md b/.agents/skills/hooks-public/references/org-limit-cap.md new file mode 100644 index 000000000..8ab258d56 --- /dev/null +++ b/.agents/skills/hooks-public/references/org-limit-cap.md @@ -0,0 +1,34 @@ +# orgLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +useOrgLimitCapsQuery({ selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useOrgLimitCapQuery({ id: '', selection: { fields: { id: true, name: true, entityId: true, max: true } } }) +useCreateOrgLimitCapMutation({ selection: { fields: { id: true } } }) +useUpdateOrgLimitCapMutation({ selection: { fields: { id: true } } }) +useDeleteOrgLimitCapMutation({}) +``` + +## Examples + +### List all orgLimitCaps + +```typescript +const { data, isLoading } = useOrgLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); +``` + +### Create a orgLimitCap + +```typescript +const { mutate } = useCreateOrgLimitCapMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', entityId: '', max: '' }); +``` diff --git a/.agents/skills/hooks-public/references/org-limit-caps-default.md b/.agents/skills/hooks-public/references/org-limit-caps-default.md new file mode 100644 index 000000000..7c0a14b6d --- /dev/null +++ b/.agents/skills/hooks-public/references/org-limit-caps-default.md @@ -0,0 +1,34 @@ +# orgLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +useOrgLimitCapsDefaultsQuery({ selection: { fields: { id: true, name: true, max: true } } }) +useOrgLimitCapsDefaultQuery({ id: '', selection: { fields: { id: true, name: true, max: true } } }) +useCreateOrgLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useUpdateOrgLimitCapsDefaultMutation({ selection: { fields: { id: true } } }) +useDeleteOrgLimitCapsDefaultMutation({}) +``` + +## Examples + +### List all orgLimitCapsDefaults + +```typescript +const { data, isLoading } = useOrgLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); +``` + +### Create a orgLimitCapsDefault + +```typescript +const { mutate } = useCreateOrgLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +mutate({ name: '', max: '' }); +``` diff --git a/.agents/skills/hooks-public/references/org-limit-credit.md b/.agents/skills/hooks-public/references/org-limit-credit.md new file mode 100644 index 000000000..a23f6f2c4 --- /dev/null +++ b/.agents/skills/hooks-public/references/org-limit-credit.md @@ -0,0 +1,34 @@ +# orgLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +useOrgLimitCreditsQuery({ selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } } }) +useOrgLimitCreditQuery({ id: '', selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } } }) +useCreateOrgLimitCreditMutation({ selection: { fields: { id: true } } }) +useUpdateOrgLimitCreditMutation({ selection: { fields: { id: true } } }) +useDeleteOrgLimitCreditMutation({}) +``` + +## Examples + +### List all orgLimitCredits + +```typescript +const { data, isLoading } = useOrgLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }, +}); +``` + +### Create a orgLimitCredit + +```typescript +const { mutate } = useCreateOrgLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +mutate({ defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }); +``` diff --git a/.agents/skills/hooks-public/references/org-limit.md b/.agents/skills/hooks-public/references/org-limit.md index 14120bec0..7731706f7 100644 --- a/.agents/skills/hooks-public/references/org-limit.md +++ b/.agents/skills/hooks-public/references/org-limit.md @@ -7,8 +7,8 @@ Tracks per-actor usage counts against configurable maximum limits ## Usage ```typescript -useOrgLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } } }) -useOrgLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } } }) +useOrgLimitsQuery({ selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } } }) +useOrgLimitQuery({ id: '', selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } } }) useCreateOrgLimitMutation({ selection: { fields: { id: true } } }) useUpdateOrgLimitMutation({ selection: { fields: { id: true } } }) useDeleteOrgLimitMutation({}) @@ -20,7 +20,7 @@ useDeleteOrgLimitMutation({}) ```typescript const { data, isLoading } = useOrgLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useOrgLimitsQuery({ const { mutate } = useCreateOrgLimitMutation({ selection: { fields: { id: true } }, }); -mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }); +mutate({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }); ``` diff --git a/.agents/skills/hooks-public/references/partition.md b/.agents/skills/hooks-public/references/partition.md new file mode 100644 index 000000000..e88b9eaa8 --- /dev/null +++ b/.agents/skills/hooks-public/references/partition.md @@ -0,0 +1,34 @@ +# partition + + + +React Query hooks for Partition data operations + +## Usage + +```typescript +usePartitionsQuery({ selection: { fields: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } } }) +usePartitionQuery({ id: '', selection: { fields: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } } }) +useCreatePartitionMutation({ selection: { fields: { id: true } } }) +useUpdatePartitionMutation({ selection: { fields: { id: true } } }) +useDeletePartitionMutation({}) +``` + +## Examples + +### List all partitions + +```typescript +const { data, isLoading } = usePartitionsQuery({ + selection: { fields: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }, +}); +``` + +### Create a partition + +```typescript +const { mutate } = useCreatePartitionMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }); +``` diff --git a/.agents/skills/hooks-public/references/plans-module.md b/.agents/skills/hooks-public/references/plans-module.md index b274c27df..163208f36 100644 --- a/.agents/skills/hooks-public/references/plans-module.md +++ b/.agents/skills/hooks-public/references/plans-module.md @@ -7,8 +7,8 @@ React Query hooks for PlansModule data operations ## Usage ```typescript -usePlansModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } } }) -usePlansModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } } }) +usePlansModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } } }) +usePlansModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } } }) useCreatePlansModuleMutation({ selection: { fields: { id: true } } }) useUpdatePlansModuleMutation({ selection: { fields: { id: true } } }) useDeletePlansModuleMutation({}) @@ -20,7 +20,7 @@ useDeletePlansModuleMutation({}) ```typescript const { data, isLoading } = usePlansModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = usePlansModulesQuery({ const { mutate } = useCreatePlansModuleMutation({ selection: { fields: { id: true } }, }); -mutate({ databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }); +mutate({ databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }); ``` diff --git a/.agents/skills/hooks-public/references/pubkey-setting.md b/.agents/skills/hooks-public/references/pubkey-setting.md new file mode 100644 index 000000000..6670f2813 --- /dev/null +++ b/.agents/skills/hooks-public/references/pubkey-setting.md @@ -0,0 +1,34 @@ +# pubkeySetting + + + +Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + +## Usage + +```typescript +usePubkeySettingsQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } } }) +usePubkeySettingQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } } }) +useCreatePubkeySettingMutation({ selection: { fields: { id: true } } }) +useUpdatePubkeySettingMutation({ selection: { fields: { id: true } } }) +useDeletePubkeySettingMutation({}) +``` + +## Examples + +### List all pubkeySettings + +```typescript +const { data, isLoading } = usePubkeySettingsQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }, +}); +``` + +### Create a pubkeySetting + +```typescript +const { mutate } = useCreatePubkeySettingMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }); +``` diff --git a/.agents/skills/hooks-public/references/rls-setting.md b/.agents/skills/hooks-public/references/rls-setting.md new file mode 100644 index 000000000..03951e763 --- /dev/null +++ b/.agents/skills/hooks-public/references/rls-setting.md @@ -0,0 +1,34 @@ +# rlsSetting + + + +Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + +## Usage + +```typescript +useRlsSettingsQuery({ selection: { fields: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } } }) +useRlsSettingQuery({ id: '', selection: { fields: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } } }) +useCreateRlsSettingMutation({ selection: { fields: { id: true } } }) +useUpdateRlsSettingMutation({ selection: { fields: { id: true } } }) +useDeleteRlsSettingMutation({}) +``` + +## Examples + +### List all rlsSettings + +```typescript +const { data, isLoading } = useRlsSettingsQuery({ + selection: { fields: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }, +}); +``` + +### Create a rlsSetting + +```typescript +const { mutate } = useCreateRlsSettingMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }); +``` diff --git a/.agents/skills/hooks-public/references/storage-module.md b/.agents/skills/hooks-public/references/storage-module.md index 31f502a69..34ce43ac8 100644 --- a/.agents/skills/hooks-public/references/storage-module.md +++ b/.agents/skills/hooks-public/references/storage-module.md @@ -7,8 +7,8 @@ React Query hooks for StorageModule data operations ## Usage ```typescript -useStorageModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } } }) -useStorageModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } } }) +useStorageModulesQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } } }) +useStorageModuleQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } } }) useCreateStorageModuleMutation({ selection: { fields: { id: true } } }) useUpdateStorageModuleMutation({ selection: { fields: { id: true } } }) useDeleteStorageModuleMutation({}) @@ -20,7 +20,7 @@ useDeleteStorageModuleMutation({}) ```typescript const { data, isLoading } = useStorageModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }, }); ``` @@ -30,5 +30,5 @@ const { data, isLoading } = useStorageModulesQuery({ const { mutate } = useCreateStorageModuleMutation({ selection: { fields: { id: true } }, }); -mutate({ databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }); +mutate({ databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }); ``` diff --git a/.agents/skills/hooks-public/references/webauthn-setting.md b/.agents/skills/hooks-public/references/webauthn-setting.md new file mode 100644 index 000000000..94985870c --- /dev/null +++ b/.agents/skills/hooks-public/references/webauthn-setting.md @@ -0,0 +1,34 @@ +# webauthnSetting + + + +Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + +## Usage + +```typescript +useWebauthnSettingsQuery({ selection: { fields: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } } }) +useWebauthnSettingQuery({ id: '', selection: { fields: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } } }) +useCreateWebauthnSettingMutation({ selection: { fields: { id: true } } }) +useUpdateWebauthnSettingMutation({ selection: { fields: { id: true } } }) +useDeleteWebauthnSettingMutation({}) +``` + +## Examples + +### List all webauthnSettings + +```typescript +const { data, isLoading } = useWebauthnSettingsQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }, +}); +``` + +### Create a webauthnSetting + +```typescript +const { mutate } = useCreateWebauthnSettingMutation({ + selection: { fields: { id: true } }, +}); +mutate({ databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }); +``` diff --git a/.agents/skills/orm-admin/SKILL.md b/.agents/skills/orm-admin/SKILL.md index e49605352..8fe55dab9 100644 --- a/.agents/skills/orm-admin/SKILL.md +++ b/.agents/skills/orm-admin/SKILL.md @@ -1,13 +1,13 @@ --- name: orm-admin -description: ORM client for the admin API — provides typed CRUD operations for 37 tables and 15 custom operations +description: ORM client for the admin API — provides typed CRUD operations for 46 tables and 14 custom operations --- # orm-admin -ORM client for the admin API — provides typed CRUD operations for 37 tables and 15 custom operations +ORM client for the admin API — provides typed CRUD operations for 46 tables and 14 custom operations ## Usage @@ -15,7 +15,7 @@ ORM client for the admin API — provides typed CRUD operations for 37 tables an // Import the ORM client import { db } from './orm'; -// Available models: orgGetManagersRecord, orgGetSubordinatesRecord, appPermission, orgPermission, appLevelRequirement, orgMember, appPermissionDefault, orgPermissionDefault, ... +// Available models: orgGetManagersRecord, orgGetSubordinatesRecord, appPermission, orgPermission, appLevelRequirement, appLimitCreditRedemption, appLimitCreditCodeItem, appLimitCredit, ... db..findMany({ select: { id: true } }).execute() db..findOne({ id: '', select: { id: true } }).execute() db..create({ data: { ... }, select: { id: true } }).execute() @@ -42,18 +42,27 @@ See the `references/` directory for detailed per-entity API documentation: - [app-permission](references/app-permission.md) - [org-permission](references/org-permission.md) - [app-level-requirement](references/app-level-requirement.md) +- [app-limit-credit-redemption](references/app-limit-credit-redemption.md) +- [app-limit-credit-code-item](references/app-limit-credit-code-item.md) +- [app-limit-credit](references/app-limit-credit.md) - [org-member](references/org-member.md) - [app-permission-default](references/app-permission-default.md) +- [app-limit-credit-code](references/app-limit-credit-code.md) - [org-permission-default](references/org-permission-default.md) - [app-admin-grant](references/app-admin-grant.md) - [app-owner-grant](references/app-owner-grant.md) - [app-achievement](references/app-achievement.md) - [app-step](references/app-step.md) +- [app-limit-caps-default](references/app-limit-caps-default.md) +- [org-limit-caps-default](references/org-limit-caps-default.md) +- [app-limit-cap](references/app-limit-cap.md) +- [org-limit-cap](references/org-limit-cap.md) - [org-admin-grant](references/org-admin-grant.md) - [org-owner-grant](references/org-owner-grant.md) - [membership-type](references/membership-type.md) - [app-limit-default](references/app-limit-default.md) - [org-limit-default](references/org-limit-default.md) +- [org-limit-credit](references/org-limit-credit.md) - [org-chart-edge-grant](references/org-chart-edge-grant.md) - [app-claimed-invite](references/app-claimed-invite.md) - [app-grant](references/app-grant.md) @@ -64,13 +73,13 @@ See the `references/` directory for detailed per-entity API documentation: - [org-limit-event](references/org-limit-event.md) - [org-grant](references/org-grant.md) - [org-chart-edge](references/org-chart-edge.md) -- [app-limit](references/app-limit.md) -- [org-limit-aggregate](references/org-limit-aggregate.md) - [org-member-profile](references/org-member-profile.md) -- [org-limit](references/org-limit.md) - [app-level](references/app-level.md) +- [app-limit](references/app-limit.md) - [app-invite](references/app-invite.md) - [org-membership-setting](references/org-membership-setting.md) +- [org-limit-aggregate](references/org-limit-aggregate.md) +- [org-limit](references/org-limit.md) - [org-invite](references/org-invite.md) - [app-membership](references/app-membership.md) - [org-membership](references/org-membership.md) @@ -87,5 +96,4 @@ See the `references/` directory for detailed per-entity API documentation: - [steps-required](references/steps-required.md) - [submit-app-invite-code](references/submit-app-invite-code.md) - [submit-org-invite-code](references/submit-org-invite-code.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/orm-admin/references/app-limit-cap.md b/.agents/skills/orm-admin/references/app-limit-cap.md new file mode 100644 index 000000000..76ac73b9d --- /dev/null +++ b/.agents/skills/orm-admin/references/app-limit-cap.md @@ -0,0 +1,34 @@ +# appLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +db.appLimitCap.findMany({ select: { id: true } }).execute() +db.appLimitCap.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute() +db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.appLimitCap.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCap records + +```typescript +const items = await db.appLimitCap.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a appLimitCap + +```typescript +const item = await db.appLimitCap.create({ + data: { name: '', entityId: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/app-limit-caps-default.md b/.agents/skills/orm-admin/references/app-limit-caps-default.md new file mode 100644 index 000000000..18848a6a2 --- /dev/null +++ b/.agents/skills/orm-admin/references/app-limit-caps-default.md @@ -0,0 +1,34 @@ +# appLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +db.appLimitCapsDefault.findMany({ select: { id: true } }).execute() +db.appLimitCapsDefault.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute() +db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.appLimitCapsDefault.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCapsDefault records + +```typescript +const items = await db.appLimitCapsDefault.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a appLimitCapsDefault + +```typescript +const item = await db.appLimitCapsDefault.create({ + data: { name: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/app-limit-credit-code-item.md b/.agents/skills/orm-admin/references/app-limit-credit-code-item.md new file mode 100644 index 000000000..8bf804434 --- /dev/null +++ b/.agents/skills/orm-admin/references/app-limit-credit-code-item.md @@ -0,0 +1,34 @@ +# appLimitCreditCodeItem + + + +Items within a credit code — each row grants credits for a specific limit definition + +## Usage + +```typescript +db.appLimitCreditCodeItem.findMany({ select: { id: true } }).execute() +db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute() +db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute() +db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCreditCodeItem records + +```typescript +const items = await db.appLimitCreditCodeItem.findMany({ + select: { id: true, creditCodeId: true } +}).execute(); +``` + +### Create a appLimitCreditCodeItem + +```typescript +const item = await db.appLimitCreditCodeItem.create({ + data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/app-limit-credit-code.md b/.agents/skills/orm-admin/references/app-limit-credit-code.md new file mode 100644 index 000000000..e18ba1c29 --- /dev/null +++ b/.agents/skills/orm-admin/references/app-limit-credit-code.md @@ -0,0 +1,34 @@ +# appLimitCreditCode + + + +Redeemable credit codes managed by admins with the add_credits permission + +## Usage + +```typescript +db.appLimitCreditCode.findMany({ select: { id: true } }).execute() +db.appLimitCreditCode.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute() +db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute() +db.appLimitCreditCode.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCreditCode records + +```typescript +const items = await db.appLimitCreditCode.findMany({ + select: { id: true, code: true } +}).execute(); +``` + +### Create a appLimitCreditCode + +```typescript +const item = await db.appLimitCreditCode.create({ + data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/app-limit-credit-redemption.md b/.agents/skills/orm-admin/references/app-limit-credit-redemption.md new file mode 100644 index 000000000..7feb61957 --- /dev/null +++ b/.agents/skills/orm-admin/references/app-limit-credit-redemption.md @@ -0,0 +1,34 @@ +# appLimitCreditRedemption + + + +Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + +## Usage + +```typescript +db.appLimitCreditRedemption.findMany({ select: { id: true } }).execute() +db.appLimitCreditRedemption.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute() +db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute() +db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCreditRedemption records + +```typescript +const items = await db.appLimitCreditRedemption.findMany({ + select: { id: true, creditCodeId: true } +}).execute(); +``` + +### Create a appLimitCreditRedemption + +```typescript +const item = await db.appLimitCreditRedemption.create({ + data: { creditCodeId: '', entityId: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/app-limit-credit.md b/.agents/skills/orm-admin/references/app-limit-credit.md new file mode 100644 index 000000000..e4177b9dd --- /dev/null +++ b/.agents/skills/orm-admin/references/app-limit-credit.md @@ -0,0 +1,34 @@ +# appLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +db.appLimitCredit.findMany({ select: { id: true } }).execute() +db.appLimitCredit.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute() +db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute() +db.appLimitCredit.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCredit records + +```typescript +const items = await db.appLimitCredit.findMany({ + select: { id: true, defaultLimitId: true } +}).execute(); +``` + +### Create a appLimitCredit + +```typescript +const item = await db.appLimitCredit.create({ + data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/app-limit.md b/.agents/skills/orm-admin/references/app-limit.md index 0e5cb9fbe..598d011cf 100644 --- a/.agents/skills/orm-admin/references/app-limit.md +++ b/.agents/skills/orm-admin/references/app-limit.md @@ -9,7 +9,7 @@ Tracks per-actor usage counts against configurable maximum limits ```typescript db.appLimit.findMany({ select: { id: true } }).execute() db.appLimit.findOne({ id: '', select: { id: true } }).execute() -db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute() +db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute() db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() db.appLimit.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.appLimit.findMany({ ```typescript const item = await db.appLimit.create({ - data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, + data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-admin/references/org-limit-aggregate.md b/.agents/skills/orm-admin/references/org-limit-aggregate.md index b96e1215b..c568afdff 100644 --- a/.agents/skills/orm-admin/references/org-limit-aggregate.md +++ b/.agents/skills/orm-admin/references/org-limit-aggregate.md @@ -9,7 +9,7 @@ Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown ```typescript db.orgLimitAggregate.findMany({ select: { id: true } }).execute() db.orgLimitAggregate.findOne({ id: '', select: { id: true } }).execute() -db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute() +db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute() db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() db.orgLimitAggregate.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.orgLimitAggregate.findMany({ ```typescript const item = await db.orgLimitAggregate.create({ - data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, + data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-admin/references/org-limit-cap.md b/.agents/skills/orm-admin/references/org-limit-cap.md new file mode 100644 index 000000000..72fc875db --- /dev/null +++ b/.agents/skills/orm-admin/references/org-limit-cap.md @@ -0,0 +1,34 @@ +# orgLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +db.orgLimitCap.findMany({ select: { id: true } }).execute() +db.orgLimitCap.findOne({ id: '', select: { id: true } }).execute() +db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute() +db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.orgLimitCap.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all orgLimitCap records + +```typescript +const items = await db.orgLimitCap.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a orgLimitCap + +```typescript +const item = await db.orgLimitCap.create({ + data: { name: '', entityId: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/org-limit-caps-default.md b/.agents/skills/orm-admin/references/org-limit-caps-default.md new file mode 100644 index 000000000..d314196a9 --- /dev/null +++ b/.agents/skills/orm-admin/references/org-limit-caps-default.md @@ -0,0 +1,34 @@ +# orgLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +db.orgLimitCapsDefault.findMany({ select: { id: true } }).execute() +db.orgLimitCapsDefault.findOne({ id: '', select: { id: true } }).execute() +db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute() +db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all orgLimitCapsDefault records + +```typescript +const items = await db.orgLimitCapsDefault.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a orgLimitCapsDefault + +```typescript +const item = await db.orgLimitCapsDefault.create({ + data: { name: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/org-limit-credit.md b/.agents/skills/orm-admin/references/org-limit-credit.md new file mode 100644 index 000000000..74ec16860 --- /dev/null +++ b/.agents/skills/orm-admin/references/org-limit-credit.md @@ -0,0 +1,34 @@ +# orgLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +db.orgLimitCredit.findMany({ select: { id: true } }).execute() +db.orgLimitCredit.findOne({ id: '', select: { id: true } }).execute() +db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute() +db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute() +db.orgLimitCredit.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all orgLimitCredit records + +```typescript +const items = await db.orgLimitCredit.findMany({ + select: { id: true, defaultLimitId: true } +}).execute(); +``` + +### Create a orgLimitCredit + +```typescript +const item = await db.orgLimitCredit.create({ + data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-admin/references/org-limit.md b/.agents/skills/orm-admin/references/org-limit.md index 91c82cccd..7da127df1 100644 --- a/.agents/skills/orm-admin/references/org-limit.md +++ b/.agents/skills/orm-admin/references/org-limit.md @@ -9,7 +9,7 @@ Tracks per-actor usage counts against configurable maximum limits ```typescript db.orgLimit.findMany({ select: { id: true } }).execute() db.orgLimit.findOne({ id: '', select: { id: true } }).execute() -db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute() +db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute() db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() db.orgLimit.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.orgLimit.findMany({ ```typescript const item = await db.orgLimit.create({ - data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, + data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-auth/SKILL.md b/.agents/skills/orm-auth/SKILL.md index 9b5810cdb..fca9cc275 100644 --- a/.agents/skills/orm-auth/SKILL.md +++ b/.agents/skills/orm-auth/SKILL.md @@ -1,13 +1,13 @@ --- name: orm-auth -description: ORM client for the auth API — provides typed CRUD operations for 9 tables and 28 custom operations +description: ORM client for the auth API — provides typed CRUD operations for 9 tables and 27 custom operations --- # orm-auth -ORM client for the auth API — provides typed CRUD operations for 9 tables and 28 custom operations +ORM client for the auth API — provides typed CRUD operations for 9 tables and 27 custom operations ## Usage @@ -72,5 +72,4 @@ See the `references/` directory for detailed per-entity API documentation: - [create-api-key](references/create-api-key.md) - [forgot-password](references/forgot-password.md) - [send-verification-email](references/send-verification-email.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/orm-objects/SKILL.md b/.agents/skills/orm-objects/SKILL.md index 529758daa..d294f5733 100644 --- a/.agents/skills/orm-objects/SKILL.md +++ b/.agents/skills/orm-objects/SKILL.md @@ -1,13 +1,13 @@ --- name: orm-objects -description: ORM client for the objects API — provides typed CRUD operations for 5 tables and 14 custom operations +description: ORM client for the objects API — provides typed CRUD operations for 5 tables and 13 custom operations --- # orm-objects -ORM client for the objects API — provides typed CRUD operations for 5 tables and 14 custom operations +ORM client for the objects API — provides typed CRUD operations for 5 tables and 13 custom operations ## Usage @@ -54,5 +54,4 @@ See the `references/` directory for detailed per-entity API documentation: - [insert-node-at-path](references/insert-node-at-path.md) - [update-node-at-path](references/update-node-at-path.md) - [set-and-commit](references/set-and-commit.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/orm-public/SKILL.md b/.agents/skills/orm-public/SKILL.md index 15c69f460..db76459f1 100644 --- a/.agents/skills/orm-public/SKILL.md +++ b/.agents/skills/orm-public/SKILL.md @@ -1,13 +1,13 @@ --- name: orm-public -description: ORM client for the public API — provides typed CRUD operations for 129 tables and 71 custom operations +description: ORM client for the public API — provides typed CRUD operations for 147 tables and 71 custom operations --- # orm-public -ORM client for the public API — provides typed CRUD operations for 129 tables and 71 custom operations +ORM client for the public API — provides typed CRUD operations for 147 tables and 71 custom operations ## Usage @@ -50,6 +50,7 @@ See the `references/` directory for detailed per-entity API documentation: - [check-constraint](references/check-constraint.md) - [field](references/field.md) - [spatial-relation](references/spatial-relation.md) +- [partition](references/partition.md) - [foreign-key-constraint](references/foreign-key-constraint.md) - [full-text-search](references/full-text-search.md) - [index](references/index.md) @@ -70,17 +71,20 @@ See the `references/` directory for detailed per-entity API documentation: - [schema-grant](references/schema-grant.md) - [default-privilege](references/default-privilege.md) - [enum](references/enum.md) +- [function](references/function.md) - [api-schema](references/api-schema.md) - [api-module](references/api-module.md) - [domain](references/domain.md) - [site-metadatum](references/site-metadatum.md) - [site-module](references/site-module.md) - [site-theme](references/site-theme.md) +- [cors-setting](references/cors-setting.md) - [trigger-function](references/trigger-function.md) - [database-transfer](references/database-transfer.md) - [api](references/api.md) - [site](references/site.md) - [app](references/app.md) +- [api-setting](references/api-setting.md) - [connected-accounts-module](references/connected-accounts-module.md) - [crypto-addresses-module](references/crypto-addresses-module.md) - [crypto-auth-module](references/crypto-auth-module.md) @@ -122,7 +126,11 @@ See the `references/` directory for detailed per-entity API documentation: - [org-chart-edge-grant](references/org-chart-edge-grant.md) - [org-permission-default](references/org-permission-default.md) - [app-limit](references/app-limit.md) +- [app-limit-credit](references/app-limit-credit.md) +- [app-limit-credit-code-item](references/app-limit-credit-code-item.md) +- [app-limit-credit-redemption](references/app-limit-credit-redemption.md) - [org-limit](references/org-limit.md) +- [org-limit-credit](references/org-limit-credit.md) - [org-limit-aggregate](references/org-limit-aggregate.md) - [app-step](references/app-step.md) - [app-achievement](references/app-achievement.md) @@ -144,6 +152,11 @@ See the `references/` directory for detailed per-entity API documentation: - [ref](references/ref.md) - [store](references/store.md) - [app-permission-default](references/app-permission-default.md) +- [app-limit-credit-code](references/app-limit-credit-code.md) +- [app-limit-caps-default](references/app-limit-caps-default.md) +- [org-limit-caps-default](references/org-limit-caps-default.md) +- [app-limit-cap](references/app-limit-cap.md) +- [org-limit-cap](references/org-limit-cap.md) - [membership-type](references/membership-type.md) - [migrate-file](references/migrate-file.md) - [devices-module](references/devices-module.md) @@ -152,19 +165,24 @@ See the `references/` directory for detailed per-entity API documentation: - [org-limit-default](references/org-limit-default.md) - [user-connected-account](references/user-connected-account.md) - [commit](references/commit.md) +- [pubkey-setting](references/pubkey-setting.md) - [rate-limits-module](references/rate-limits-module.md) - [app-membership-default](references/app-membership-default.md) - [org-membership-default](references/org-membership-default.md) +- [rls-setting](references/rls-setting.md) - [app-limit-event](references/app-limit-event.md) - [org-limit-event](references/org-limit-event.md) -- [plans-module](references/plans-module.md) - [rls-module](references/rls-module.md) +- [database-setting](references/database-setting.md) +- [plans-module](references/plans-module.md) - [sql-action](references/sql-action.md) - [billing-module](references/billing-module.md) - [ast-migration](references/ast-migration.md) - [user](references/user.md) - [org-membership-setting](references/org-membership-setting.md) +- [webauthn-setting](references/webauthn-setting.md) - [app-membership](references/app-membership.md) +- [billing-provider-module](references/billing-provider-module.md) - [hierarchy-module](references/hierarchy-module.md) - [current-user-id](references/current-user-id.md) - [current-user-agent](references/current-user-agent.md) @@ -214,6 +232,7 @@ See the `references/` directory for detailed per-entity API documentation: - [provision-spatial-relation](references/provision-spatial-relation.md) - [bootstrap-user](references/bootstrap-user.md) - [set-field-order](references/set-field-order.md) +- [append-smart-tags](references/append-smart-tags.md) - [provision-unique-constraint](references/provision-unique-constraint.md) - [provision-full-text-search](references/provision-full-text-search.md) - [provision-index](references/provision-index.md) @@ -235,5 +254,4 @@ See the `references/` directory for detailed per-entity API documentation: - [request-cross-origin-token](references/request-cross-origin-token.md) - [sign-in](references/sign-in.md) - [provision-table](references/provision-table.md) -- [request-upload-url](references/request-upload-url.md) - [provision-bucket](references/provision-bucket.md) diff --git a/.agents/skills/orm-public/references/api-setting.md b/.agents/skills/orm-public/references/api-setting.md new file mode 100644 index 000000000..5b302cc99 --- /dev/null +++ b/.agents/skills/orm-public/references/api-setting.md @@ -0,0 +1,34 @@ +# apiSetting + + + +Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + +## Usage + +```typescript +db.apiSetting.findMany({ select: { id: true } }).execute() +db.apiSetting.findOne({ id: '', select: { id: true } }).execute() +db.apiSetting.create({ data: { databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute() +db.apiSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.apiSetting.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all apiSetting records + +```typescript +const items = await db.apiSetting.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a apiSetting + +```typescript +const item = await db.apiSetting.create({ + data: { databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit-cap.md b/.agents/skills/orm-public/references/app-limit-cap.md new file mode 100644 index 000000000..76ac73b9d --- /dev/null +++ b/.agents/skills/orm-public/references/app-limit-cap.md @@ -0,0 +1,34 @@ +# appLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +db.appLimitCap.findMany({ select: { id: true } }).execute() +db.appLimitCap.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute() +db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.appLimitCap.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCap records + +```typescript +const items = await db.appLimitCap.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a appLimitCap + +```typescript +const item = await db.appLimitCap.create({ + data: { name: '', entityId: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit-caps-default.md b/.agents/skills/orm-public/references/app-limit-caps-default.md new file mode 100644 index 000000000..18848a6a2 --- /dev/null +++ b/.agents/skills/orm-public/references/app-limit-caps-default.md @@ -0,0 +1,34 @@ +# appLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +db.appLimitCapsDefault.findMany({ select: { id: true } }).execute() +db.appLimitCapsDefault.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute() +db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.appLimitCapsDefault.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCapsDefault records + +```typescript +const items = await db.appLimitCapsDefault.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a appLimitCapsDefault + +```typescript +const item = await db.appLimitCapsDefault.create({ + data: { name: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit-credit-code-item.md b/.agents/skills/orm-public/references/app-limit-credit-code-item.md new file mode 100644 index 000000000..8bf804434 --- /dev/null +++ b/.agents/skills/orm-public/references/app-limit-credit-code-item.md @@ -0,0 +1,34 @@ +# appLimitCreditCodeItem + + + +Items within a credit code — each row grants credits for a specific limit definition + +## Usage + +```typescript +db.appLimitCreditCodeItem.findMany({ select: { id: true } }).execute() +db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute() +db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute() +db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCreditCodeItem records + +```typescript +const items = await db.appLimitCreditCodeItem.findMany({ + select: { id: true, creditCodeId: true } +}).execute(); +``` + +### Create a appLimitCreditCodeItem + +```typescript +const item = await db.appLimitCreditCodeItem.create({ + data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit-credit-code.md b/.agents/skills/orm-public/references/app-limit-credit-code.md new file mode 100644 index 000000000..e18ba1c29 --- /dev/null +++ b/.agents/skills/orm-public/references/app-limit-credit-code.md @@ -0,0 +1,34 @@ +# appLimitCreditCode + + + +Redeemable credit codes managed by admins with the add_credits permission + +## Usage + +```typescript +db.appLimitCreditCode.findMany({ select: { id: true } }).execute() +db.appLimitCreditCode.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute() +db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute() +db.appLimitCreditCode.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCreditCode records + +```typescript +const items = await db.appLimitCreditCode.findMany({ + select: { id: true, code: true } +}).execute(); +``` + +### Create a appLimitCreditCode + +```typescript +const item = await db.appLimitCreditCode.create({ + data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit-credit-redemption.md b/.agents/skills/orm-public/references/app-limit-credit-redemption.md new file mode 100644 index 000000000..7feb61957 --- /dev/null +++ b/.agents/skills/orm-public/references/app-limit-credit-redemption.md @@ -0,0 +1,34 @@ +# appLimitCreditRedemption + + + +Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + +## Usage + +```typescript +db.appLimitCreditRedemption.findMany({ select: { id: true } }).execute() +db.appLimitCreditRedemption.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute() +db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute() +db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCreditRedemption records + +```typescript +const items = await db.appLimitCreditRedemption.findMany({ + select: { id: true, creditCodeId: true } +}).execute(); +``` + +### Create a appLimitCreditRedemption + +```typescript +const item = await db.appLimitCreditRedemption.create({ + data: { creditCodeId: '', entityId: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit-credit.md b/.agents/skills/orm-public/references/app-limit-credit.md new file mode 100644 index 000000000..e4177b9dd --- /dev/null +++ b/.agents/skills/orm-public/references/app-limit-credit.md @@ -0,0 +1,34 @@ +# appLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +db.appLimitCredit.findMany({ select: { id: true } }).execute() +db.appLimitCredit.findOne({ id: '', select: { id: true } }).execute() +db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute() +db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute() +db.appLimitCredit.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all appLimitCredit records + +```typescript +const items = await db.appLimitCredit.findMany({ + select: { id: true, defaultLimitId: true } +}).execute(); +``` + +### Create a appLimitCredit + +```typescript +const item = await db.appLimitCredit.create({ + data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/app-limit.md b/.agents/skills/orm-public/references/app-limit.md index 0e5cb9fbe..598d011cf 100644 --- a/.agents/skills/orm-public/references/app-limit.md +++ b/.agents/skills/orm-public/references/app-limit.md @@ -9,7 +9,7 @@ Tracks per-actor usage counts against configurable maximum limits ```typescript db.appLimit.findMany({ select: { id: true } }).execute() db.appLimit.findOne({ id: '', select: { id: true } }).execute() -db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute() +db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute() db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() db.appLimit.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.appLimit.findMany({ ```typescript const item = await db.appLimit.create({ - data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, + data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/append-smart-tags.md b/.agents/skills/orm-public/references/append-smart-tags.md new file mode 100644 index 000000000..0e6788d97 --- /dev/null +++ b/.agents/skills/orm-public/references/append-smart-tags.md @@ -0,0 +1,19 @@ +# appendSmartTags + + + +Execute the appendSmartTags mutation + +## Usage + +```typescript +db.mutation.appendSmartTags({ input: { pTableId: '', pTags: '' } }).execute() +``` + +## Examples + +### Run appendSmartTags + +```typescript +const result = await db.mutation.appendSmartTags({ input: { pTableId: '', pTags: '' } }).execute(); +``` diff --git a/.agents/skills/orm-public/references/billing-provider-module.md b/.agents/skills/orm-public/references/billing-provider-module.md new file mode 100644 index 000000000..0bc23c05f --- /dev/null +++ b/.agents/skills/orm-public/references/billing-provider-module.md @@ -0,0 +1,34 @@ +# billingProviderModule + + + +ORM operations for BillingProviderModule records + +## Usage + +```typescript +db.billingProviderModule.findMany({ select: { id: true } }).execute() +db.billingProviderModule.findOne({ id: '', select: { id: true } }).execute() +db.billingProviderModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }, select: { id: true } }).execute() +db.billingProviderModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.billingProviderModule.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all billingProviderModule records + +```typescript +const items = await db.billingProviderModule.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a billingProviderModule + +```typescript +const item = await db.billingProviderModule.create({ + data: { databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/cors-setting.md b/.agents/skills/orm-public/references/cors-setting.md new file mode 100644 index 000000000..780cbf693 --- /dev/null +++ b/.agents/skills/orm-public/references/cors-setting.md @@ -0,0 +1,34 @@ +# corsSetting + + + +Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + +## Usage + +```typescript +db.corsSetting.findMany({ select: { id: true } }).execute() +db.corsSetting.findOne({ id: '', select: { id: true } }).execute() +db.corsSetting.create({ data: { databaseId: '', apiId: '', allowedOrigins: '' }, select: { id: true } }).execute() +db.corsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.corsSetting.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all corsSetting records + +```typescript +const items = await db.corsSetting.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a corsSetting + +```typescript +const item = await db.corsSetting.create({ + data: { databaseId: '', apiId: '', allowedOrigins: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/database-setting.md b/.agents/skills/orm-public/references/database-setting.md new file mode 100644 index 000000000..5c6e32c32 --- /dev/null +++ b/.agents/skills/orm-public/references/database-setting.md @@ -0,0 +1,34 @@ +# databaseSetting + + + +Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + +## Usage + +```typescript +db.databaseSetting.findMany({ select: { id: true } }).execute() +db.databaseSetting.findOne({ id: '', select: { id: true } }).execute() +db.databaseSetting.create({ data: { databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute() +db.databaseSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.databaseSetting.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all databaseSetting records + +```typescript +const items = await db.databaseSetting.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a databaseSetting + +```typescript +const item = await db.databaseSetting.create({ + data: { databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/entity-type-provision.md b/.agents/skills/orm-public/references/entity-type-provision.md index 9cf6437a1..144ed8613 100644 --- a/.agents/skills/orm-public/references/entity-type-provision.md +++ b/.agents/skills/orm-public/references/entity-type-provision.md @@ -16,7 +16,7 @@ Provisions a new membership entity type. Each INSERT creates an entity table, re ```typescript db.entityTypeProvision.findMany({ select: { id: true } }).execute() db.entityTypeProvision.findOne({ id: '', select: { id: true } }).execute() -db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute() +db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute() db.entityTypeProvision.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() db.entityTypeProvision.delete({ where: { id: '' } }).execute() ``` @@ -35,7 +35,7 @@ const items = await db.entityTypeProvision.findMany({ ```typescript const item = await db.entityTypeProvision.create({ - data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }, + data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/function.md b/.agents/skills/orm-public/references/function.md new file mode 100644 index 000000000..0e7ffbf59 --- /dev/null +++ b/.agents/skills/orm-public/references/function.md @@ -0,0 +1,34 @@ +# function + + + +ORM operations for Function records + +## Usage + +```typescript +db.function.findMany({ select: { id: true } }).execute() +db.function.findOne({ id: '', select: { id: true } }).execute() +db.function.create({ data: { databaseId: '', schemaId: '', name: '' }, select: { id: true } }).execute() +db.function.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.function.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all function records + +```typescript +const items = await db.function.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a function + +```typescript +const item = await db.function.create({ + data: { databaseId: '', schemaId: '', name: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/limits-module.md b/.agents/skills/orm-public/references/limits-module.md index 9fd95b918..245b5ab0f 100644 --- a/.agents/skills/orm-public/references/limits-module.md +++ b/.agents/skills/orm-public/references/limits-module.md @@ -9,7 +9,7 @@ ORM operations for LimitsModule records ```typescript db.limitsModule.findMany({ select: { id: true } }).execute() db.limitsModule.findOne({ id: '', select: { id: true } }).execute() -db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute() +db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute() db.limitsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() db.limitsModule.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.limitsModule.findMany({ ```typescript const item = await db.limitsModule.create({ - data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, + data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/org-limit-aggregate.md b/.agents/skills/orm-public/references/org-limit-aggregate.md index b96e1215b..c568afdff 100644 --- a/.agents/skills/orm-public/references/org-limit-aggregate.md +++ b/.agents/skills/orm-public/references/org-limit-aggregate.md @@ -9,7 +9,7 @@ Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown ```typescript db.orgLimitAggregate.findMany({ select: { id: true } }).execute() db.orgLimitAggregate.findOne({ id: '', select: { id: true } }).execute() -db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute() +db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute() db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() db.orgLimitAggregate.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.orgLimitAggregate.findMany({ ```typescript const item = await db.orgLimitAggregate.create({ - data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, + data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/org-limit-cap.md b/.agents/skills/orm-public/references/org-limit-cap.md new file mode 100644 index 000000000..72fc875db --- /dev/null +++ b/.agents/skills/orm-public/references/org-limit-cap.md @@ -0,0 +1,34 @@ +# orgLimitCap + + + +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + +## Usage + +```typescript +db.orgLimitCap.findMany({ select: { id: true } }).execute() +db.orgLimitCap.findOne({ id: '', select: { id: true } }).execute() +db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute() +db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.orgLimitCap.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all orgLimitCap records + +```typescript +const items = await db.orgLimitCap.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a orgLimitCap + +```typescript +const item = await db.orgLimitCap.create({ + data: { name: '', entityId: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/org-limit-caps-default.md b/.agents/skills/orm-public/references/org-limit-caps-default.md new file mode 100644 index 000000000..d314196a9 --- /dev/null +++ b/.agents/skills/orm-public/references/org-limit-caps-default.md @@ -0,0 +1,34 @@ +# orgLimitCapsDefault + + + +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + +## Usage + +```typescript +db.orgLimitCapsDefault.findMany({ select: { id: true } }).execute() +db.orgLimitCapsDefault.findOne({ id: '', select: { id: true } }).execute() +db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute() +db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() +db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all orgLimitCapsDefault records + +```typescript +const items = await db.orgLimitCapsDefault.findMany({ + select: { id: true, name: true } +}).execute(); +``` + +### Create a orgLimitCapsDefault + +```typescript +const item = await db.orgLimitCapsDefault.create({ + data: { name: '', max: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/org-limit-credit.md b/.agents/skills/orm-public/references/org-limit-credit.md new file mode 100644 index 000000000..74ec16860 --- /dev/null +++ b/.agents/skills/orm-public/references/org-limit-credit.md @@ -0,0 +1,34 @@ +# orgLimitCredit + + + +Append-only ledger of credit grants that automatically update limit ceilings + +## Usage + +```typescript +db.orgLimitCredit.findMany({ select: { id: true } }).execute() +db.orgLimitCredit.findOne({ id: '', select: { id: true } }).execute() +db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute() +db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute() +db.orgLimitCredit.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all orgLimitCredit records + +```typescript +const items = await db.orgLimitCredit.findMany({ + select: { id: true, defaultLimitId: true } +}).execute(); +``` + +### Create a orgLimitCredit + +```typescript +const item = await db.orgLimitCredit.create({ + data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/org-limit.md b/.agents/skills/orm-public/references/org-limit.md index 91c82cccd..7da127df1 100644 --- a/.agents/skills/orm-public/references/org-limit.md +++ b/.agents/skills/orm-public/references/org-limit.md @@ -9,7 +9,7 @@ Tracks per-actor usage counts against configurable maximum limits ```typescript db.orgLimit.findMany({ select: { id: true } }).execute() db.orgLimit.findOne({ id: '', select: { id: true } }).execute() -db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute() +db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute() db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute() db.orgLimit.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.orgLimit.findMany({ ```typescript const item = await db.orgLimit.create({ - data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, + data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/partition.md b/.agents/skills/orm-public/references/partition.md new file mode 100644 index 000000000..5c0a039e4 --- /dev/null +++ b/.agents/skills/orm-public/references/partition.md @@ -0,0 +1,34 @@ +# partition + + + +ORM operations for Partition records + +## Usage + +```typescript +db.partition.findMany({ select: { id: true } }).execute() +db.partition.findOne({ id: '', select: { id: true } }).execute() +db.partition.create({ data: { databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }, select: { id: true } }).execute() +db.partition.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.partition.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all partition records + +```typescript +const items = await db.partition.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a partition + +```typescript +const item = await db.partition.create({ + data: { databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/plans-module.md b/.agents/skills/orm-public/references/plans-module.md index 2344a2d45..5b5d7362a 100644 --- a/.agents/skills/orm-public/references/plans-module.md +++ b/.agents/skills/orm-public/references/plans-module.md @@ -9,7 +9,7 @@ ORM operations for PlansModule records ```typescript db.plansModule.findMany({ select: { id: true } }).execute() db.plansModule.findOne({ id: '', select: { id: true } }).execute() -db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute() +db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute() db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() db.plansModule.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.plansModule.findMany({ ```typescript const item = await db.plansModule.create({ - data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, + data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/pubkey-setting.md b/.agents/skills/orm-public/references/pubkey-setting.md new file mode 100644 index 000000000..27069a461 --- /dev/null +++ b/.agents/skills/orm-public/references/pubkey-setting.md @@ -0,0 +1,34 @@ +# pubkeySetting + + + +Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + +## Usage + +```typescript +db.pubkeySetting.findMany({ select: { id: true } }).execute() +db.pubkeySetting.findOne({ id: '', select: { id: true } }).execute() +db.pubkeySetting.create({ data: { databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }, select: { id: true } }).execute() +db.pubkeySetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.pubkeySetting.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all pubkeySetting records + +```typescript +const items = await db.pubkeySetting.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a pubkeySetting + +```typescript +const item = await db.pubkeySetting.create({ + data: { databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/rls-setting.md b/.agents/skills/orm-public/references/rls-setting.md new file mode 100644 index 000000000..deb6e1b17 --- /dev/null +++ b/.agents/skills/orm-public/references/rls-setting.md @@ -0,0 +1,34 @@ +# rlsSetting + + + +Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + +## Usage + +```typescript +db.rlsSetting.findMany({ select: { id: true } }).execute() +db.rlsSetting.findOne({ id: '', select: { id: true } }).execute() +db.rlsSetting.create({ data: { databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }, select: { id: true } }).execute() +db.rlsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.rlsSetting.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all rlsSetting records + +```typescript +const items = await db.rlsSetting.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a rlsSetting + +```typescript +const item = await db.rlsSetting.create({ + data: { databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }, + select: { id: true } +}).execute(); +``` diff --git a/.agents/skills/orm-public/references/storage-module.md b/.agents/skills/orm-public/references/storage-module.md index 8dba9a661..2e6e916c7 100644 --- a/.agents/skills/orm-public/references/storage-module.md +++ b/.agents/skills/orm-public/references/storage-module.md @@ -9,7 +9,7 @@ ORM operations for StorageModule records ```typescript db.storageModule.findMany({ select: { id: true } }).execute() db.storageModule.findOne({ id: '', select: { id: true } }).execute() -db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }, select: { id: true } }).execute() +db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }, select: { id: true } }).execute() db.storageModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() db.storageModule.delete({ where: { id: '' } }).execute() ``` @@ -28,7 +28,7 @@ const items = await db.storageModule.findMany({ ```typescript const item = await db.storageModule.create({ - data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }, + data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }, select: { id: true } }).execute(); ``` diff --git a/.agents/skills/orm-public/references/webauthn-setting.md b/.agents/skills/orm-public/references/webauthn-setting.md new file mode 100644 index 000000000..9464fed54 --- /dev/null +++ b/.agents/skills/orm-public/references/webauthn-setting.md @@ -0,0 +1,34 @@ +# webauthnSetting + + + +Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + +## Usage + +```typescript +db.webauthnSetting.findMany({ select: { id: true } }).execute() +db.webauthnSetting.findOne({ id: '', select: { id: true } }).execute() +db.webauthnSetting.create({ data: { databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }, select: { id: true } }).execute() +db.webauthnSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute() +db.webauthnSetting.delete({ where: { id: '' } }).execute() +``` + +## Examples + +### List all webauthnSetting records + +```typescript +const items = await db.webauthnSetting.findMany({ + select: { id: true, databaseId: true } +}).execute(); +``` + +### Create a webauthnSetting + +```typescript +const item = await db.webauthnSetting.create({ + data: { databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }, + select: { id: true } +}).execute(); +``` diff --git a/sdk/constructive-cli/src/admin/README.md b/sdk/constructive-cli/src/admin/README.md index 6c3a23271..17bc704c2 100644 --- a/sdk/constructive-cli/src/admin/README.md +++ b/sdk/constructive-cli/src/admin/README.md @@ -8,9 +8,9 @@ ## Overview -- **Tables:** 37 +- **Tables:** 46 - **Custom queries:** 11 -- **Custom mutations:** 4 +- **Custom mutations:** 3 **Generators:** ORM, CLI diff --git a/sdk/constructive-cli/src/admin/cli/README.md b/sdk/constructive-cli/src/admin/cli/README.md index 6fe32be79..f2f5b334a 100644 --- a/sdk/constructive-cli/src/admin/cli/README.md +++ b/sdk/constructive-cli/src/admin/cli/README.md @@ -31,18 +31,27 @@ csdk auth set-token | `app-permission` | appPermission CRUD operations | | `org-permission` | orgPermission CRUD operations | | `app-level-requirement` | appLevelRequirement CRUD operations | +| `app-limit-credit-redemption` | appLimitCreditRedemption CRUD operations | +| `app-limit-credit-code-item` | appLimitCreditCodeItem CRUD operations | +| `app-limit-credit` | appLimitCredit CRUD operations | | `org-member` | orgMember CRUD operations | | `app-permission-default` | appPermissionDefault CRUD operations | +| `app-limit-credit-code` | appLimitCreditCode CRUD operations | | `org-permission-default` | orgPermissionDefault CRUD operations | | `app-admin-grant` | appAdminGrant CRUD operations | | `app-owner-grant` | appOwnerGrant CRUD operations | | `app-achievement` | appAchievement CRUD operations | | `app-step` | appStep CRUD operations | +| `app-limit-caps-default` | appLimitCapsDefault CRUD operations | +| `org-limit-caps-default` | orgLimitCapsDefault CRUD operations | +| `app-limit-cap` | appLimitCap CRUD operations | +| `org-limit-cap` | orgLimitCap CRUD operations | | `org-admin-grant` | orgAdminGrant CRUD operations | | `org-owner-grant` | orgOwnerGrant CRUD operations | | `membership-type` | membershipType CRUD operations | | `app-limit-default` | appLimitDefault CRUD operations | | `org-limit-default` | orgLimitDefault CRUD operations | +| `org-limit-credit` | orgLimitCredit CRUD operations | | `org-chart-edge-grant` | orgChartEdgeGrant CRUD operations | | `app-claimed-invite` | appClaimedInvite CRUD operations | | `app-grant` | appGrant CRUD operations | @@ -53,13 +62,13 @@ csdk auth set-token | `org-limit-event` | orgLimitEvent CRUD operations | | `org-grant` | orgGrant CRUD operations | | `org-chart-edge` | orgChartEdge CRUD operations | -| `app-limit` | appLimit CRUD operations | -| `org-limit-aggregate` | orgLimitAggregate CRUD operations | | `org-member-profile` | orgMemberProfile CRUD operations | -| `org-limit` | orgLimit CRUD operations | | `app-level` | appLevel CRUD operations | +| `app-limit` | appLimit CRUD operations | | `app-invite` | appInvite CRUD operations | | `org-membership-setting` | orgMembershipSetting CRUD operations | +| `org-limit-aggregate` | orgLimitAggregate CRUD operations | +| `org-limit` | orgLimit CRUD operations | | `org-invite` | orgInvite CRUD operations | | `app-membership` | appMembership CRUD operations | | `org-membership` | orgMembership CRUD operations | @@ -76,10 +85,6 @@ csdk auth set-token | `steps-required` | Reads and enables pagination through a set of `AppLevelRequirement`. | | `submit-app-invite-code` | submitAppInviteCode | | `submit-org-invite-code` | submitOrgInviteCode | -| `request-upload-url` | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `provision-bucket` | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -249,6 +254,82 @@ CRUD operations for AppLevelRequirement records. **Required create fields:** `name`, `level` **Optional create fields (backend defaults):** `description`, `requiredCount`, `priority` +### `app-limit-credit-redemption` + +CRUD operations for AppLimitCreditRedemption records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCreditRedemption records | +| `find-first` | Find first matching appLimitCreditRedemption record | +| `get` | Get a appLimitCreditRedemption by id | +| `create` | Create a new appLimitCreditRedemption | +| `update` | Update an existing appLimitCreditRedemption | +| `delete` | Delete a appLimitCreditRedemption | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `creditCodeId` | UUID | +| `entityId` | UUID | + +**Required create fields:** `creditCodeId`, `entityId` + +### `app-limit-credit-code-item` + +CRUD operations for AppLimitCreditCodeItem records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCreditCodeItem records | +| `find-first` | Find first matching appLimitCreditCodeItem record | +| `get` | Get a appLimitCreditCodeItem by id | +| `create` | Create a new appLimitCreditCodeItem | +| `update` | Update an existing appLimitCreditCodeItem | +| `delete` | Delete a appLimitCreditCodeItem | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `creditCodeId` | UUID | +| `defaultLimitId` | UUID | +| `amount` | BigInt | +| `creditType` | String | + +**Required create fields:** `creditCodeId`, `defaultLimitId`, `amount` +**Optional create fields (backend defaults):** `creditType` + +### `app-limit-credit` + +CRUD operations for AppLimitCredit records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCredit records | +| `find-first` | Find first matching appLimitCredit record | +| `get` | Get a appLimitCredit by id | +| `create` | Create a new appLimitCredit | +| `update` | Update an existing appLimitCredit | +| `delete` | Delete a appLimitCredit | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `defaultLimitId` | UUID | +| `actorId` | UUID | +| `amount` | BigInt | +| `creditType` | String | +| `reason` | String | + +**Required create fields:** `defaultLimitId`, `amount` +**Optional create fields (backend defaults):** `actorId`, `creditType`, `reason` + ### `org-member` CRUD operations for OrgMember records. @@ -296,6 +377,32 @@ CRUD operations for AppPermissionDefault records. **Optional create fields (backend defaults):** `permissions` +### `app-limit-credit-code` + +CRUD operations for AppLimitCreditCode records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCreditCode records | +| `find-first` | Find first matching appLimitCreditCode record | +| `get` | Get a appLimitCreditCode by id | +| `create` | Create a new appLimitCreditCode | +| `update` | Update an existing appLimitCreditCode | +| `delete` | Delete a appLimitCreditCode | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `code` | String | +| `maxRedemptions` | Int | +| `currentRedemptions` | Int | +| `expiresAt` | Datetime | + +**Required create fields:** `code` +**Optional create fields (backend defaults):** `maxRedemptions`, `currentRedemptions`, `expiresAt` + ### `org-permission-default` CRUD operations for OrgPermissionDefault records. @@ -428,6 +535,104 @@ CRUD operations for AppStep records. **Required create fields:** `name` **Optional create fields (backend defaults):** `actorId`, `count` +### `app-limit-caps-default` + +CRUD operations for AppLimitCapsDefault records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCapsDefault records | +| `find-first` | Find first matching appLimitCapsDefault record | +| `get` | Get a appLimitCapsDefault by id | +| `create` | Create a new appLimitCapsDefault | +| `update` | Update an existing appLimitCapsDefault | +| `delete` | Delete a appLimitCapsDefault | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `max` | BigInt | + +**Required create fields:** `name` +**Optional create fields (backend defaults):** `max` + +### `org-limit-caps-default` + +CRUD operations for OrgLimitCapsDefault records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitCapsDefault records | +| `find-first` | Find first matching orgLimitCapsDefault record | +| `get` | Get a orgLimitCapsDefault by id | +| `create` | Create a new orgLimitCapsDefault | +| `update` | Update an existing orgLimitCapsDefault | +| `delete` | Delete a orgLimitCapsDefault | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `max` | BigInt | + +**Required create fields:** `name` +**Optional create fields (backend defaults):** `max` + +### `app-limit-cap` + +CRUD operations for AppLimitCap records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCap records | +| `find-first` | Find first matching appLimitCap record | +| `get` | Get a appLimitCap by id | +| `create` | Create a new appLimitCap | +| `update` | Update an existing appLimitCap | +| `delete` | Delete a appLimitCap | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `entityId` | UUID | +| `max` | BigInt | + +**Required create fields:** `name`, `entityId` +**Optional create fields (backend defaults):** `max` + +### `org-limit-cap` + +CRUD operations for OrgLimitCap records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitCap records | +| `find-first` | Find first matching orgLimitCap record | +| `get` | Get a orgLimitCap by id | +| `create` | Create a new orgLimitCap | +| `update` | Update an existing orgLimitCap | +| `delete` | Delete a orgLimitCap | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `entityId` | UUID | +| `max` | BigInt | + +**Required create fields:** `name`, `entityId` +**Optional create fields (backend defaults):** `max` + ### `org-admin-grant` CRUD operations for OrgAdminGrant records. @@ -561,6 +766,34 @@ CRUD operations for OrgLimitDefault records. **Required create fields:** `name` **Optional create fields (backend defaults):** `max`, `softMax` +### `org-limit-credit` + +CRUD operations for OrgLimitCredit records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitCredit records | +| `find-first` | Find first matching orgLimitCredit record | +| `get` | Get a orgLimitCredit by id | +| `create` | Create a new orgLimitCredit | +| `update` | Update an existing orgLimitCredit | +| `delete` | Delete a orgLimitCredit | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `defaultLimitId` | UUID | +| `actorId` | UUID | +| `entityId` | UUID | +| `amount` | BigInt | +| `creditType` | String | +| `reason` | String | + +**Required create fields:** `defaultLimitId`, `amount` +**Optional create fields (backend defaults):** `actorId`, `entityId`, `creditType`, `reason` + ### `org-chart-edge-grant` CRUD operations for OrgChartEdgeGrant records. @@ -844,64 +1077,6 @@ CRUD operations for OrgChartEdge records. **Required create fields:** `entityId`, `childId` **Optional create fields (backend defaults):** `parentId`, `positionTitle`, `positionLevel` -### `app-limit` - -CRUD operations for AppLimit records. - -| Subcommand | Description | -|------------|-------------| -| `list` | List all appLimit records | -| `find-first` | Find first matching appLimit record | -| `get` | Get a appLimit by id | -| `create` | Create a new appLimit | -| `update` | Update an existing appLimit | -| `delete` | Delete a appLimit | - -**Fields:** - -| Field | Type | -|-------|------| -| `id` | UUID | -| `name` | String | -| `actorId` | UUID | -| `num` | BigInt | -| `max` | BigInt | -| `softMax` | BigInt | -| `windowStart` | Datetime | -| `windowDuration` | Interval | - -**Required create fields:** `actorId` -**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration` - -### `org-limit-aggregate` - -CRUD operations for OrgLimitAggregate records. - -| Subcommand | Description | -|------------|-------------| -| `list` | List all orgLimitAggregate records | -| `find-first` | Find first matching orgLimitAggregate record | -| `get` | Get a orgLimitAggregate by id | -| `create` | Create a new orgLimitAggregate | -| `update` | Update an existing orgLimitAggregate | -| `delete` | Delete a orgLimitAggregate | - -**Fields:** - -| Field | Type | -|-------|------| -| `id` | UUID | -| `name` | String | -| `entityId` | UUID | -| `num` | BigInt | -| `max` | BigInt | -| `softMax` | BigInt | -| `windowStart` | Datetime | -| `windowDuration` | Interval | - -**Required create fields:** `entityId` -**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration` - ### `org-member-profile` CRUD operations for OrgMemberProfile records. @@ -934,36 +1109,6 @@ CRUD operations for OrgMemberProfile records. **Required create fields:** `membershipId`, `entityId`, `actorId` **Optional create fields (backend defaults):** `displayName`, `email`, `title`, `bio`, `profilePicture` -### `org-limit` - -CRUD operations for OrgLimit records. - -| Subcommand | Description | -|------------|-------------| -| `list` | List all orgLimit records | -| `find-first` | Find first matching orgLimit record | -| `get` | Get a orgLimit by id | -| `create` | Create a new orgLimit | -| `update` | Update an existing orgLimit | -| `delete` | Delete a orgLimit | - -**Fields:** - -| Field | Type | -|-------|------| -| `id` | UUID | -| `name` | String | -| `actorId` | UUID | -| `num` | BigInt | -| `max` | BigInt | -| `softMax` | BigInt | -| `windowStart` | Datetime | -| `windowDuration` | Interval | -| `entityId` | UUID | - -**Required create fields:** `actorId`, `entityId` -**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration` - ### `app-level` CRUD operations for AppLevel records. @@ -992,6 +1137,38 @@ CRUD operations for AppLevel records. **Required create fields:** `name` **Optional create fields (backend defaults):** `description`, `image`, `ownerId` +### `app-limit` + +CRUD operations for AppLimit records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimit records | +| `find-first` | Find first matching appLimit record | +| `get` | Get a appLimit by id | +| `create` | Create a new appLimit | +| `update` | Update an existing appLimit | +| `delete` | Delete a appLimit | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `actorId` | UUID | +| `num` | BigInt | +| `max` | BigInt | +| `softMax` | BigInt | +| `windowStart` | Datetime | +| `windowDuration` | Interval | +| `planMax` | BigInt | +| `purchasedCredits` | BigInt | +| `periodCredits` | BigInt | + +**Required create fields:** `actorId` +**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration`, `planMax`, `purchasedCredits`, `periodCredits` + ### `app-invite` CRUD operations for AppInvite records. @@ -1060,6 +1237,72 @@ CRUD operations for OrgMembershipSetting records. **Required create fields:** `entityId` **Optional create fields (backend defaults):** `createdBy`, `updatedBy`, `deleteMemberCascadeChildren`, `createChildCascadeOwners`, `createChildCascadeAdmins`, `createChildCascadeMembers`, `allowExternalMembers`, `inviteProfileAssignmentMode`, `populateMemberEmail`, `limitAllocationMode` +### `org-limit-aggregate` + +CRUD operations for OrgLimitAggregate records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitAggregate records | +| `find-first` | Find first matching orgLimitAggregate record | +| `get` | Get a orgLimitAggregate by id | +| `create` | Create a new orgLimitAggregate | +| `update` | Update an existing orgLimitAggregate | +| `delete` | Delete a orgLimitAggregate | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `entityId` | UUID | +| `num` | BigInt | +| `max` | BigInt | +| `softMax` | BigInt | +| `windowStart` | Datetime | +| `windowDuration` | Interval | +| `planMax` | BigInt | +| `purchasedCredits` | BigInt | +| `periodCredits` | BigInt | +| `reserved` | BigInt | + +**Required create fields:** `entityId` +**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration`, `planMax`, `purchasedCredits`, `periodCredits`, `reserved` + +### `org-limit` + +CRUD operations for OrgLimit records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimit records | +| `find-first` | Find first matching orgLimit record | +| `get` | Get a orgLimit by id | +| `create` | Create a new orgLimit | +| `update` | Update an existing orgLimit | +| `delete` | Delete a orgLimit | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `actorId` | UUID | +| `num` | BigInt | +| `max` | BigInt | +| `softMax` | BigInt | +| `windowStart` | Datetime | +| `windowDuration` | Interval | +| `planMax` | BigInt | +| `purchasedCredits` | BigInt | +| `periodCredits` | BigInt | +| `entityId` | UUID | + +**Required create fields:** `actorId`, `entityId` +**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration`, `planMax`, `purchasedCredits`, `periodCredits` + ### `org-invite` CRUD operations for OrgInvite records. @@ -1333,25 +1576,6 @@ submitOrgInviteCode | `--input.clientMutationId` | String | | `--input.token` | String | -### `request-upload-url` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `--input.bucketKey` | String (required) | - | `--input.ownerId` | UUID | - | `--input.contentHash` | String (required) | - | `--input.contentType` | String (required) | - | `--input.size` | Int (required) | - | `--input.filename` | String | - ### `provision-bucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/admin/cli/commands.ts b/sdk/constructive-cli/src/admin/cli/commands.ts index 237a75884..bd917bd2e 100644 --- a/sdk/constructive-cli/src/admin/cli/commands.ts +++ b/sdk/constructive-cli/src/admin/cli/commands.ts @@ -11,18 +11,27 @@ import orgGetSubordinatesRecordCmd from './commands/org-get-subordinates-record' import appPermissionCmd from './commands/app-permission'; import orgPermissionCmd from './commands/org-permission'; import appLevelRequirementCmd from './commands/app-level-requirement'; +import appLimitCreditRedemptionCmd from './commands/app-limit-credit-redemption'; +import appLimitCreditCodeItemCmd from './commands/app-limit-credit-code-item'; +import appLimitCreditCmd from './commands/app-limit-credit'; import orgMemberCmd from './commands/org-member'; import appPermissionDefaultCmd from './commands/app-permission-default'; +import appLimitCreditCodeCmd from './commands/app-limit-credit-code'; import orgPermissionDefaultCmd from './commands/org-permission-default'; import appAdminGrantCmd from './commands/app-admin-grant'; import appOwnerGrantCmd from './commands/app-owner-grant'; import appAchievementCmd from './commands/app-achievement'; import appStepCmd from './commands/app-step'; +import appLimitCapsDefaultCmd from './commands/app-limit-caps-default'; +import orgLimitCapsDefaultCmd from './commands/org-limit-caps-default'; +import appLimitCapCmd from './commands/app-limit-cap'; +import orgLimitCapCmd from './commands/org-limit-cap'; import orgAdminGrantCmd from './commands/org-admin-grant'; import orgOwnerGrantCmd from './commands/org-owner-grant'; import membershipTypeCmd from './commands/membership-type'; import appLimitDefaultCmd from './commands/app-limit-default'; import orgLimitDefaultCmd from './commands/org-limit-default'; +import orgLimitCreditCmd from './commands/org-limit-credit'; import orgChartEdgeGrantCmd from './commands/org-chart-edge-grant'; import appClaimedInviteCmd from './commands/app-claimed-invite'; import appGrantCmd from './commands/app-grant'; @@ -33,13 +42,13 @@ import appLimitEventCmd from './commands/app-limit-event'; import orgLimitEventCmd from './commands/org-limit-event'; import orgGrantCmd from './commands/org-grant'; import orgChartEdgeCmd from './commands/org-chart-edge'; -import appLimitCmd from './commands/app-limit'; -import orgLimitAggregateCmd from './commands/org-limit-aggregate'; import orgMemberProfileCmd from './commands/org-member-profile'; -import orgLimitCmd from './commands/org-limit'; import appLevelCmd from './commands/app-level'; +import appLimitCmd from './commands/app-limit'; import appInviteCmd from './commands/app-invite'; import orgMembershipSettingCmd from './commands/org-membership-setting'; +import orgLimitAggregateCmd from './commands/org-limit-aggregate'; +import orgLimitCmd from './commands/org-limit'; import orgInviteCmd from './commands/org-invite'; import appMembershipCmd from './commands/app-membership'; import orgMembershipCmd from './commands/org-membership'; @@ -56,7 +65,6 @@ import orgPermissionsGetByMaskCmd from './commands/org-permissions-get-by-mask'; import stepsRequiredCmd from './commands/steps-required'; import submitAppInviteCodeCmd from './commands/submit-app-invite-code'; import submitOrgInviteCodeCmd from './commands/submit-org-invite-code'; -import requestUploadUrlCmd from './commands/request-upload-url'; import provisionBucketCmd from './commands/provision-bucket'; const createCommandMap: () => Record< string, @@ -73,18 +81,27 @@ const createCommandMap: () => Record< 'app-permission': appPermissionCmd, 'org-permission': orgPermissionCmd, 'app-level-requirement': appLevelRequirementCmd, + 'app-limit-credit-redemption': appLimitCreditRedemptionCmd, + 'app-limit-credit-code-item': appLimitCreditCodeItemCmd, + 'app-limit-credit': appLimitCreditCmd, 'org-member': orgMemberCmd, 'app-permission-default': appPermissionDefaultCmd, + 'app-limit-credit-code': appLimitCreditCodeCmd, 'org-permission-default': orgPermissionDefaultCmd, 'app-admin-grant': appAdminGrantCmd, 'app-owner-grant': appOwnerGrantCmd, 'app-achievement': appAchievementCmd, 'app-step': appStepCmd, + 'app-limit-caps-default': appLimitCapsDefaultCmd, + 'org-limit-caps-default': orgLimitCapsDefaultCmd, + 'app-limit-cap': appLimitCapCmd, + 'org-limit-cap': orgLimitCapCmd, 'org-admin-grant': orgAdminGrantCmd, 'org-owner-grant': orgOwnerGrantCmd, 'membership-type': membershipTypeCmd, 'app-limit-default': appLimitDefaultCmd, 'org-limit-default': orgLimitDefaultCmd, + 'org-limit-credit': orgLimitCreditCmd, 'org-chart-edge-grant': orgChartEdgeGrantCmd, 'app-claimed-invite': appClaimedInviteCmd, 'app-grant': appGrantCmd, @@ -95,13 +112,13 @@ const createCommandMap: () => Record< 'org-limit-event': orgLimitEventCmd, 'org-grant': orgGrantCmd, 'org-chart-edge': orgChartEdgeCmd, - 'app-limit': appLimitCmd, - 'org-limit-aggregate': orgLimitAggregateCmd, 'org-member-profile': orgMemberProfileCmd, - 'org-limit': orgLimitCmd, 'app-level': appLevelCmd, + 'app-limit': appLimitCmd, 'app-invite': appInviteCmd, 'org-membership-setting': orgMembershipSettingCmd, + 'org-limit-aggregate': orgLimitAggregateCmd, + 'org-limit': orgLimitCmd, 'org-invite': orgInviteCmd, 'app-membership': appMembershipCmd, 'org-membership': orgMembershipCmd, @@ -118,11 +135,10 @@ const createCommandMap: () => Record< 'steps-required': stepsRequiredCmd, 'submit-app-invite-code': submitAppInviteCodeCmd, 'submit-org-invite-code': submitOrgInviteCodeCmd, - 'request-upload-url': requestUploadUrlCmd, 'provision-bucket': provisionBucketCmd, }); const usage = - '\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n org-get-managers-record orgGetManagersRecord CRUD operations\n org-get-subordinates-record orgGetSubordinatesRecord CRUD operations\n app-permission appPermission CRUD operations\n org-permission orgPermission CRUD operations\n app-level-requirement appLevelRequirement CRUD operations\n org-member orgMember CRUD operations\n app-permission-default appPermissionDefault CRUD operations\n org-permission-default orgPermissionDefault CRUD operations\n app-admin-grant appAdminGrant CRUD operations\n app-owner-grant appOwnerGrant CRUD operations\n app-achievement appAchievement CRUD operations\n app-step appStep CRUD operations\n org-admin-grant orgAdminGrant CRUD operations\n org-owner-grant orgOwnerGrant CRUD operations\n membership-type membershipType CRUD operations\n app-limit-default appLimitDefault CRUD operations\n org-limit-default orgLimitDefault CRUD operations\n org-chart-edge-grant orgChartEdgeGrant CRUD operations\n app-claimed-invite appClaimedInvite CRUD operations\n app-grant appGrant CRUD operations\n app-membership-default appMembershipDefault CRUD operations\n org-membership-default orgMembershipDefault CRUD operations\n org-claimed-invite orgClaimedInvite CRUD operations\n app-limit-event appLimitEvent CRUD operations\n org-limit-event orgLimitEvent CRUD operations\n org-grant orgGrant CRUD operations\n org-chart-edge orgChartEdge CRUD operations\n app-limit appLimit CRUD operations\n org-limit-aggregate orgLimitAggregate CRUD operations\n org-member-profile orgMemberProfile CRUD operations\n org-limit orgLimit CRUD operations\n app-level appLevel CRUD operations\n app-invite appInvite CRUD operations\n org-membership-setting orgMembershipSetting CRUD operations\n org-invite orgInvite CRUD operations\n app-membership appMembership CRUD operations\n org-membership orgMembership CRUD operations\n app-permissions-get-padded-mask appPermissionsGetPaddedMask\n org-permissions-get-padded-mask orgPermissionsGetPaddedMask\n org-is-manager-of orgIsManagerOf\n app-permissions-get-mask appPermissionsGetMask\n org-permissions-get-mask orgPermissionsGetMask\n steps-achieved stepsAchieved\n app-permissions-get-mask-by-names appPermissionsGetMaskByNames\n org-permissions-get-mask-by-names orgPermissionsGetMaskByNames\n app-permissions-get-by-mask Reads and enables pagination through a set of `AppPermission`.\n org-permissions-get-by-mask Reads and enables pagination through a set of `OrgPermission`.\n steps-required Reads and enables pagination through a set of `AppLevelRequirement`.\n submit-app-invite-code submitAppInviteCode\n submit-org-invite-code submitOrgInviteCode\n request-upload-url Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n'; + '\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n org-get-managers-record orgGetManagersRecord CRUD operations\n org-get-subordinates-record orgGetSubordinatesRecord CRUD operations\n app-permission appPermission CRUD operations\n org-permission orgPermission CRUD operations\n app-level-requirement appLevelRequirement CRUD operations\n app-limit-credit-redemption appLimitCreditRedemption CRUD operations\n app-limit-credit-code-item appLimitCreditCodeItem CRUD operations\n app-limit-credit appLimitCredit CRUD operations\n org-member orgMember CRUD operations\n app-permission-default appPermissionDefault CRUD operations\n app-limit-credit-code appLimitCreditCode CRUD operations\n org-permission-default orgPermissionDefault CRUD operations\n app-admin-grant appAdminGrant CRUD operations\n app-owner-grant appOwnerGrant CRUD operations\n app-achievement appAchievement CRUD operations\n app-step appStep CRUD operations\n app-limit-caps-default appLimitCapsDefault CRUD operations\n org-limit-caps-default orgLimitCapsDefault CRUD operations\n app-limit-cap appLimitCap CRUD operations\n org-limit-cap orgLimitCap CRUD operations\n org-admin-grant orgAdminGrant CRUD operations\n org-owner-grant orgOwnerGrant CRUD operations\n membership-type membershipType CRUD operations\n app-limit-default appLimitDefault CRUD operations\n org-limit-default orgLimitDefault CRUD operations\n org-limit-credit orgLimitCredit CRUD operations\n org-chart-edge-grant orgChartEdgeGrant CRUD operations\n app-claimed-invite appClaimedInvite CRUD operations\n app-grant appGrant CRUD operations\n app-membership-default appMembershipDefault CRUD operations\n org-membership-default orgMembershipDefault CRUD operations\n org-claimed-invite orgClaimedInvite CRUD operations\n app-limit-event appLimitEvent CRUD operations\n org-limit-event orgLimitEvent CRUD operations\n org-grant orgGrant CRUD operations\n org-chart-edge orgChartEdge CRUD operations\n org-member-profile orgMemberProfile CRUD operations\n app-level appLevel CRUD operations\n app-limit appLimit CRUD operations\n app-invite appInvite CRUD operations\n org-membership-setting orgMembershipSetting CRUD operations\n org-limit-aggregate orgLimitAggregate CRUD operations\n org-limit orgLimit CRUD operations\n org-invite orgInvite CRUD operations\n app-membership appMembership CRUD operations\n org-membership orgMembership CRUD operations\n app-permissions-get-padded-mask appPermissionsGetPaddedMask\n org-permissions-get-padded-mask orgPermissionsGetPaddedMask\n org-is-manager-of orgIsManagerOf\n app-permissions-get-mask appPermissionsGetMask\n org-permissions-get-mask orgPermissionsGetMask\n steps-achieved stepsAchieved\n app-permissions-get-mask-by-names appPermissionsGetMaskByNames\n org-permissions-get-mask-by-names orgPermissionsGetMaskByNames\n app-permissions-get-by-mask Reads and enables pagination through a set of `AppPermission`.\n org-permissions-get-by-mask Reads and enables pagination through a set of `OrgPermission`.\n steps-required Reads and enables pagination through a set of `AppLevelRequirement`.\n submit-app-invite-code submitAppInviteCode\n submit-org-invite-code submitOrgInviteCode\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n'; export const commands = async ( argv: Partial>, prompter: Inquirerer, diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit-cap.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit-cap.ts new file mode 100644 index 000000000..bda778029 --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit-cap.ts @@ -0,0 +1,293 @@ +/** + * CLI commands for AppLimitCap + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCapInput, + AppLimitCapPatch, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + entityId: 'uuid', + max: 'int', +}; +const usage = + '\napp-limit-cap \n\nCommands:\n list List appLimitCap records\n find-first Find first matching appLimitCap record\n get Get a appLimitCap by ID\n create Create a new appLimitCap\n update Update an existing appLimitCap\n delete Delete a appLimitCap\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: AppLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCap.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCap.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCap + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCapInput['appLimitCap']; + const client = getClient(); + const result = await client.appLimitCap + .create({ + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCapPatch; + const client = getClient(); + const result = await client.appLimitCap + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCap + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit-caps-default.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit-caps-default.ts new file mode 100644 index 000000000..fc70f5e3c --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit-caps-default.ts @@ -0,0 +1,277 @@ +/** + * CLI commands for AppLimitCapsDefault + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + max: 'int', +}; +const usage = + '\napp-limit-caps-default \n\nCommands:\n list List appLimitCapsDefault records\n find-first Find first matching appLimitCapsDefault record\n get Get a appLimitCapsDefault by ID\n create Create a new appLimitCapsDefault\n update Update an existing appLimitCapsDefault\n delete Delete a appLimitCapsDefault\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + > & { + select: AppLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCapsDefault.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCapsDefault.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCapsDefault + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCapsDefaultInput['appLimitCapsDefault']; + const client = getClient(); + const result = await client.appLimitCapsDefault + .create({ + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCapsDefaultPatch; + const client = getClient(); + const result = await client.appLimitCapsDefault + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCapsDefault + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-code-item.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-code-item.ts new file mode 100644 index 000000000..473600c1c --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-code-item.ts @@ -0,0 +1,317 @@ +/** + * CLI commands for AppLimitCreditCodeItem + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + creditCodeId: 'uuid', + defaultLimitId: 'uuid', + amount: 'int', + creditType: 'string', +}; +const usage = + '\napp-limit-credit-code-item \n\nCommands:\n list List appLimitCreditCodeItem records\n find-first Find first matching appLimitCreditCodeItem record\n get Get a appLimitCreditCodeItem by ID\n create Create a new appLimitCreditCodeItem\n update Update an existing appLimitCreditCodeItem\n delete Delete a appLimitCreditCodeItem\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + > & { + select: AppLimitCreditCodeItemSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCodeItem.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditCodeItemSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCodeItem.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .findOne({ + id: answers.id as string, + select: { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: true, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: true, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem']; + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .create({ + data: { + creditCodeId: cleanedData.creditCodeId, + defaultLimitId: cleanedData.defaultLimitId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + }, + select: { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: false, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: false, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: false, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditCodeItemPatch; + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .update({ + where: { + id: answers.id as string, + }, + data: { + creditCodeId: cleanedData.creditCodeId, + defaultLimitId: cleanedData.defaultLimitId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + }, + select: { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-code.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-code.ts new file mode 100644 index 000000000..9d4ea00b8 --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-code.ts @@ -0,0 +1,321 @@ +/** + * CLI commands for AppLimitCreditCode + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + code: 'string', + maxRedemptions: 'int', + currentRedemptions: 'int', + expiresAt: 'string', +}; +const usage = + '\napp-limit-credit-code \n\nCommands:\n list List appLimitCreditCode records\n find-first Find first matching appLimitCreditCode record\n get Get a appLimitCreditCode by ID\n create Create a new appLimitCreditCode\n update Update an existing appLimitCreditCode\n delete Delete a appLimitCreditCode\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + > & { + select: AppLimitCreditCodeSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCode.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditCodeSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCode.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCreditCode + .findOne({ + id: answers.id as string, + select: { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'code', + message: 'code', + required: true, + }, + { + type: 'text', + name: 'maxRedemptions', + message: 'maxRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRedemptions', + message: 'currentRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'expiresAt', + message: 'expiresAt', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditCodeInput['appLimitCreditCode']; + const client = getClient(); + const result = await client.appLimitCreditCode + .create({ + data: { + code: cleanedData.code, + maxRedemptions: cleanedData.maxRedemptions, + currentRedemptions: cleanedData.currentRedemptions, + expiresAt: cleanedData.expiresAt, + }, + select: { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'code', + message: 'code', + required: false, + }, + { + type: 'text', + name: 'maxRedemptions', + message: 'maxRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRedemptions', + message: 'currentRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'expiresAt', + message: 'expiresAt', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditCodePatch; + const client = getClient(); + const result = await client.appLimitCreditCode + .update({ + where: { + id: answers.id as string, + }, + data: { + code: cleanedData.code, + maxRedemptions: cleanedData.maxRedemptions, + currentRedemptions: cleanedData.currentRedemptions, + expiresAt: cleanedData.expiresAt, + }, + select: { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCreditCode + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-redemption.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-redemption.ts new file mode 100644 index 000000000..f574f0838 --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit-redemption.ts @@ -0,0 +1,275 @@ +/** + * CLI commands for AppLimitCreditRedemption + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + creditCodeId: 'uuid', + entityId: 'uuid', +}; +const usage = + '\napp-limit-credit-redemption \n\nCommands:\n list List appLimitCreditRedemption records\n find-first Find first matching appLimitCreditRedemption record\n get Get a appLimitCreditRedemption by ID\n create Create a new appLimitCreditRedemption\n update Update an existing appLimitCreditRedemption\n delete Delete a appLimitCreditRedemption\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + entityId: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + > & { + select: AppLimitCreditRedemptionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditRedemption.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + entityId: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditRedemptionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditRedemption.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCreditRedemption + .findOne({ + id: answers.id as string, + select: { + id: true, + creditCodeId: true, + entityId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption']; + const client = getClient(); + const result = await client.appLimitCreditRedemption + .create({ + data: { + creditCodeId: cleanedData.creditCodeId, + entityId: cleanedData.entityId, + }, + select: { + id: true, + creditCodeId: true, + entityId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: false, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditRedemptionPatch; + const client = getClient(); + const result = await client.appLimitCreditRedemption + .update({ + where: { + id: answers.id as string, + }, + data: { + creditCodeId: cleanedData.creditCodeId, + entityId: cleanedData.entityId, + }, + select: { + id: true, + creditCodeId: true, + entityId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCreditRedemption + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit.ts new file mode 100644 index 000000000..4b4cc889f --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit-credit.ts @@ -0,0 +1,337 @@ +/** + * CLI commands for AppLimitCredit + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditInput, + AppLimitCreditPatch, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + defaultLimitId: 'uuid', + actorId: 'uuid', + amount: 'int', + creditType: 'string', + reason: 'string', +}; +const usage = + '\napp-limit-credit \n\nCommands:\n list List appLimitCredit records\n find-first Find first matching appLimitCredit record\n get Get a appLimitCredit by ID\n create Create a new appLimitCredit\n update Update an existing appLimitCredit\n delete Delete a appLimitCredit\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: AppLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCredit.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCredit.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCredit + .findOne({ + id: answers.id as string, + select: { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: true, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: true, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditInput['appLimitCredit']; + const client = getClient(); + const result = await client.appLimitCredit + .create({ + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: false, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: false, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditPatch; + const client = getClient(); + const result = await client.appLimitCredit + .update({ + where: { + id: answers.id as string, + }, + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCredit + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/app-limit.ts b/sdk/constructive-cli/src/admin/cli/commands/app-limit.ts index 66293d320..fc9c93c93 100644 --- a/sdk/constructive-cli/src/admin/cli/commands/app-limit.ts +++ b/sdk/constructive-cli/src/admin/cli/commands/app-limit.ts @@ -24,6 +24,9 @@ const fieldSchema: FieldSchema = { softMax: 'int', windowStart: 'string', windowDuration: 'string', + planMax: 'int', + purchasedCredits: 'int', + periodCredits: 'int', }; const usage = '\napp-limit \n\nCommands:\n list List appLimit records\n find-first Find first matching appLimit record\n get Get a appLimit by ID\n create Create a new appLimit\n update Update an existing appLimit\n delete Delete a appLimit\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; @@ -84,6 +87,9 @@ async function handleList(argv: Partial>, _prompter: Inq softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }; const findManyArgs = parseFindManyArgs< FindManyArgs & { @@ -112,6 +118,9 @@ async function handleFindFirst(argv: Partial>, _prompter softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }; const findFirstArgs = parseFindFirstArgs< FindFirstArgs & { @@ -152,6 +161,9 @@ async function handleGet(argv: Partial>, prompter: Inqui softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }, }) .execute(); @@ -215,6 +227,27 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as CreateAppLimitInput['appLimit']; @@ -229,6 +262,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, }, select: { id: true, @@ -239,6 +275,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }, }) .execute(); @@ -308,6 +347,27 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitPatch; @@ -325,6 +385,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, }, select: { id: true, @@ -335,6 +398,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }, }) .execute(); diff --git a/sdk/constructive-cli/src/admin/cli/commands/org-limit-aggregate.ts b/sdk/constructive-cli/src/admin/cli/commands/org-limit-aggregate.ts index 8b50e450b..94a1b36d2 100644 --- a/sdk/constructive-cli/src/admin/cli/commands/org-limit-aggregate.ts +++ b/sdk/constructive-cli/src/admin/cli/commands/org-limit-aggregate.ts @@ -24,6 +24,10 @@ const fieldSchema: FieldSchema = { softMax: 'int', windowStart: 'string', windowDuration: 'string', + planMax: 'int', + purchasedCredits: 'int', + periodCredits: 'int', + reserved: 'int', }; const usage = '\norg-limit-aggregate \n\nCommands:\n list List orgLimitAggregate records\n find-first Find first matching orgLimitAggregate record\n get Get a orgLimitAggregate by ID\n create Create a new orgLimitAggregate\n update Update an existing orgLimitAggregate\n delete Delete a orgLimitAggregate\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; @@ -84,6 +88,10 @@ async function handleList(argv: Partial>, _prompter: Inq softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }; const findManyArgs = parseFindManyArgs< FindManyArgs & { @@ -112,6 +120,10 @@ async function handleFindFirst(argv: Partial>, _prompter softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }; const findFirstArgs = parseFindFirstArgs< FindFirstArgs & { @@ -152,6 +164,10 @@ async function handleGet(argv: Partial>, prompter: Inqui softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }, }) .execute(); @@ -215,6 +231,34 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reserved', + message: 'reserved', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined( @@ -232,6 +276,10 @@ async function handleCreate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, + reserved: cleanedData.reserved, }, select: { id: true, @@ -242,6 +290,10 @@ async function handleCreate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }, }) .execute(); @@ -311,6 +363,34 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reserved', + message: 'reserved', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitAggregatePatch; @@ -328,6 +408,10 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, + reserved: cleanedData.reserved, }, select: { id: true, @@ -338,6 +422,10 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }, }) .execute(); diff --git a/sdk/constructive-cli/src/admin/cli/commands/org-limit-cap.ts b/sdk/constructive-cli/src/admin/cli/commands/org-limit-cap.ts new file mode 100644 index 000000000..d034a28ad --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/org-limit-cap.ts @@ -0,0 +1,293 @@ +/** + * CLI commands for OrgLimitCap + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateOrgLimitCapInput, + OrgLimitCapPatch, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + entityId: 'uuid', + max: 'int', +}; +const usage = + '\norg-limit-cap \n\nCommands:\n list List orgLimitCap records\n find-first Find first matching orgLimitCap record\n get Get a orgLimitCap by ID\n create Create a new orgLimitCap\n update Update an existing orgLimitCap\n delete Delete a orgLimitCap\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: OrgLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCap.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: OrgLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCap.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.orgLimitCap + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateOrgLimitCapInput['orgLimitCap']; + const client = getClient(); + const result = await client.orgLimitCap + .create({ + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitCapPatch; + const client = getClient(); + const result = await client.orgLimitCap + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.orgLimitCap + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/org-limit-caps-default.ts b/sdk/constructive-cli/src/admin/cli/commands/org-limit-caps-default.ts new file mode 100644 index 000000000..f3ed19b44 --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/org-limit-caps-default.ts @@ -0,0 +1,277 @@ +/** + * CLI commands for OrgLimitCapsDefault + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + max: 'int', +}; +const usage = + '\norg-limit-caps-default \n\nCommands:\n list List orgLimitCapsDefault records\n find-first Find first matching orgLimitCapsDefault record\n get Get a orgLimitCapsDefault by ID\n create Create a new orgLimitCapsDefault\n update Update an existing orgLimitCapsDefault\n delete Delete a orgLimitCapsDefault\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + > & { + select: OrgLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCapsDefault.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: OrgLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCapsDefault.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.orgLimitCapsDefault + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault']; + const client = getClient(); + const result = await client.orgLimitCapsDefault + .create({ + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitCapsDefaultPatch; + const client = getClient(); + const result = await client.orgLimitCapsDefault + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.orgLimitCapsDefault + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/org-limit-credit.ts b/sdk/constructive-cli/src/admin/cli/commands/org-limit-credit.ts new file mode 100644 index 000000000..749d33127 --- /dev/null +++ b/sdk/constructive-cli/src/admin/cli/commands/org-limit-credit.ts @@ -0,0 +1,359 @@ +/** + * CLI commands for OrgLimitCredit + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateOrgLimitCreditInput, + OrgLimitCreditPatch, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + defaultLimitId: 'uuid', + actorId: 'uuid', + entityId: 'uuid', + amount: 'int', + creditType: 'string', + reason: 'string', +}; +const usage = + '\norg-limit-credit \n\nCommands:\n list List orgLimitCredit records\n find-first Find first matching orgLimitCredit record\n get Get a orgLimitCredit by ID\n create Create a new orgLimitCredit\n update Update an existing orgLimitCredit\n delete Delete a orgLimitCredit\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: OrgLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCredit.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: OrgLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCredit.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.orgLimitCredit + .findOne({ + id: answers.id as string, + select: { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: true, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: true, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateOrgLimitCreditInput['orgLimitCredit']; + const client = getClient(); + const result = await client.orgLimitCredit + .create({ + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + entityId: cleanedData.entityId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: false, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: false, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitCreditPatch; + const client = getClient(); + const result = await client.orgLimitCredit + .update({ + where: { + id: answers.id as string, + }, + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + entityId: cleanedData.entityId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.orgLimitCredit + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/admin/cli/commands/org-limit.ts b/sdk/constructive-cli/src/admin/cli/commands/org-limit.ts index dda64514d..7d8283146 100644 --- a/sdk/constructive-cli/src/admin/cli/commands/org-limit.ts +++ b/sdk/constructive-cli/src/admin/cli/commands/org-limit.ts @@ -24,6 +24,9 @@ const fieldSchema: FieldSchema = { softMax: 'int', windowStart: 'string', windowDuration: 'string', + planMax: 'int', + purchasedCredits: 'int', + periodCredits: 'int', entityId: 'uuid', }; const usage = @@ -85,6 +88,9 @@ async function handleList(argv: Partial>, _prompter: Inq softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }; const findManyArgs = parseFindManyArgs< @@ -114,6 +120,9 @@ async function handleFindFirst(argv: Partial>, _prompter softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }; const findFirstArgs = parseFindFirstArgs< @@ -155,6 +164,9 @@ async function handleGet(argv: Partial>, prompter: Inqui softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }, }) @@ -219,6 +231,27 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'entityId', @@ -239,6 +272,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, entityId: cleanedData.entityId, }, select: { @@ -250,6 +286,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }, }) @@ -320,6 +359,27 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'entityId', @@ -343,6 +403,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, entityId: cleanedData.entityId, }, select: { @@ -354,6 +417,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }, }) diff --git a/sdk/constructive-cli/src/admin/orm/README.md b/sdk/constructive-cli/src/admin/orm/README.md index 99ee4b492..b4b02888a 100644 --- a/sdk/constructive-cli/src/admin/orm/README.md +++ b/sdk/constructive-cli/src/admin/orm/README.md @@ -26,18 +26,27 @@ const db = createClient({ | `appPermission` | findMany, findOne, create, update, delete | | `orgPermission` | findMany, findOne, create, update, delete | | `appLevelRequirement` | findMany, findOne, create, update, delete | +| `appLimitCreditRedemption` | findMany, findOne, create, update, delete | +| `appLimitCreditCodeItem` | findMany, findOne, create, update, delete | +| `appLimitCredit` | findMany, findOne, create, update, delete | | `orgMember` | findMany, findOne, create, update, delete | | `appPermissionDefault` | findMany, findOne, create, update, delete | +| `appLimitCreditCode` | findMany, findOne, create, update, delete | | `orgPermissionDefault` | findMany, findOne, create, update, delete | | `appAdminGrant` | findMany, findOne, create, update, delete | | `appOwnerGrant` | findMany, findOne, create, update, delete | | `appAchievement` | findMany, findOne, create, update, delete | | `appStep` | findMany, findOne, create, update, delete | +| `appLimitCapsDefault` | findMany, findOne, create, update, delete | +| `orgLimitCapsDefault` | findMany, findOne, create, update, delete | +| `appLimitCap` | findMany, findOne, create, update, delete | +| `orgLimitCap` | findMany, findOne, create, update, delete | | `orgAdminGrant` | findMany, findOne, create, update, delete | | `orgOwnerGrant` | findMany, findOne, create, update, delete | | `membershipType` | findMany, findOne, create, update, delete | | `appLimitDefault` | findMany, findOne, create, update, delete | | `orgLimitDefault` | findMany, findOne, create, update, delete | +| `orgLimitCredit` | findMany, findOne, create, update, delete | | `orgChartEdgeGrant` | findMany, findOne, create, update, delete | | `appClaimedInvite` | findMany, findOne, create, update, delete | | `appGrant` | findMany, findOne, create, update, delete | @@ -48,13 +57,13 @@ const db = createClient({ | `orgLimitEvent` | findMany, findOne, create, update, delete | | `orgGrant` | findMany, findOne, create, update, delete | | `orgChartEdge` | findMany, findOne, create, update, delete | -| `appLimit` | findMany, findOne, create, update, delete | -| `orgLimitAggregate` | findMany, findOne, create, update, delete | | `orgMemberProfile` | findMany, findOne, create, update, delete | -| `orgLimit` | findMany, findOne, create, update, delete | | `appLevel` | findMany, findOne, create, update, delete | +| `appLimit` | findMany, findOne, create, update, delete | | `appInvite` | findMany, findOne, create, update, delete | | `orgMembershipSetting` | findMany, findOne, create, update, delete | +| `orgLimitAggregate` | findMany, findOne, create, update, delete | +| `orgLimit` | findMany, findOne, create, update, delete | | `orgInvite` | findMany, findOne, create, update, delete | | `appMembership` | findMany, findOne, create, update, delete | | `orgMembership` | findMany, findOne, create, update, delete | @@ -223,6 +232,104 @@ const updated = await db.appLevelRequirement.update({ where: { id: '' }, d const deleted = await db.appLevelRequirement.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditRedemption` + +CRUD operations for AppLimitCreditRedemption records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditRedemption records +const items = await db.appLimitCreditRedemption.findMany({ select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditRedemption.findOne({ id: '', select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Create +const created = await db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditCodeItem` + +CRUD operations for AppLimitCreditCodeItem records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `defaultLimitId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCodeItem records +const items = await db.appLimitCreditCodeItem.findMany({ select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Create +const created = await db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCredit` + +CRUD operations for AppLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCredit records +const items = await db.appLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.appLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgMember` CRUD operations for OrgMember records. @@ -285,6 +392,39 @@ const updated = await db.appPermissionDefault.update({ where: { id: '' }, const deleted = await db.appPermissionDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditCode` + +CRUD operations for AppLimitCreditCode records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `code` | String | Yes | +| `maxRedemptions` | Int | Yes | +| `currentRedemptions` | Int | Yes | +| `expiresAt` | Datetime | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCode records +const items = await db.appLimitCreditCode.findMany({ select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCode.findOne({ id: '', select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Create +const created = await db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCode.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgPermissionDefault` CRUD operations for OrgPermissionDefault records. @@ -452,6 +592,132 @@ const updated = await db.appStep.update({ where: { id: '' }, data: { actor const deleted = await db.appStep.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCapsDefault` + +CRUD operations for AppLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCapsDefault records +const items = await db.appLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCapsDefault` + +CRUD operations for OrgLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCapsDefault records +const items = await db.orgLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCap` + +CRUD operations for AppLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCap records +const items = await db.appLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCap.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCap` + +CRUD operations for OrgLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCap records +const items = await db.orgLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCap.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgAdminGrant` CRUD operations for OrgAdminGrant records. @@ -620,6 +886,41 @@ const updated = await db.orgLimitDefault.update({ where: { id: '' }, data: const deleted = await db.orgLimitDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitCredit` + +CRUD operations for OrgLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `entityId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all orgLimitCredit records +const items = await db.orgLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgChartEdgeGrant` CRUD operations for OrgChartEdgeGrant records. @@ -977,78 +1278,6 @@ const updated = await db.orgChartEdge.update({ where: { id: '' }, data: { const deleted = await db.orgChartEdge.delete({ where: { id: '' } }).execute(); ``` -### `db.appLimit` - -CRUD operations for AppLimit records. - -**Fields:** - -| Field | Type | Editable | -|-------|------|----------| -| `id` | UUID | No | -| `name` | String | Yes | -| `actorId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | - -**Operations:** - -```typescript -// List all appLimit records -const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Get one by id -const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Create -const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); - -// Update -const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); - -// Delete -const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); -``` - -### `db.orgLimitAggregate` - -CRUD operations for OrgLimitAggregate records. - -**Fields:** - -| Field | Type | Editable | -|-------|------|----------| -| `id` | UUID | No | -| `name` | String | Yes | -| `entityId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | - -**Operations:** - -```typescript -// List all orgLimitAggregate records -const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Get one by id -const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Create -const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); - -// Update -const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); - -// Delete -const deleted = await db.orgLimitAggregate.delete({ where: { id: '' } }).execute(); -``` - ### `db.orgMemberProfile` CRUD operations for OrgMemberProfile records. @@ -1088,9 +1317,9 @@ const updated = await db.orgMemberProfile.update({ where: { id: '' }, data const deleted = await db.orgMemberProfile.delete({ where: { id: '' } }).execute(); ``` -### `db.orgLimit` +### `db.appLevel` -CRUD operations for OrgLimit records. +CRUD operations for AppLevel records. **Fields:** @@ -1098,36 +1327,34 @@ CRUD operations for OrgLimit records. |-------|------|----------| | `id` | UUID | No | | `name` | String | Yes | -| `actorId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | -| `entityId` | UUID | Yes | +| `description` | String | Yes | +| `image` | ConstructiveInternalTypeImage | Yes | +| `ownerId` | UUID | Yes | +| `createdAt` | Datetime | No | +| `updatedAt` | Datetime | No | **Operations:** ```typescript -// List all orgLimit records -const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +// List all appLevel records +const items = await db.appLevel.findMany({ select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); // Get one by id -const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const item = await db.appLevel.findOne({ id: '', select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); // Create -const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute(); +const created = await db.appLevel.create({ data: { name: '', description: '', image: '', ownerId: '' }, select: { id: true } }).execute(); // Update -const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); +const updated = await db.appLevel.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); +const deleted = await db.appLevel.delete({ where: { id: '' } }).execute(); ``` -### `db.appLevel` +### `db.appLimit` -CRUD operations for AppLevel records. +CRUD operations for AppLimit records. **Fields:** @@ -1135,29 +1362,33 @@ CRUD operations for AppLevel records. |-------|------|----------| | `id` | UUID | No | | `name` | String | Yes | -| `description` | String | Yes | -| `image` | ConstructiveInternalTypeImage | Yes | -| `ownerId` | UUID | Yes | -| `createdAt` | Datetime | No | -| `updatedAt` | Datetime | No | +| `actorId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | **Operations:** ```typescript -// List all appLevel records -const items = await db.appLevel.findMany({ select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); +// List all appLimit records +const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Get one by id -const item = await db.appLevel.findOne({ id: '', select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); +const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Create -const created = await db.appLevel.create({ data: { name: '', description: '', image: '', ownerId: '' }, select: { id: true } }).execute(); +const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); // Update -const updated = await db.appLevel.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); +const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.appLevel.delete({ where: { id: '' } }).execute(); +const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); ``` ### `db.appInvite` @@ -1243,6 +1474,86 @@ const updated = await db.orgMembershipSetting.update({ where: { id: '' }, const deleted = await db.orgMembershipSetting.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitAggregate` + +CRUD operations for OrgLimitAggregate records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `reserved` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitAggregate records +const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); + +// Get one by id +const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); + +// Create +const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitAggregate.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimit` + +CRUD operations for OrgLimit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `actorId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all orgLimit records +const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); + +// Create +const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgInvite` CRUD operations for OrgInvite records. @@ -1587,24 +1898,6 @@ submitOrgInviteCode const result = await db.mutation.submitOrgInviteCode({ input: { token: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/admin/orm/index.ts b/sdk/constructive-cli/src/admin/orm/index.ts index 142d00e0c..977fb09c3 100644 --- a/sdk/constructive-cli/src/admin/orm/index.ts +++ b/sdk/constructive-cli/src/admin/orm/index.ts @@ -10,18 +10,27 @@ import { OrgGetSubordinatesRecordModel } from './models/orgGetSubordinatesRecord import { AppPermissionModel } from './models/appPermission'; import { OrgPermissionModel } from './models/orgPermission'; import { AppLevelRequirementModel } from './models/appLevelRequirement'; +import { AppLimitCreditRedemptionModel } from './models/appLimitCreditRedemption'; +import { AppLimitCreditCodeItemModel } from './models/appLimitCreditCodeItem'; +import { AppLimitCreditModel } from './models/appLimitCredit'; import { OrgMemberModel } from './models/orgMember'; import { AppPermissionDefaultModel } from './models/appPermissionDefault'; +import { AppLimitCreditCodeModel } from './models/appLimitCreditCode'; import { OrgPermissionDefaultModel } from './models/orgPermissionDefault'; import { AppAdminGrantModel } from './models/appAdminGrant'; import { AppOwnerGrantModel } from './models/appOwnerGrant'; import { AppAchievementModel } from './models/appAchievement'; import { AppStepModel } from './models/appStep'; +import { AppLimitCapsDefaultModel } from './models/appLimitCapsDefault'; +import { OrgLimitCapsDefaultModel } from './models/orgLimitCapsDefault'; +import { AppLimitCapModel } from './models/appLimitCap'; +import { OrgLimitCapModel } from './models/orgLimitCap'; import { OrgAdminGrantModel } from './models/orgAdminGrant'; import { OrgOwnerGrantModel } from './models/orgOwnerGrant'; import { MembershipTypeModel } from './models/membershipType'; import { AppLimitDefaultModel } from './models/appLimitDefault'; import { OrgLimitDefaultModel } from './models/orgLimitDefault'; +import { OrgLimitCreditModel } from './models/orgLimitCredit'; import { OrgChartEdgeGrantModel } from './models/orgChartEdgeGrant'; import { AppClaimedInviteModel } from './models/appClaimedInvite'; import { AppGrantModel } from './models/appGrant'; @@ -32,13 +41,13 @@ import { AppLimitEventModel } from './models/appLimitEvent'; import { OrgLimitEventModel } from './models/orgLimitEvent'; import { OrgGrantModel } from './models/orgGrant'; import { OrgChartEdgeModel } from './models/orgChartEdge'; -import { AppLimitModel } from './models/appLimit'; -import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; import { OrgMemberProfileModel } from './models/orgMemberProfile'; -import { OrgLimitModel } from './models/orgLimit'; import { AppLevelModel } from './models/appLevel'; +import { AppLimitModel } from './models/appLimit'; import { AppInviteModel } from './models/appInvite'; import { OrgMembershipSettingModel } from './models/orgMembershipSetting'; +import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; +import { OrgLimitModel } from './models/orgLimit'; import { OrgInviteModel } from './models/orgInvite'; import { AppMembershipModel } from './models/appMembership'; import { OrgMembershipModel } from './models/orgMembership'; @@ -83,18 +92,27 @@ export function createClient(config: OrmClientConfig) { appPermission: new AppPermissionModel(client), orgPermission: new OrgPermissionModel(client), appLevelRequirement: new AppLevelRequirementModel(client), + appLimitCreditRedemption: new AppLimitCreditRedemptionModel(client), + appLimitCreditCodeItem: new AppLimitCreditCodeItemModel(client), + appLimitCredit: new AppLimitCreditModel(client), orgMember: new OrgMemberModel(client), appPermissionDefault: new AppPermissionDefaultModel(client), + appLimitCreditCode: new AppLimitCreditCodeModel(client), orgPermissionDefault: new OrgPermissionDefaultModel(client), appAdminGrant: new AppAdminGrantModel(client), appOwnerGrant: new AppOwnerGrantModel(client), appAchievement: new AppAchievementModel(client), appStep: new AppStepModel(client), + appLimitCapsDefault: new AppLimitCapsDefaultModel(client), + orgLimitCapsDefault: new OrgLimitCapsDefaultModel(client), + appLimitCap: new AppLimitCapModel(client), + orgLimitCap: new OrgLimitCapModel(client), orgAdminGrant: new OrgAdminGrantModel(client), orgOwnerGrant: new OrgOwnerGrantModel(client), membershipType: new MembershipTypeModel(client), appLimitDefault: new AppLimitDefaultModel(client), orgLimitDefault: new OrgLimitDefaultModel(client), + orgLimitCredit: new OrgLimitCreditModel(client), orgChartEdgeGrant: new OrgChartEdgeGrantModel(client), appClaimedInvite: new AppClaimedInviteModel(client), appGrant: new AppGrantModel(client), @@ -105,13 +123,13 @@ export function createClient(config: OrmClientConfig) { orgLimitEvent: new OrgLimitEventModel(client), orgGrant: new OrgGrantModel(client), orgChartEdge: new OrgChartEdgeModel(client), - appLimit: new AppLimitModel(client), - orgLimitAggregate: new OrgLimitAggregateModel(client), orgMemberProfile: new OrgMemberProfileModel(client), - orgLimit: new OrgLimitModel(client), appLevel: new AppLevelModel(client), + appLimit: new AppLimitModel(client), appInvite: new AppInviteModel(client), orgMembershipSetting: new OrgMembershipSettingModel(client), + orgLimitAggregate: new OrgLimitAggregateModel(client), + orgLimit: new OrgLimitModel(client), orgInvite: new OrgInviteModel(client), appMembership: new AppMembershipModel(client), orgMembership: new OrgMembershipModel(client), diff --git a/sdk/constructive-cli/src/admin/orm/input-types.ts b/sdk/constructive-cli/src/admin/orm/input-types.ts index a0e988480..4591edfda 100644 --- a/sdk/constructive-cli/src/admin/orm/input-types.ts +++ b/sdk/constructive-cli/src/admin/orm/input-types.ts @@ -282,6 +282,40 @@ export interface AppLevelRequirement { createdAt?: string | null; updatedAt?: string | null; } +/** Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits */ +export interface AppLimitCreditRedemption { + id: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string | null; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string | null; +} +/** Items within a credit code — each row grants credits for a specific limit definition */ +export interface AppLimitCreditCodeItem { + id: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string | null; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string | null; + /** Number of credits this item grants per redemption */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; +} +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface AppLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Simplified view of active members in an entity, used for listing who belongs to an org or group */ export interface OrgMember { id: string; @@ -298,6 +332,18 @@ export interface AppPermissionDefault { /** Default permission bitmask applied to new members */ permissions?: string | null; } +/** Redeemable credit codes managed by admins with the add_credits permission */ +export interface AppLimitCreditCode { + id: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string | null; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number | null; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number | null; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string | null; +} /** Stores the default permission bitmask assigned to new members upon joining */ export interface OrgPermissionDefault { id: string; @@ -350,6 +396,42 @@ export interface AppStep { createdAt?: string | null; updatedAt?: string | null; } +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface AppLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface OrgLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface AppLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface OrgLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} /** Records of admin role grants and revocations between members */ export interface OrgAdminGrant { id: string; @@ -411,6 +493,22 @@ export interface OrgLimitDefault { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string | null; } +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface OrgLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table */ export interface OrgChartEdgeGrant { id: string; @@ -566,42 +664,6 @@ export interface OrgChartEdge { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number | null; } -/** Tracks per-actor usage counts against configurable maximum limits */ -export interface AppLimit { - id: string; - /** Name identifier of the limit being tracked */ - name?: string | null; - /** User whose usage is being tracked against this limit */ - actorId?: string | null; - /** Current usage count for this actor and limit */ - num?: string | null; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string | null; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string | null; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string | null; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: string | null; -} -/** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ -export interface OrgLimitAggregate { - id: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string | null; - /** Entity (org) whose aggregate usage is being tracked */ - entityId?: string | null; - /** Current aggregate usage count for this entity and limit */ - num?: string | null; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string | null; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string | null; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string | null; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: string | null; -} /** Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) */ export interface OrgMemberProfile { id: string; @@ -624,8 +686,22 @@ export interface OrgMemberProfile { /** Profile picture visible to other entity members */ profilePicture?: ConstructiveInternalTypeImage | null; } +/** Defines available levels that users can achieve by completing requirements */ +export interface AppLevel { + id: string; + /** Unique name of the level */ + name?: string | null; + /** Human-readable description of what this level represents */ + description?: string | null; + /** Badge or icon image associated with this level */ + image?: ConstructiveInternalTypeImage | null; + /** Optional owner (actor) who created or manages this level */ + ownerId?: string | null; + createdAt?: string | null; + updatedAt?: string | null; +} /** Tracks per-actor usage counts against configurable maximum limits */ -export interface OrgLimit { +export interface AppLimit { id: string; /** Name identifier of the limit being tracked */ name?: string | null; @@ -641,21 +717,12 @@ export interface OrgLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; - entityId?: string | null; -} -/** Defines available levels that users can achieve by completing requirements */ -export interface AppLevel { - id: string; - /** Unique name of the level */ - name?: string | null; - /** Human-readable description of what this level represents */ - description?: string | null; - /** Badge or icon image associated with this level */ - image?: ConstructiveInternalTypeImage | null; - /** Optional owner (actor) who created or manages this level */ - ownerId?: string | null; - createdAt?: string | null; - updatedAt?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; } /** Invitation records sent to prospective members via email, with token-based redemption and expiration */ export interface AppInvite { @@ -709,6 +776,57 @@ export interface OrgMembershipSetting { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string | null; } +/** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ +export interface OrgLimitAggregate { + id: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string | null; + /** Entity (org) whose aggregate usage is being tracked */ + entityId?: string | null; + /** Current aggregate usage count for this entity and limit */ + num?: string | null; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string | null; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string | null; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string | null; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string | null; +} +/** Tracks per-actor usage counts against configurable maximum limits */ +export interface OrgLimit { + id: string; + /** Name identifier of the limit being tracked */ + name?: string | null; + /** User whose usage is being tracked against this limit */ + actorId?: string | null; + /** Current usage count for this actor and limit */ + num?: string | null; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string | null; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string | null; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string | null; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + entityId?: string | null; +} /** Invitation records sent to prospective members via email, with token-based redemption and expiration */ export interface OrgInvite { id: string; @@ -818,18 +936,44 @@ export interface OrgGetSubordinatesRecordRelations {} export interface AppPermissionRelations {} export interface OrgPermissionRelations {} export interface AppLevelRequirementRelations {} +export interface AppLimitCreditRedemptionRelations { + creditCode?: AppLimitCreditCode | null; +} +export interface AppLimitCreditCodeItemRelations { + creditCode?: AppLimitCreditCode | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditRelations { + defaultLimit?: AppLimitDefault | null; +} export interface OrgMemberRelations {} export interface AppPermissionDefaultRelations {} +export interface AppLimitCreditCodeRelations { + appLimitCreditCodeItemsByCreditCodeId?: ConnectionResult; + appLimitCreditRedemptionsByCreditCodeId?: ConnectionResult; +} export interface OrgPermissionDefaultRelations {} export interface AppAdminGrantRelations {} export interface AppOwnerGrantRelations {} export interface AppAchievementRelations {} export interface AppStepRelations {} +export interface AppLimitCapsDefaultRelations {} +export interface OrgLimitCapsDefaultRelations {} +export interface AppLimitCapRelations {} +export interface OrgLimitCapRelations {} export interface OrgAdminGrantRelations {} export interface OrgOwnerGrantRelations {} export interface MembershipTypeRelations {} -export interface AppLimitDefaultRelations {} -export interface OrgLimitDefaultRelations {} +export interface AppLimitDefaultRelations { + appLimitCreditsByDefaultLimitId?: ConnectionResult; + appLimitCreditCodeItemsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitDefaultRelations { + orgLimitCreditsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitCreditRelations { + defaultLimit?: OrgLimitDefault | null; +} export interface OrgChartEdgeGrantRelations {} export interface AppClaimedInviteRelations {} export interface AppGrantRelations {} @@ -840,15 +984,15 @@ export interface AppLimitEventRelations {} export interface OrgLimitEventRelations {} export interface OrgGrantRelations {} export interface OrgChartEdgeRelations {} -export interface AppLimitRelations {} -export interface OrgLimitAggregateRelations {} export interface OrgMemberProfileRelations { membership?: OrgMembership | null; } -export interface OrgLimitRelations {} export interface AppLevelRelations {} +export interface AppLimitRelations {} export interface AppInviteRelations {} export interface OrgMembershipSettingRelations {} +export interface OrgLimitAggregateRelations {} +export interface OrgLimitRelations {} export interface OrgInviteRelations {} export interface AppMembershipRelations {} export interface OrgMembershipRelations { @@ -862,20 +1006,31 @@ export type OrgGetSubordinatesRecordWithRelations = OrgGetSubordinatesRecord & export type AppPermissionWithRelations = AppPermission & AppPermissionRelations; export type OrgPermissionWithRelations = OrgPermission & OrgPermissionRelations; export type AppLevelRequirementWithRelations = AppLevelRequirement & AppLevelRequirementRelations; +export type AppLimitCreditRedemptionWithRelations = AppLimitCreditRedemption & + AppLimitCreditRedemptionRelations; +export type AppLimitCreditCodeItemWithRelations = AppLimitCreditCodeItem & + AppLimitCreditCodeItemRelations; +export type AppLimitCreditWithRelations = AppLimitCredit & AppLimitCreditRelations; export type OrgMemberWithRelations = OrgMember & OrgMemberRelations; export type AppPermissionDefaultWithRelations = AppPermissionDefault & AppPermissionDefaultRelations; +export type AppLimitCreditCodeWithRelations = AppLimitCreditCode & AppLimitCreditCodeRelations; export type OrgPermissionDefaultWithRelations = OrgPermissionDefault & OrgPermissionDefaultRelations; export type AppAdminGrantWithRelations = AppAdminGrant & AppAdminGrantRelations; export type AppOwnerGrantWithRelations = AppOwnerGrant & AppOwnerGrantRelations; export type AppAchievementWithRelations = AppAchievement & AppAchievementRelations; export type AppStepWithRelations = AppStep & AppStepRelations; +export type AppLimitCapsDefaultWithRelations = AppLimitCapsDefault & AppLimitCapsDefaultRelations; +export type OrgLimitCapsDefaultWithRelations = OrgLimitCapsDefault & OrgLimitCapsDefaultRelations; +export type AppLimitCapWithRelations = AppLimitCap & AppLimitCapRelations; +export type OrgLimitCapWithRelations = OrgLimitCap & OrgLimitCapRelations; export type OrgAdminGrantWithRelations = OrgAdminGrant & OrgAdminGrantRelations; export type OrgOwnerGrantWithRelations = OrgOwnerGrant & OrgOwnerGrantRelations; export type MembershipTypeWithRelations = MembershipType & MembershipTypeRelations; export type AppLimitDefaultWithRelations = AppLimitDefault & AppLimitDefaultRelations; export type OrgLimitDefaultWithRelations = OrgLimitDefault & OrgLimitDefaultRelations; +export type OrgLimitCreditWithRelations = OrgLimitCredit & OrgLimitCreditRelations; export type OrgChartEdgeGrantWithRelations = OrgChartEdgeGrant & OrgChartEdgeGrantRelations; export type AppClaimedInviteWithRelations = AppClaimedInvite & AppClaimedInviteRelations; export type AppGrantWithRelations = AppGrant & AppGrantRelations; @@ -888,14 +1043,14 @@ export type AppLimitEventWithRelations = AppLimitEvent & AppLimitEventRelations; export type OrgLimitEventWithRelations = OrgLimitEvent & OrgLimitEventRelations; export type OrgGrantWithRelations = OrgGrant & OrgGrantRelations; export type OrgChartEdgeWithRelations = OrgChartEdge & OrgChartEdgeRelations; -export type AppLimitWithRelations = AppLimit & AppLimitRelations; -export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; export type OrgMemberProfileWithRelations = OrgMemberProfile & OrgMemberProfileRelations; -export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; export type AppLevelWithRelations = AppLevel & AppLevelRelations; +export type AppLimitWithRelations = AppLimit & AppLimitRelations; export type AppInviteWithRelations = AppInvite & AppInviteRelations; export type OrgMembershipSettingWithRelations = OrgMembershipSetting & OrgMembershipSettingRelations; +export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; +export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; export type OrgInviteWithRelations = OrgInvite & OrgInviteRelations; export type AppMembershipWithRelations = AppMembership & AppMembershipRelations; export type OrgMembershipWithRelations = OrgMembership & OrgMembershipRelations; @@ -932,6 +1087,38 @@ export type AppLevelRequirementSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitCreditRedemptionSelect = { + id?: boolean; + creditCodeId?: boolean; + entityId?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; +}; +export type AppLimitCreditCodeItemSelect = { + id?: boolean; + creditCodeId?: boolean; + defaultLimitId?: boolean; + amount?: boolean; + creditType?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; export type OrgMemberSelect = { id?: boolean; isAdmin?: boolean; @@ -942,6 +1129,25 @@ export type AppPermissionDefaultSelect = { id?: boolean; permissions?: boolean; }; +export type AppLimitCreditCodeSelect = { + id?: boolean; + code?: boolean; + maxRedemptions?: boolean; + currentRedemptions?: boolean; + expiresAt?: boolean; + appLimitCreditCodeItemsByCreditCodeId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; + appLimitCreditRedemptionsByCreditCodeId?: { + select: AppLimitCreditRedemptionSelect; + first?: number; + filter?: AppLimitCreditRedemptionFilter; + orderBy?: AppLimitCreditRedemptionOrderBy[]; + }; +}; export type OrgPermissionDefaultSelect = { id?: boolean; permissions?: boolean; @@ -979,6 +1185,28 @@ export type AppStepSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type OrgLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type AppLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; +export type OrgLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; export type OrgAdminGrantSelect = { id?: boolean; isGrant?: boolean; @@ -1010,12 +1238,42 @@ export type AppLimitDefaultSelect = { name?: boolean; max?: boolean; softMax?: boolean; + appLimitCreditsByDefaultLimitId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; + appLimitCreditCodeItemsByDefaultLimitId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; }; export type OrgLimitDefaultSelect = { id?: boolean; name?: boolean; max?: boolean; softMax?: boolean; + orgLimitCreditsByDefaultLimitId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; +}; +export type OrgLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + entityId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + defaultLimit?: { + select: OrgLimitDefaultSelect; + }; }; export type OrgChartEdgeGrantSelect = { id?: boolean; @@ -1114,26 +1372,6 @@ export type OrgChartEdgeSelect = { positionTitle?: boolean; positionLevel?: boolean; }; -export type AppLimitSelect = { - id?: boolean; - name?: boolean; - actorId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; -}; -export type OrgLimitAggregateSelect = { - id?: boolean; - name?: boolean; - entityId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; -}; export type OrgMemberProfileSelect = { id?: boolean; createdAt?: boolean; @@ -1150,17 +1388,6 @@ export type OrgMemberProfileSelect = { select: OrgMembershipSelect; }; }; -export type OrgLimitSelect = { - id?: boolean; - name?: boolean; - actorId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; - entityId?: boolean; -}; export type AppLevelSelect = { id?: boolean; name?: boolean; @@ -1170,6 +1397,19 @@ export type AppLevelSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitSelect = { + id?: boolean; + name?: boolean; + actorId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; +}; export type AppInviteSelect = { id?: boolean; email?: boolean; @@ -1201,17 +1441,45 @@ export type OrgMembershipSettingSelect = { populateMemberEmail?: boolean; limitAllocationMode?: boolean; }; -export type OrgInviteSelect = { +export type OrgLimitAggregateSelect = { id?: boolean; - email?: boolean; - senderId?: boolean; - receiverId?: boolean; - inviteToken?: boolean; - inviteValid?: boolean; - inviteLimit?: boolean; - inviteCount?: boolean; - multiple?: boolean; - data?: boolean; + name?: boolean; + entityId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + reserved?: boolean; +}; +export type OrgLimitSelect = { + id?: boolean; + name?: boolean; + actorId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + entityId?: boolean; +}; +export type OrgInviteSelect = { + id?: boolean; + email?: boolean; + senderId?: boolean; + receiverId?: boolean; + inviteToken?: boolean; + inviteValid?: boolean; + inviteLimit?: boolean; + inviteCount?: boolean; + multiple?: boolean; + data?: boolean; profileId?: boolean; expiresAt?: boolean; createdAt?: boolean; @@ -1334,6 +1602,66 @@ export interface AppLevelRequirementFilter { /** Negates the expression. */ not?: AppLevelRequirementFilter; } +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} export interface OrgMemberFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1362,6 +1690,32 @@ export interface AppPermissionDefaultFilter { /** Negates the expression. */ not?: AppPermissionDefaultFilter; } +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} export interface OrgPermissionDefaultFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1456,6 +1810,66 @@ export interface AppStepFilter { /** Negates the expression. */ not?: AppStepFilter; } +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} export interface OrgAdminGrantFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1535,6 +1949,14 @@ export interface AppLimitDefaultFilter { or?: AppLimitDefaultFilter[]; /** Negates the expression. */ not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; } export interface OrgLimitDefaultFilter { /** Filter by the object’s `id` field. */ @@ -1551,6 +1973,34 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; } export interface OrgChartEdgeGrantFilter { /** Filter by the object’s `id` field. */ @@ -1782,54 +2232,6 @@ export interface OrgChartEdgeFilter { /** Negates the expression. */ not?: OrgChartEdgeFilter; } -export interface AppLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: AppLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: AppLimitFilter[]; - /** Negates the expression. */ - not?: AppLimitFilter; -} -export interface OrgLimitAggregateFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitAggregateFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitAggregateFilter[]; - /** Negates the expression. */ - not?: OrgLimitAggregateFilter; -} export interface OrgMemberProfileFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1862,32 +2264,6 @@ export interface OrgMemberProfileFilter { /** Filter by the object’s `membership` relation. */ membership?: OrgMembershipFilter; } -export interface OrgLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitFilter[]; - /** Negates the expression. */ - not?: OrgLimitFilter; -} export interface AppLevelFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1910,6 +2286,36 @@ export interface AppLevelFilter { /** Negates the expression. */ not?: AppLevelFilter; } +export interface AppLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitFilter[]; + /** Negates the expression. */ + not?: AppLimitFilter; +} export interface AppInviteFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1978,37 +2384,101 @@ export interface OrgMembershipSettingFilter { /** Negates the expression. */ not?: OrgMembershipSettingFilter; } -export interface OrgInviteFilter { +export interface OrgLimitAggregateFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; - /** Filter by the object’s `email` field. */ - email?: ConstructiveInternalTypeEmailFilter; - /** Filter by the object’s `senderId` field. */ - senderId?: UUIDFilter; - /** Filter by the object’s `receiverId` field. */ - receiverId?: UUIDFilter; - /** Filter by the object’s `inviteToken` field. */ - inviteToken?: StringFilter; - /** Filter by the object’s `inviteValid` field. */ - inviteValid?: BooleanFilter; - /** Filter by the object’s `inviteLimit` field. */ - inviteLimit?: IntFilter; - /** Filter by the object’s `inviteCount` field. */ - inviteCount?: IntFilter; - /** Filter by the object’s `multiple` field. */ - multiple?: BooleanFilter; - /** Filter by the object’s `profileId` field. */ - profileId?: UUIDFilter; - /** Filter by the object’s `expiresAt` field. */ - expiresAt?: DatetimeFilter; - /** Filter by the object’s `createdAt` field. */ - createdAt?: DatetimeFilter; - /** Filter by the object’s `updatedAt` field. */ - updatedAt?: DatetimeFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ - and?: OrgInviteFilter[]; + and?: OrgLimitAggregateFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitAggregateFilter[]; + /** Negates the expression. */ + not?: OrgLimitAggregateFilter; +} +export interface OrgLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitFilter[]; + /** Negates the expression. */ + not?: OrgLimitFilter; +} +export interface OrgInviteFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `email` field. */ + email?: ConstructiveInternalTypeEmailFilter; + /** Filter by the object’s `senderId` field. */ + senderId?: UUIDFilter; + /** Filter by the object’s `receiverId` field. */ + receiverId?: UUIDFilter; + /** Filter by the object’s `inviteToken` field. */ + inviteToken?: StringFilter; + /** Filter by the object’s `inviteValid` field. */ + inviteValid?: BooleanFilter; + /** Filter by the object’s `inviteLimit` field. */ + inviteLimit?: IntFilter; + /** Filter by the object’s `inviteCount` field. */ + inviteCount?: IntFilter; + /** Filter by the object’s `multiple` field. */ + multiple?: BooleanFilter; + /** Filter by the object’s `profileId` field. */ + profileId?: UUIDFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgInviteFilter[]; /** Checks for any expressions in this list. */ or?: OrgInviteFilter[]; /** Negates the expression. */ @@ -2167,6 +2637,46 @@ export type AppLevelRequirementOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgMemberOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2187,6 +2697,20 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; export type OrgPermissionDefaultOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2261,6 +2785,50 @@ export type AppStepOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; export type OrgAdminGrantOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2337,6 +2905,24 @@ export type OrgLimitDefaultOrderBy = | 'MAX_DESC' | 'SOFT_MAX_ASC' | 'SOFT_MAX_DESC'; +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgChartEdgeGrantOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2527,46 +3113,6 @@ export type OrgChartEdgeOrderBy = | 'POSITION_TITLE_DESC' | 'POSITION_LEVEL_ASC' | 'POSITION_LEVEL_DESC'; -export type AppLimitOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ACTOR_ID_ASC' - | 'ACTOR_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; -export type OrgLimitAggregateOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; export type OrgMemberProfileOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2593,7 +3139,25 @@ export type OrgMemberProfileOrderBy = | 'BIO_DESC' | 'PROFILE_PICTURE_ASC' | 'PROFILE_PICTURE_DESC'; -export type OrgLimitOrderBy = +export type AppLevelOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'DESCRIPTION_ASC' + | 'DESCRIPTION_DESC' + | 'IMAGE_ASC' + | 'IMAGE_DESC' + | 'OWNER_ID_ASC' + | 'OWNER_ID_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; +export type AppLimitOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' @@ -2613,26 +3177,12 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC'; -export type AppLevelOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'DESCRIPTION_ASC' - | 'DESCRIPTION_DESC' - | 'IMAGE_ASC' - | 'IMAGE_DESC' - | 'OWNER_ID_ASC' - | 'OWNER_ID_DESC' - | 'CREATED_AT_ASC' - | 'CREATED_AT_DESC' - | 'UPDATED_AT_ASC' - | 'UPDATED_AT_DESC'; + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; export type AppInviteOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2695,6 +3245,62 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +export type OrgLimitAggregateOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; +export type OrgLimitOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; export type OrgInviteOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2920,6 +3526,76 @@ export interface DeleteAppLevelRequirementInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + appLimitCreditRedemption: { + creditCodeId: string; + entityId: string; + }; +} +export interface AppLimitCreditRedemptionPatch { + creditCodeId?: string | null; + entityId?: string | null; +} +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + appLimitCreditCodeItem: { + creditCodeId: string; + defaultLimitId: string; + amount: string; + creditType?: string; + }; +} +export interface AppLimitCreditCodeItemPatch { + creditCodeId?: string | null; + defaultLimitId?: string | null; + amount?: string | null; + creditType?: string | null; +} +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + appLimitCredit: { + defaultLimitId: string; + actorId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface AppLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + appLimitCreditPatch: AppLimitCreditPatch; +} +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgMemberInput { clientMutationId?: string; orgMember: { @@ -2960,6 +3636,30 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + appLimitCreditCode: { + code: string; + maxRedemptions?: number; + currentRedemptions?: number; + expiresAt?: string; + }; +} +export interface AppLimitCreditCodePatch { + code?: string | null; + maxRedemptions?: number | null; + currentRedemptions?: number | null; + expiresAt?: string | null; +} +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgPermissionDefaultInput { clientMutationId?: string; orgPermissionDefault: { @@ -3068,6 +3768,90 @@ export interface DeleteAppStepInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + appLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface AppLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + orgLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface OrgLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + appLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface AppLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + appLimitCapPatch: AppLimitCapPatch; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + orgLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface OrgLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + orgLimitCapPatch: OrgLimitCapPatch; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgAdminGrantInput { clientMutationId?: string; orgAdminGrant: { @@ -3186,6 +3970,34 @@ export interface DeleteOrgLimitDefaultInput { clientMutationId?: string; id: string; } +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + orgLimitCredit: { + defaultLimitId: string; + actorId?: string; + entityId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface OrgLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + entityId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgChartEdgeGrantInput { clientMutationId?: string; orgChartEdgeGrant: { @@ -3454,66 +4266,6 @@ export interface DeleteOrgChartEdgeInput { clientMutationId?: string; id: string; } -export interface CreateAppLimitInput { - clientMutationId?: string; - appLimit: { - name?: string; - actorId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - }; -} -export interface AppLimitPatch { - name?: string | null; - actorId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; -} -export interface UpdateAppLimitInput { - clientMutationId?: string; - id: string; - appLimitPatch: AppLimitPatch; -} -export interface DeleteAppLimitInput { - clientMutationId?: string; - id: string; -} -export interface CreateOrgLimitAggregateInput { - clientMutationId?: string; - orgLimitAggregate: { - name?: string; - entityId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - }; -} -export interface OrgLimitAggregatePatch { - name?: string | null; - entityId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; -} -export interface UpdateOrgLimitAggregateInput { - clientMutationId?: string; - id: string; - orgLimitAggregatePatch: OrgLimitAggregatePatch; -} -export interface DeleteOrgLimitAggregateInput { - clientMutationId?: string; - id: string; -} export interface CreateOrgMemberProfileInput { clientMutationId?: string; orgMemberProfile: { @@ -3547,38 +4299,6 @@ export interface DeleteOrgMemberProfileInput { clientMutationId?: string; id: string; } -export interface CreateOrgLimitInput { - clientMutationId?: string; - orgLimit: { - name?: string; - actorId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - entityId: string; - }; -} -export interface OrgLimitPatch { - name?: string | null; - actorId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; - entityId?: string | null; -} -export interface UpdateOrgLimitInput { - clientMutationId?: string; - id: string; - orgLimitPatch: OrgLimitPatch; -} -export interface DeleteOrgLimitInput { - clientMutationId?: string; - id: string; -} export interface CreateAppLevelInput { clientMutationId?: string; appLevel: { @@ -3604,6 +4324,42 @@ export interface DeleteAppLevelInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitInput { + clientMutationId?: string; + appLimit: { + name?: string; + actorId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + }; +} +export interface AppLimitPatch { + name?: string | null; + actorId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; +} +export interface UpdateAppLimitInput { + clientMutationId?: string; + id: string; + appLimitPatch: AppLimitPatch; +} +export interface DeleteAppLimitInput { + clientMutationId?: string; + id: string; +} export interface CreateAppInviteInput { clientMutationId?: string; appInvite: { @@ -3678,16 +4434,92 @@ export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } -export interface CreateOrgInviteInput { +export interface CreateOrgLimitAggregateInput { clientMutationId?: string; - orgInvite: { - email?: ConstructiveInternalTypeEmail; - senderId?: string; - receiverId?: string; - inviteToken?: string; - inviteValid?: boolean; - inviteLimit?: number; - inviteCount?: number; + orgLimitAggregate: { + name?: string; + entityId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + reserved?: string; + }; +} +export interface OrgLimitAggregatePatch { + name?: string | null; + entityId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + reserved?: string | null; +} +export interface UpdateOrgLimitAggregateInput { + clientMutationId?: string; + id: string; + orgLimitAggregatePatch: OrgLimitAggregatePatch; +} +export interface DeleteOrgLimitAggregateInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitInput { + clientMutationId?: string; + orgLimit: { + name?: string; + actorId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + entityId: string; + }; +} +export interface OrgLimitPatch { + name?: string | null; + actorId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + entityId?: string | null; +} +export interface UpdateOrgLimitInput { + clientMutationId?: string; + id: string; + orgLimitPatch: OrgLimitPatch; +} +export interface DeleteOrgLimitInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgInviteInput { + clientMutationId?: string; + orgInvite: { + email?: ConstructiveInternalTypeEmail; + senderId?: string; + receiverId?: string; + inviteToken?: string; + inviteValid?: boolean; + inviteLimit?: number; + inviteCount?: number; multiple?: boolean; data?: Record; profileId?: string; @@ -3807,7 +4639,19 @@ export interface DeleteOrgMembershipInput { id: string; } // ============ Connection Fields Map ============ -export const connectionFieldsMap = {} as Record>; +export const connectionFieldsMap = { + AppLimitCreditCode: { + appLimitCreditCodeItemsByCreditCodeId: 'AppLimitCreditCodeItem', + appLimitCreditRedemptionsByCreditCodeId: 'AppLimitCreditRedemption', + }, + AppLimitDefault: { + appLimitCreditsByDefaultLimitId: 'AppLimitCredit', + appLimitCreditCodeItemsByDefaultLimitId: 'AppLimitCreditCodeItem', + }, + OrgLimitDefault: { + orgLimitCreditsByDefaultLimitId: 'OrgLimitCredit', + }, +} as Record>; // ============ Custom Input Types (from schema) ============ export interface SubmitAppInviteCodeInput { clientMutationId?: string; @@ -3817,25 +4661,6 @@ export interface SubmitOrgInviteCodeInput { clientMutationId?: string; token?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -3845,30 +4670,50 @@ export interface ProvisionBucketInput { */ ownerId?: string; } -/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ -export interface IntervalFilter { - /** Is null (if `true` is specified) or is not null (if `false` is specified). */ - isNull?: boolean; - /** Equal to the specified value. */ - equalTo?: IntervalInput; - /** Not equal to the specified value. */ - notEqualTo?: IntervalInput; - /** Not equal to the specified value, treating null like an ordinary value. */ - distinctFrom?: IntervalInput; - /** Equal to the specified value, treating null like an ordinary value. */ - notDistinctFrom?: IntervalInput; - /** Included in the specified list. */ - in?: IntervalInput[]; - /** Not included in the specified list. */ - notIn?: IntervalInput[]; - /** Less than the specified value. */ - lessThan?: IntervalInput; - /** Less than or equal to the specified value. */ - lessThanOrEqualTo?: IntervalInput; - /** Greater than the specified value. */ - greaterThan?: IntervalInput; - /** Greater than or equal to the specified value. */ - greaterThanOrEqualTo?: IntervalInput; +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; } /** A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeImageFilter { @@ -3905,6 +4750,31 @@ export interface ConstructiveInternalTypeImageFilter { /** Contained by the specified JSON. */ containedBy?: ConstructiveInternalTypeImage; } +/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ +export interface IntervalFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: IntervalInput; + /** Not equal to the specified value. */ + notEqualTo?: IntervalInput; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: IntervalInput; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: IntervalInput; + /** Included in the specified list. */ + in?: IntervalInput[]; + /** Not included in the specified list. */ + notIn?: IntervalInput[]; + /** Less than the specified value. */ + lessThan?: IntervalInput; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: IntervalInput; + /** Greater than the specified value. */ + greaterThan?: IntervalInput; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: IntervalInput; +} /** A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeEmailFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -3982,6 +4852,94 @@ export interface ConstructiveInternalTypeEmailFilter { /** Greater than or equal to the specified value (case-insensitive). */ greaterThanOrEqualToInsensitive?: ConstructiveInternalTypeEmail; } +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; +} /** An interval of time that has passed where the smallest distinct unit is a second. */ export interface IntervalInput { /** @@ -4001,6 +4959,256 @@ export interface IntervalInput { /** A quantity of years. */ years?: number; } +/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */ +export interface UUIDFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} +/** A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ */ +export interface BigIntFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} +/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */ +export interface StringFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; + /** Contains the specified string (case-sensitive). */ + includes?: string; + /** Does not contain the specified string (case-sensitive). */ + notIncludes?: string; + /** Contains the specified string (case-insensitive). */ + includesInsensitive?: string; + /** Does not contain the specified string (case-insensitive). */ + notIncludesInsensitive?: string; + /** Starts with the specified string (case-sensitive). */ + startsWith?: string; + /** Does not start with the specified string (case-sensitive). */ + notStartsWith?: string; + /** Starts with the specified string (case-insensitive). */ + startsWithInsensitive?: string; + /** Does not start with the specified string (case-insensitive). */ + notStartsWithInsensitive?: string; + /** Ends with the specified string (case-sensitive). */ + endsWith?: string; + /** Does not end with the specified string (case-sensitive). */ + notEndsWith?: string; + /** Ends with the specified string (case-insensitive). */ + endsWithInsensitive?: string; + /** Does not end with the specified string (case-insensitive). */ + notEndsWithInsensitive?: string; + /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + like?: string; + /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + notLike?: string; + /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + likeInsensitive?: string; + /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + notLikeInsensitive?: string; + /** Equal to the specified value (case-insensitive). */ + equalToInsensitive?: string; + /** Not equal to the specified value (case-insensitive). */ + notEqualToInsensitive?: string; + /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */ + distinctFromInsensitive?: string; + /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */ + notDistinctFromInsensitive?: string; + /** Included in the specified list (case-insensitive). */ + inInsensitive?: string[]; + /** Not included in the specified list (case-insensitive). */ + notInInsensitive?: string[]; + /** Less than the specified value (case-insensitive). */ + lessThanInsensitive?: string; + /** Less than or equal to the specified value (case-insensitive). */ + lessThanOrEqualToInsensitive?: string; + /** Greater than the specified value (case-insensitive). */ + greaterThanInsensitive?: string; + /** Greater than or equal to the specified value (case-insensitive). */ + greaterThanOrEqualToInsensitive?: string; +} +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */ +export interface IntFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: number; + /** Not equal to the specified value. */ + notEqualTo?: number; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: number; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: number; + /** Included in the specified list. */ + in?: number[]; + /** Not included in the specified list. */ + notIn?: number[]; + /** Less than the specified value. */ + lessThan?: number; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: number; + /** Greater than the specified value. */ + greaterThan?: number; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: number; +} +/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */ +export interface DatetimeFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} /** A connection to a list of `AppPermission` values. */ // ============ Payload/Return Types (for custom operations) ============ export interface AppPermissionConnection { @@ -4075,25 +5283,6 @@ export type SubmitOrgInviteCodePayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -4251,6 +5440,141 @@ export type DeleteAppLevelRequirementPayloadSelect = { select: AppLevelRequirementEdgeSelect; }; }; +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type CreateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type UpdateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type DeleteAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type CreateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type UpdateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type DeleteAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type CreateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type UpdateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type DeleteAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; export interface CreateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was created by this mutation. */ @@ -4328,17 +5652,62 @@ export type UpdateAppPermissionDefaultPayloadSelect = { }; export interface DeleteAppPermissionDefaultPayload { clientMutationId?: string | null; - /** The `AppPermissionDefault` that was deleted by this mutation. */ - appPermissionDefault?: AppPermissionDefault | null; - appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; + /** The `AppPermissionDefault` that was deleted by this mutation. */ + appPermissionDefault?: AppPermissionDefault | null; + appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; +} +export type DeleteAppPermissionDefaultPayloadSelect = { + clientMutationId?: boolean; + appPermissionDefault?: { + select: AppPermissionDefaultSelect; + }; + appPermissionDefaultEdge?: { + select: AppPermissionDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type CreateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type UpdateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; } -export type DeleteAppPermissionDefaultPayloadSelect = { +export type DeleteAppLimitCreditCodePayloadSelect = { clientMutationId?: boolean; - appPermissionDefault?: { - select: AppPermissionDefaultSelect; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; }; - appPermissionDefaultEdge?: { - select: AppPermissionDefaultEdgeSelect; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; }; }; export interface CreateOrgPermissionDefaultPayload { @@ -4566,6 +5935,186 @@ export type DeleteAppStepPayloadSelect = { select: AppStepEdgeSelect; }; }; +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type CreateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type UpdateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type DeleteAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type CreateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type UpdateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type DeleteOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type CreateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type UpdateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type DeleteAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type CreateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type UpdateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type DeleteOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; export interface CreateOrgAdminGrantPayload { clientMutationId?: string | null; /** The `OrgAdminGrant` that was created by this mutation. */ @@ -4791,6 +6340,51 @@ export type DeleteOrgLimitDefaultPayloadSelect = { select: OrgLimitDefaultEdgeSelect; }; }; +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type CreateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type UpdateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type DeleteOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; export interface CreateOrgChartEdgeGrantPayload { clientMutationId?: string | null; /** The `OrgChartEdgeGrant` that was created by this mutation. */ @@ -5173,96 +6767,6 @@ export type DeleteOrgChartEdgePayloadSelect = { select: OrgChartEdgeEdgeSelect; }; }; -export interface CreateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was created by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type CreateAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface UpdateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was updated by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type UpdateAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface DeleteAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was deleted by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type DeleteAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface CreateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was created by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type CreateOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; -export interface UpdateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was updated by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type UpdateOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; -export interface DeleteOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was deleted by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type DeleteOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; export interface CreateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was created by this mutation. */ @@ -5308,94 +6812,94 @@ export type DeleteOrgMemberProfilePayloadSelect = { select: OrgMemberProfileEdgeSelect; }; }; -export interface CreateOrgLimitPayload { +export interface CreateAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was created by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was created by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type CreateOrgLimitPayloadSelect = { +export type CreateAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface UpdateOrgLimitPayload { +export interface UpdateAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was updated by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was updated by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type UpdateOrgLimitPayloadSelect = { +export type UpdateAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface DeleteOrgLimitPayload { +export interface DeleteAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was deleted by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was deleted by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type DeleteOrgLimitPayloadSelect = { +export type DeleteAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface CreateAppLevelPayload { +export interface CreateAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was created by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was created by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type CreateAppLevelPayloadSelect = { +export type CreateAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; -export interface UpdateAppLevelPayload { +export interface UpdateAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was updated by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was updated by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type UpdateAppLevelPayloadSelect = { +export type UpdateAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; -export interface DeleteAppLevelPayload { +export interface DeleteAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was deleted by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was deleted by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type DeleteAppLevelPayloadSelect = { +export type DeleteAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; export interface CreateAppInvitePayload { @@ -5488,6 +6992,96 @@ export type DeleteOrgMembershipSettingPayloadSelect = { select: OrgMembershipSettingEdgeSelect; }; }; +export interface CreateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was created by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type CreateOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface UpdateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was updated by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type UpdateOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface DeleteOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was deleted by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type DeleteOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface CreateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was created by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type CreateOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; +export interface UpdateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was updated by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type UpdateOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; +export interface DeleteOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was deleted by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type DeleteOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; export interface CreateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was created by this mutation. */ @@ -5676,6 +7270,42 @@ export type AppLevelRequirementEdgeSelect = { select: AppLevelRequirementSelect; }; }; +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +export type AppLimitCreditRedemptionEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditRedemptionSelect; + }; +}; +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +export type AppLimitCreditCodeItemEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeItemSelect; + }; +}; +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +export type AppLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditSelect; + }; +}; /** A `OrgMember` edge in the connection. */ export interface OrgMemberEdge { cursor?: string | null; @@ -5700,6 +7330,18 @@ export type AppPermissionDefaultEdgeSelect = { select: AppPermissionDefaultSelect; }; }; +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} +export type AppLimitCreditCodeEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeSelect; + }; +}; /** A `OrgPermissionDefault` edge in the connection. */ export interface OrgPermissionDefaultEdge { cursor?: string | null; @@ -5760,6 +7402,54 @@ export type AppStepEdgeSelect = { select: AppStepSelect; }; }; +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +export type AppLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapsDefaultSelect; + }; +}; +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +export type OrgLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapsDefaultSelect; + }; +}; +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +export type AppLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapSelect; + }; +}; +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} +export type OrgLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapSelect; + }; +}; /** A `OrgAdminGrant` edge in the connection. */ export interface OrgAdminGrantEdge { cursor?: string | null; @@ -5820,6 +7510,18 @@ export type OrgLimitDefaultEdgeSelect = { select: OrgLimitDefaultSelect; }; }; +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} +export type OrgLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCreditSelect; + }; +}; /** A `OrgChartEdgeGrant` edge in the connection. */ export interface OrgChartEdgeGrantEdge { cursor?: string | null; @@ -5916,30 +7618,6 @@ export type OrgChartEdgeEdgeSelect = { select: OrgChartEdgeSelect; }; }; -/** A `AppLimit` edge in the connection. */ -export interface AppLimitEdge { - cursor?: string | null; - /** The `AppLimit` at the end of the edge. */ - node?: AppLimit | null; -} -export type AppLimitEdgeSelect = { - cursor?: boolean; - node?: { - select: AppLimitSelect; - }; -}; -/** A `OrgLimitAggregate` edge in the connection. */ -export interface OrgLimitAggregateEdge { - cursor?: string | null; - /** The `OrgLimitAggregate` at the end of the edge. */ - node?: OrgLimitAggregate | null; -} -export type OrgLimitAggregateEdgeSelect = { - cursor?: boolean; - node?: { - select: OrgLimitAggregateSelect; - }; -}; /** A `OrgMemberProfile` edge in the connection. */ export interface OrgMemberProfileEdge { cursor?: string | null; @@ -5952,18 +7630,6 @@ export type OrgMemberProfileEdgeSelect = { select: OrgMemberProfileSelect; }; }; -/** A `OrgLimit` edge in the connection. */ -export interface OrgLimitEdge { - cursor?: string | null; - /** The `OrgLimit` at the end of the edge. */ - node?: OrgLimit | null; -} -export type OrgLimitEdgeSelect = { - cursor?: boolean; - node?: { - select: OrgLimitSelect; - }; -}; /** A `AppLevel` edge in the connection. */ export interface AppLevelEdge { cursor?: string | null; @@ -5976,6 +7642,18 @@ export type AppLevelEdgeSelect = { select: AppLevelSelect; }; }; +/** A `AppLimit` edge in the connection. */ +export interface AppLimitEdge { + cursor?: string | null; + /** The `AppLimit` at the end of the edge. */ + node?: AppLimit | null; +} +export type AppLimitEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitSelect; + }; +}; /** A `AppInvite` edge in the connection. */ export interface AppInviteEdge { cursor?: string | null; @@ -6000,6 +7678,30 @@ export type OrgMembershipSettingEdgeSelect = { select: OrgMembershipSettingSelect; }; }; +/** A `OrgLimitAggregate` edge in the connection. */ +export interface OrgLimitAggregateEdge { + cursor?: string | null; + /** The `OrgLimitAggregate` at the end of the edge. */ + node?: OrgLimitAggregate | null; +} +export type OrgLimitAggregateEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitAggregateSelect; + }; +}; +/** A `OrgLimit` edge in the connection. */ +export interface OrgLimitEdge { + cursor?: string | null; + /** The `OrgLimit` at the end of the edge. */ + node?: OrgLimit | null; +} +export type OrgLimitEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitSelect; + }; +}; /** A `OrgInvite` edge in the connection. */ export interface OrgInviteEdge { cursor?: string | null; diff --git a/sdk/constructive-cli/src/admin/orm/models/appLimitCap.ts b/sdk/constructive-cli/src/admin/orm/models/appLimitCap.ts new file mode 100644 index 000000000..b40f02904 --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/appLimitCap.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCap, + AppLimitCapWithRelations, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, + CreateAppLimitCapInput, + UpdateAppLimitCapInput, + AppLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + }, + 'AppLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCap', + document, + variables, + transform: (data: { + appLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCap: data.appLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCap', + 'createAppLimitCap', + 'appLimitCap', + args.select, + args.data, + 'CreateAppLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'createAppLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCap', + 'updateAppLimitCap', + 'appLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapInput', + 'id', + 'appLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'updateAppLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCap', + 'deleteAppLimitCap', + 'appLimitCap', + { + id: args.where.id, + }, + 'DeleteAppLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'deleteAppLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/appLimitCapsDefault.ts b/sdk/constructive-cli/src/admin/orm/models/appLimitCapsDefault.ts new file mode 100644 index 000000000..b0ea0fcef --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/appLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCapsDefault, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, + CreateAppLimitCapsDefaultInput, + UpdateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'AppLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefault', + document, + variables, + transform: (data: { + appLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCapsDefault: data.appLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCapsDefault', + 'createAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.data, + 'CreateAppLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'createAppLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCapsDefault', + 'updateAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapsDefaultInput', + 'id', + 'appLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'updateAppLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCapsDefault', + 'deleteAppLimitCapsDefault', + 'appLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteAppLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'deleteAppLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/appLimitCredit.ts b/sdk/constructive-cli/src/admin/orm/models/appLimitCredit.ts new file mode 100644 index 000000000..392072a13 --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/appLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCredit, + AppLimitCreditWithRelations, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, + CreateAppLimitCreditInput, + UpdateAppLimitCreditInput, + AppLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredit', + document, + variables, + transform: (data: { + appLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCredit: data.appLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCredit', + 'createAppLimitCredit', + 'appLimitCredit', + args.select, + args.data, + 'CreateAppLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'createAppLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCredit', + 'updateAppLimitCredit', + 'appLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditInput', + 'id', + 'appLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'updateAppLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCredit', + 'deleteAppLimitCredit', + 'appLimitCredit', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'deleteAppLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/appLimitCreditCode.ts b/sdk/constructive-cli/src/admin/orm/models/appLimitCreditCode.ts new file mode 100644 index 000000000..75a9d825a --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/appLimitCreditCode.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCreditCode model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCode, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, + CreateAppLimitCreditCodeInput, + UpdateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCode: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCode', + document, + variables, + transform: (data: { + appLimitCreditCodes?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCode: data.appLimitCreditCodes?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCode', + 'createAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.data, + 'CreateAppLimitCreditCodeInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'createAppLimitCreditCode', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCode', + 'updateAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeInput', + 'id', + 'appLimitCreditCodePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'updateAppLimitCreditCode', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCode', + 'deleteAppLimitCreditCode', + 'appLimitCreditCode', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'deleteAppLimitCreditCode', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/appLimitCreditCodeItem.ts b/sdk/constructive-cli/src/admin/orm/models/appLimitCreditCodeItem.ts new file mode 100644 index 000000000..381660fad --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/appLimitCreditCodeItem.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditCodeItem model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCodeItem, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, + CreateAppLimitCreditCodeItemInput, + UpdateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeItemModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeItemFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItem: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItem', + document, + variables, + transform: (data: { + appLimitCreditCodeItems?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCodeItem: data.appLimitCreditCodeItems?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCodeItem', + 'createAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.data, + 'CreateAppLimitCreditCodeItemInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'createAppLimitCreditCodeItem', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodeItemPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCodeItem', + 'updateAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeItemInput', + 'id', + 'appLimitCreditCodeItemPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'updateAppLimitCreditCodeItem', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCodeItem', + 'deleteAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeItemInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'deleteAppLimitCreditCodeItem', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/appLimitCreditRedemption.ts b/sdk/constructive-cli/src/admin/orm/models/appLimitCreditRedemption.ts new file mode 100644 index 000000000..fd3676073 --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/appLimitCreditRedemption.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditRedemption model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditRedemption, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, + CreateAppLimitCreditRedemptionInput, + UpdateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditRedemptionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditRedemptionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemption: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemption', + document, + variables, + transform: (data: { + appLimitCreditRedemptions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditRedemption: data.appLimitCreditRedemptions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditRedemption', + 'createAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.data, + 'CreateAppLimitCreditRedemptionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'createAppLimitCreditRedemption', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditRedemptionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditRedemption', + 'updateAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditRedemptionInput', + 'id', + 'appLimitCreditRedemptionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'updateAppLimitCreditRedemption', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditRedemption', + 'deleteAppLimitCreditRedemption', + 'appLimitCreditRedemption', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditRedemptionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'deleteAppLimitCreditRedemption', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/index.ts b/sdk/constructive-cli/src/admin/orm/models/index.ts index 1b903645a..686efa165 100644 --- a/sdk/constructive-cli/src/admin/orm/models/index.ts +++ b/sdk/constructive-cli/src/admin/orm/models/index.ts @@ -8,18 +8,27 @@ export { OrgGetSubordinatesRecordModel } from './orgGetSubordinatesRecord'; export { AppPermissionModel } from './appPermission'; export { OrgPermissionModel } from './orgPermission'; export { AppLevelRequirementModel } from './appLevelRequirement'; +export { AppLimitCreditRedemptionModel } from './appLimitCreditRedemption'; +export { AppLimitCreditCodeItemModel } from './appLimitCreditCodeItem'; +export { AppLimitCreditModel } from './appLimitCredit'; export { OrgMemberModel } from './orgMember'; export { AppPermissionDefaultModel } from './appPermissionDefault'; +export { AppLimitCreditCodeModel } from './appLimitCreditCode'; export { OrgPermissionDefaultModel } from './orgPermissionDefault'; export { AppAdminGrantModel } from './appAdminGrant'; export { AppOwnerGrantModel } from './appOwnerGrant'; export { AppAchievementModel } from './appAchievement'; export { AppStepModel } from './appStep'; +export { AppLimitCapsDefaultModel } from './appLimitCapsDefault'; +export { OrgLimitCapsDefaultModel } from './orgLimitCapsDefault'; +export { AppLimitCapModel } from './appLimitCap'; +export { OrgLimitCapModel } from './orgLimitCap'; export { OrgAdminGrantModel } from './orgAdminGrant'; export { OrgOwnerGrantModel } from './orgOwnerGrant'; export { MembershipTypeModel } from './membershipType'; export { AppLimitDefaultModel } from './appLimitDefault'; export { OrgLimitDefaultModel } from './orgLimitDefault'; +export { OrgLimitCreditModel } from './orgLimitCredit'; export { OrgChartEdgeGrantModel } from './orgChartEdgeGrant'; export { AppClaimedInviteModel } from './appClaimedInvite'; export { AppGrantModel } from './appGrant'; @@ -30,13 +39,13 @@ export { AppLimitEventModel } from './appLimitEvent'; export { OrgLimitEventModel } from './orgLimitEvent'; export { OrgGrantModel } from './orgGrant'; export { OrgChartEdgeModel } from './orgChartEdge'; -export { AppLimitModel } from './appLimit'; -export { OrgLimitAggregateModel } from './orgLimitAggregate'; export { OrgMemberProfileModel } from './orgMemberProfile'; -export { OrgLimitModel } from './orgLimit'; export { AppLevelModel } from './appLevel'; +export { AppLimitModel } from './appLimit'; export { AppInviteModel } from './appInvite'; export { OrgMembershipSettingModel } from './orgMembershipSetting'; +export { OrgLimitAggregateModel } from './orgLimitAggregate'; +export { OrgLimitModel } from './orgLimit'; export { OrgInviteModel } from './orgInvite'; export { AppMembershipModel } from './appMembership'; export { OrgMembershipModel } from './orgMembership'; diff --git a/sdk/constructive-cli/src/admin/orm/models/orgLimitCap.ts b/sdk/constructive-cli/src/admin/orm/models/orgLimitCap.ts new file mode 100644 index 000000000..0cb635912 --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/orgLimitCap.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCap, + OrgLimitCapWithRelations, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, + CreateOrgLimitCapInput, + UpdateOrgLimitCapInput, + OrgLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCap', + document, + variables, + transform: (data: { + orgLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCap: data.orgLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCap', + 'createOrgLimitCap', + 'orgLimitCap', + args.select, + args.data, + 'CreateOrgLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'createOrgLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCap', + 'updateOrgLimitCap', + 'orgLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapInput', + 'id', + 'orgLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'updateOrgLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCap', + 'deleteOrgLimitCap', + 'orgLimitCap', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'deleteOrgLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/orgLimitCapsDefault.ts b/sdk/constructive-cli/src/admin/orm/models/orgLimitCapsDefault.ts new file mode 100644 index 000000000..722bb185f --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/orgLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCapsDefault, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, + CreateOrgLimitCapsDefaultInput, + UpdateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefault', + document, + variables, + transform: (data: { + orgLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCapsDefault: data.orgLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCapsDefault', + 'createOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.data, + 'CreateOrgLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'createOrgLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCapsDefault', + 'updateOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapsDefaultInput', + 'id', + 'orgLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'updateOrgLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCapsDefault', + 'deleteOrgLimitCapsDefault', + 'orgLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'deleteOrgLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/models/orgLimitCredit.ts b/sdk/constructive-cli/src/admin/orm/models/orgLimitCredit.ts new file mode 100644 index 000000000..68e631fa7 --- /dev/null +++ b/sdk/constructive-cli/src/admin/orm/models/orgLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCredit, + OrgLimitCreditWithRelations, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, + CreateOrgLimitCreditInput, + UpdateOrgLimitCreditInput, + OrgLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + }, + 'OrgLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredit', + document, + variables, + transform: (data: { + orgLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCredit: data.orgLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCredit', + 'createOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.data, + 'CreateOrgLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'createOrgLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCredit', + 'updateOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCreditInput', + 'id', + 'orgLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'updateOrgLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCredit', + 'deleteOrgLimitCredit', + 'orgLimitCredit', + { + id: args.where.id, + }, + 'DeleteOrgLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'deleteOrgLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/admin/orm/mutation/index.ts b/sdk/constructive-cli/src/admin/orm/mutation/index.ts index cbc1459ea..e1c312186 100644 --- a/sdk/constructive-cli/src/admin/orm/mutation/index.ts +++ b/sdk/constructive-cli/src/admin/orm/mutation/index.ts @@ -9,15 +9,12 @@ import type { InferSelectResult, StrictSelect } from '../select-types'; import type { SubmitAppInviteCodeInput, SubmitOrgInviteCodeInput, - RequestUploadUrlInput, ProvisionBucketInput, SubmitAppInviteCodePayload, SubmitOrgInviteCodePayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SubmitAppInviteCodePayloadSelect, SubmitOrgInviteCodePayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -27,16 +24,6 @@ export interface SubmitAppInviteCodeVariables { export interface SubmitOrgInviteCodeVariables { input: SubmitOrgInviteCodeInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -107,35 +94,6 @@ export function createMutationOperations(client: OrmClient) { 'SubmitOrgInviteCodePayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-cli/src/admin/orm/query-builder.ts b/sdk/constructive-cli/src/admin/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-cli/src/admin/orm/query-builder.ts +++ b/sdk/constructive-cli/src/admin/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-cli/src/auth/README.md b/sdk/constructive-cli/src/auth/README.md index 25de72482..0c72a3232 100644 --- a/sdk/constructive-cli/src/auth/README.md +++ b/sdk/constructive-cli/src/auth/README.md @@ -10,7 +10,7 @@ - **Tables:** 9 - **Custom queries:** 5 -- **Custom mutations:** 23 +- **Custom mutations:** 22 **Generators:** ORM, CLI diff --git a/sdk/constructive-cli/src/auth/cli/README.md b/sdk/constructive-cli/src/auth/cli/README.md index 0f674907c..75c31c789 100644 --- a/sdk/constructive-cli/src/auth/cli/README.md +++ b/sdk/constructive-cli/src/auth/cli/README.md @@ -61,10 +61,6 @@ csdk auth set-token | `create-api-key` | createApiKey | | `forgot-password` | forgotPassword | | `send-verification-email` | sendVerificationEmail | -| `request-upload-url` | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `provision-bucket` | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -709,25 +705,6 @@ sendVerificationEmail | `--input.clientMutationId` | String | | `--input.email` | Email | -### `request-upload-url` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `--input.bucketKey` | String (required) | - | `--input.ownerId` | UUID | - | `--input.contentHash` | String (required) | - | `--input.contentType` | String (required) | - | `--input.size` | Int (required) | - | `--input.filename` | String | - ### `provision-bucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/auth/cli/commands.ts b/sdk/constructive-cli/src/auth/cli/commands.ts index c24ae6562..e007bbbcc 100644 --- a/sdk/constructive-cli/src/auth/cli/commands.ts +++ b/sdk/constructive-cli/src/auth/cli/commands.ts @@ -41,7 +41,6 @@ import extendTokenExpiresCmd from './commands/extend-token-expires'; import createApiKeyCmd from './commands/create-api-key'; import forgotPasswordCmd from './commands/forgot-password'; import sendVerificationEmailCmd from './commands/send-verification-email'; -import requestUploadUrlCmd from './commands/request-upload-url'; import provisionBucketCmd from './commands/provision-bucket'; const createCommandMap: () => Record< string, @@ -88,11 +87,10 @@ const createCommandMap: () => Record< 'create-api-key': createApiKeyCmd, 'forgot-password': forgotPasswordCmd, 'send-verification-email': sendVerificationEmailCmd, - 'request-upload-url': requestUploadUrlCmd, 'provision-bucket': provisionBucketCmd, }); const usage = - '\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n email email CRUD operations\n phone-number phoneNumber CRUD operations\n crypto-address cryptoAddress CRUD operations\n webauthn-credential webauthnCredential CRUD operations\n audit-log auditLog CRUD operations\n identity-provider identityProvider CRUD operations\n role-type roleType CRUD operations\n user-connected-account userConnectedAccount CRUD operations\n user user CRUD operations\n current-user-agent currentUserAgent\n current-ip-address currentIpAddress\n current-user-id currentUserId\n require-step-up requireStepUp\n current-user currentUser\n sign-out signOut\n send-account-deletion-email sendAccountDeletionEmail\n check-password checkPassword\n disconnect-account disconnectAccount\n revoke-api-key revokeApiKey\n revoke-session revokeSession\n verify-password verifyPassword\n verify-totp verifyTotp\n confirm-delete-account confirmDeleteAccount\n set-password setPassword\n verify-email verifyEmail\n provision-new-user provisionNewUser\n reset-password resetPassword\n sign-in-cross-origin signInCrossOrigin\n sign-up signUp\n request-cross-origin-token requestCrossOriginToken\n sign-in signIn\n extend-token-expires extendTokenExpires\n create-api-key createApiKey\n forgot-password forgotPassword\n send-verification-email sendVerificationEmail\n request-upload-url Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n'; + '\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n email email CRUD operations\n phone-number phoneNumber CRUD operations\n crypto-address cryptoAddress CRUD operations\n webauthn-credential webauthnCredential CRUD operations\n audit-log auditLog CRUD operations\n identity-provider identityProvider CRUD operations\n role-type roleType CRUD operations\n user-connected-account userConnectedAccount CRUD operations\n user user CRUD operations\n current-user-agent currentUserAgent\n current-ip-address currentIpAddress\n current-user-id currentUserId\n require-step-up requireStepUp\n current-user currentUser\n sign-out signOut\n send-account-deletion-email sendAccountDeletionEmail\n check-password checkPassword\n disconnect-account disconnectAccount\n revoke-api-key revokeApiKey\n revoke-session revokeSession\n verify-password verifyPassword\n verify-totp verifyTotp\n confirm-delete-account confirmDeleteAccount\n set-password setPassword\n verify-email verifyEmail\n provision-new-user provisionNewUser\n reset-password resetPassword\n sign-in-cross-origin signInCrossOrigin\n sign-up signUp\n request-cross-origin-token requestCrossOriginToken\n sign-in signIn\n extend-token-expires extendTokenExpires\n create-api-key createApiKey\n forgot-password forgotPassword\n send-verification-email sendVerificationEmail\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n'; export const commands = async ( argv: Partial>, prompter: Inquirerer, diff --git a/sdk/constructive-cli/src/auth/cli/commands/request-upload-url.ts b/sdk/constructive-cli/src/auth/cli/commands/request-upload-url.ts deleted file mode 100644 index 16c1abc7f..000000000 --- a/sdk/constructive-cli/src/auth/cli/commands/request-upload-url.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * CLI command for mutation requestUploadUrl - * @generated by @constructive-io/graphql-codegen - * DO NOT EDIT - changes will be overwritten - */ -import { CLIOptions, Inquirerer } from 'inquirerer'; -import { getClient } from '../executor'; -import { unflattenDotNotation, buildSelectFromPaths } from '../utils'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export default async ( - argv: Partial>, - prompter: Inquirerer, - _options: CLIOptions -) => { - try { - if (argv.help || argv.h) { - console.log( - 'request-upload-url - Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n\nUsage: request-upload-url [OPTIONS]\n' - ); - process.exit(0); - } - const answers = await prompter.prompt(argv, [ - { - type: 'text', - name: 'input', - message: - 'The exclusive input argument for this mutation. An object type, make sure to see documentation for this object\u2019s fields.', - required: true, - }, - ]); - const client = getClient(); - const parsedAnswers = unflattenDotNotation(answers); - const selectFields = buildSelectFromPaths((argv.select as string) ?? 'clientMutationId'); - const result = await client.mutation - .requestUploadUrl( - parsedAnswers as unknown as RequestUploadUrlVariables, - { - select: selectFields, - } as unknown as { - select: RequestUploadUrlPayloadSelect; - } - ) - .execute(); - console.log(JSON.stringify(result, null, 2)); - } catch (error) { - console.error('Failed: requestUploadUrl'); - if (error instanceof Error) { - console.error(error.message); - } - process.exit(1); - } -}; diff --git a/sdk/constructive-cli/src/auth/orm/README.md b/sdk/constructive-cli/src/auth/orm/README.md index 9188f84b8..29faca860 100644 --- a/sdk/constructive-cli/src/auth/orm/README.md +++ b/sdk/constructive-cli/src/auth/orm/README.md @@ -737,24 +737,6 @@ sendVerificationEmail const result = await db.mutation.sendVerificationEmail({ input: { email: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/auth/orm/input-types.ts b/sdk/constructive-cli/src/auth/orm/input-types.ts index a091f00d3..9cf3cadd8 100644 --- a/sdk/constructive-cli/src/auth/orm/input-types.ts +++ b/sdk/constructive-cli/src/auth/orm/input-types.ts @@ -1349,25 +1349,6 @@ export interface SendVerificationEmailInput { clientMutationId?: string; email?: ConstructiveInternalTypeEmail; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -2425,25 +2406,6 @@ export type SendVerificationEmailPayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-cli/src/auth/orm/mutation/index.ts b/sdk/constructive-cli/src/auth/orm/mutation/index.ts index fa49f8830..3681a0fb5 100644 --- a/sdk/constructive-cli/src/auth/orm/mutation/index.ts +++ b/sdk/constructive-cli/src/auth/orm/mutation/index.ts @@ -28,7 +28,6 @@ import type { CreateApiKeyInput, ForgotPasswordInput, SendVerificationEmailInput, - RequestUploadUrlInput, ProvisionBucketInput, SignOutPayload, SendAccountDeletionEmailPayload, @@ -51,7 +50,6 @@ import type { CreateApiKeyPayload, ForgotPasswordPayload, SendVerificationEmailPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SignOutPayloadSelect, SendAccountDeletionEmailPayloadSelect, @@ -74,7 +72,6 @@ import type { CreateApiKeyPayloadSelect, ForgotPasswordPayloadSelect, SendVerificationEmailPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -141,16 +138,6 @@ export interface ForgotPasswordVariables { export interface SendVerificationEmailVariables { input: SendVerificationEmailInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -772,35 +759,6 @@ export function createMutationOperations(client: OrmClient) { 'SendVerificationEmailPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-cli/src/auth/orm/query-builder.ts b/sdk/constructive-cli/src/auth/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-cli/src/auth/orm/query-builder.ts +++ b/sdk/constructive-cli/src/auth/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-cli/src/objects/README.md b/sdk/constructive-cli/src/objects/README.md index c4e633cc2..4fe46a62e 100644 --- a/sdk/constructive-cli/src/objects/README.md +++ b/sdk/constructive-cli/src/objects/README.md @@ -10,7 +10,7 @@ - **Tables:** 5 - **Custom queries:** 4 -- **Custom mutations:** 10 +- **Custom mutations:** 9 **Generators:** ORM, CLI diff --git a/sdk/constructive-cli/src/objects/cli/README.md b/sdk/constructive-cli/src/objects/cli/README.md index d9d73f586..8ae072103 100644 --- a/sdk/constructive-cli/src/objects/cli/README.md +++ b/sdk/constructive-cli/src/objects/cli/README.md @@ -43,10 +43,6 @@ csdk auth set-token | `insert-node-at-path` | insertNodeAtPath | | `update-node-at-path` | updateNodeAtPath | | `set-and-commit` | setAndCommit | -| `request-upload-url` | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `provision-bucket` | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -409,25 +405,6 @@ setAndCommit | `--input.kids` | UUID | | `--input.ktree` | String | -### `request-upload-url` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `--input.bucketKey` | String (required) | - | `--input.ownerId` | UUID | - | `--input.contentHash` | String (required) | - | `--input.contentType` | String (required) | - | `--input.size` | Int (required) | - | `--input.filename` | String | - ### `provision-bucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/objects/cli/commands.ts b/sdk/constructive-cli/src/objects/cli/commands.ts index c4f80d9e0..f2b4440f9 100644 --- a/sdk/constructive-cli/src/objects/cli/commands.ts +++ b/sdk/constructive-cli/src/objects/cli/commands.ts @@ -23,7 +23,6 @@ import setPropsAndCommitCmd from './commands/set-props-and-commit'; import insertNodeAtPathCmd from './commands/insert-node-at-path'; import updateNodeAtPathCmd from './commands/update-node-at-path'; import setAndCommitCmd from './commands/set-and-commit'; -import requestUploadUrlCmd from './commands/request-upload-url'; import provisionBucketCmd from './commands/provision-bucket'; const createCommandMap: () => Record< string, @@ -52,11 +51,10 @@ const createCommandMap: () => Record< 'insert-node-at-path': insertNodeAtPathCmd, 'update-node-at-path': updateNodeAtPathCmd, 'set-and-commit': setAndCommitCmd, - 'request-upload-url': requestUploadUrlCmd, 'provision-bucket': provisionBucketCmd, }); const usage = - '\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n get-all-record getAllRecord CRUD operations\n object object CRUD operations\n ref ref CRUD operations\n store store CRUD operations\n commit commit CRUD operations\n rev-parse revParse\n get-all-objects-from-root Reads and enables pagination through a set of `Object`.\n get-path-objects-from-root Reads and enables pagination through a set of `Object`.\n get-object-at-path getObjectAtPath\n freeze-objects freezeObjects\n init-empty-repo initEmptyRepo\n remove-node-at-path removeNodeAtPath\n set-data-at-path setDataAtPath\n set-props-and-commit setPropsAndCommit\n insert-node-at-path insertNodeAtPath\n update-node-at-path updateNodeAtPath\n set-and-commit setAndCommit\n request-upload-url Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n'; + '\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n get-all-record getAllRecord CRUD operations\n object object CRUD operations\n ref ref CRUD operations\n store store CRUD operations\n commit commit CRUD operations\n rev-parse revParse\n get-all-objects-from-root Reads and enables pagination through a set of `Object`.\n get-path-objects-from-root Reads and enables pagination through a set of `Object`.\n get-object-at-path getObjectAtPath\n freeze-objects freezeObjects\n init-empty-repo initEmptyRepo\n remove-node-at-path removeNodeAtPath\n set-data-at-path setDataAtPath\n set-props-and-commit setPropsAndCommit\n insert-node-at-path insertNodeAtPath\n update-node-at-path updateNodeAtPath\n set-and-commit setAndCommit\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n'; export const commands = async ( argv: Partial>, prompter: Inquirerer, diff --git a/sdk/constructive-cli/src/objects/cli/commands/request-upload-url.ts b/sdk/constructive-cli/src/objects/cli/commands/request-upload-url.ts deleted file mode 100644 index 16c1abc7f..000000000 --- a/sdk/constructive-cli/src/objects/cli/commands/request-upload-url.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * CLI command for mutation requestUploadUrl - * @generated by @constructive-io/graphql-codegen - * DO NOT EDIT - changes will be overwritten - */ -import { CLIOptions, Inquirerer } from 'inquirerer'; -import { getClient } from '../executor'; -import { unflattenDotNotation, buildSelectFromPaths } from '../utils'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export default async ( - argv: Partial>, - prompter: Inquirerer, - _options: CLIOptions -) => { - try { - if (argv.help || argv.h) { - console.log( - 'request-upload-url - Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n\nUsage: request-upload-url [OPTIONS]\n' - ); - process.exit(0); - } - const answers = await prompter.prompt(argv, [ - { - type: 'text', - name: 'input', - message: - 'The exclusive input argument for this mutation. An object type, make sure to see documentation for this object\u2019s fields.', - required: true, - }, - ]); - const client = getClient(); - const parsedAnswers = unflattenDotNotation(answers); - const selectFields = buildSelectFromPaths((argv.select as string) ?? 'clientMutationId'); - const result = await client.mutation - .requestUploadUrl( - parsedAnswers as unknown as RequestUploadUrlVariables, - { - select: selectFields, - } as unknown as { - select: RequestUploadUrlPayloadSelect; - } - ) - .execute(); - console.log(JSON.stringify(result, null, 2)); - } catch (error) { - console.error('Failed: requestUploadUrl'); - if (error instanceof Error) { - console.error(error.message); - } - process.exit(1); - } -}; diff --git a/sdk/constructive-cli/src/objects/orm/README.md b/sdk/constructive-cli/src/objects/orm/README.md index e86aa309c..94b8dc086 100644 --- a/sdk/constructive-cli/src/objects/orm/README.md +++ b/sdk/constructive-cli/src/objects/orm/README.md @@ -394,24 +394,6 @@ setAndCommit const result = await db.mutation.setAndCommit({ input: '' }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/objects/orm/input-types.ts b/sdk/constructive-cli/src/objects/orm/input-types.ts index 67a2de15b..8fcc221ef 100644 --- a/sdk/constructive-cli/src/objects/orm/input-types.ts +++ b/sdk/constructive-cli/src/objects/orm/input-types.ts @@ -706,25 +706,6 @@ export interface SetAndCommitInput { kids?: string[]; ktree?: string[]; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -814,25 +795,6 @@ export type SetAndCommitPayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-cli/src/objects/orm/mutation/index.ts b/sdk/constructive-cli/src/objects/orm/mutation/index.ts index 04890fb67..97d4456b4 100644 --- a/sdk/constructive-cli/src/objects/orm/mutation/index.ts +++ b/sdk/constructive-cli/src/objects/orm/mutation/index.ts @@ -15,7 +15,6 @@ import type { InsertNodeAtPathInput, UpdateNodeAtPathInput, SetAndCommitInput, - RequestUploadUrlInput, ProvisionBucketInput, FreezeObjectsPayload, InitEmptyRepoPayload, @@ -25,7 +24,6 @@ import type { InsertNodeAtPathPayload, UpdateNodeAtPathPayload, SetAndCommitPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, FreezeObjectsPayloadSelect, InitEmptyRepoPayloadSelect, @@ -35,7 +33,6 @@ import type { InsertNodeAtPathPayloadSelect, UpdateNodeAtPathPayloadSelect, SetAndCommitPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -63,16 +60,6 @@ export interface UpdateNodeAtPathVariables { export interface SetAndCommitVariables { input: SetAndCommitInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -317,35 +304,6 @@ export function createMutationOperations(client: OrmClient) { 'SetAndCommitPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-cli/src/objects/orm/query-builder.ts b/sdk/constructive-cli/src/objects/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-cli/src/objects/orm/query-builder.ts +++ b/sdk/constructive-cli/src/objects/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-cli/src/public/README.md b/sdk/constructive-cli/src/public/README.md index e6383c2ae..a8857b7a7 100644 --- a/sdk/constructive-cli/src/public/README.md +++ b/sdk/constructive-cli/src/public/README.md @@ -8,7 +8,7 @@ ## Overview -- **Tables:** 129 +- **Tables:** 147 - **Custom queries:** 22 - **Custom mutations:** 49 diff --git a/sdk/constructive-cli/src/public/cli/README.md b/sdk/constructive-cli/src/public/cli/README.md index b1f5dd12c..5a7d0c806 100644 --- a/sdk/constructive-cli/src/public/cli/README.md +++ b/sdk/constructive-cli/src/public/cli/README.md @@ -39,6 +39,7 @@ csdk auth set-token | `check-constraint` | checkConstraint CRUD operations | | `field` | field CRUD operations | | `spatial-relation` | spatialRelation CRUD operations | +| `partition` | partition CRUD operations | | `foreign-key-constraint` | foreignKeyConstraint CRUD operations | | `full-text-search` | fullTextSearch CRUD operations | | `index` | index CRUD operations | @@ -59,17 +60,20 @@ csdk auth set-token | `schema-grant` | schemaGrant CRUD operations | | `default-privilege` | defaultPrivilege CRUD operations | | `enum` | enum CRUD operations | +| `function` | function CRUD operations | | `api-schema` | apiSchema CRUD operations | | `api-module` | apiModule CRUD operations | | `domain` | domain CRUD operations | | `site-metadatum` | siteMetadatum CRUD operations | | `site-module` | siteModule CRUD operations | | `site-theme` | siteTheme CRUD operations | +| `cors-setting` | corsSetting CRUD operations | | `trigger-function` | triggerFunction CRUD operations | | `database-transfer` | databaseTransfer CRUD operations | | `api` | api CRUD operations | | `site` | site CRUD operations | | `app` | app CRUD operations | +| `api-setting` | apiSetting CRUD operations | | `connected-accounts-module` | connectedAccountsModule CRUD operations | | `crypto-addresses-module` | cryptoAddressesModule CRUD operations | | `crypto-auth-module` | cryptoAuthModule CRUD operations | @@ -111,7 +115,11 @@ csdk auth set-token | `org-chart-edge-grant` | orgChartEdgeGrant CRUD operations | | `org-permission-default` | orgPermissionDefault CRUD operations | | `app-limit` | appLimit CRUD operations | +| `app-limit-credit` | appLimitCredit CRUD operations | +| `app-limit-credit-code-item` | appLimitCreditCodeItem CRUD operations | +| `app-limit-credit-redemption` | appLimitCreditRedemption CRUD operations | | `org-limit` | orgLimit CRUD operations | +| `org-limit-credit` | orgLimitCredit CRUD operations | | `org-limit-aggregate` | orgLimitAggregate CRUD operations | | `app-step` | appStep CRUD operations | | `app-achievement` | appAchievement CRUD operations | @@ -133,6 +141,11 @@ csdk auth set-token | `ref` | ref CRUD operations | | `store` | store CRUD operations | | `app-permission-default` | appPermissionDefault CRUD operations | +| `app-limit-credit-code` | appLimitCreditCode CRUD operations | +| `app-limit-caps-default` | appLimitCapsDefault CRUD operations | +| `org-limit-caps-default` | orgLimitCapsDefault CRUD operations | +| `app-limit-cap` | appLimitCap CRUD operations | +| `org-limit-cap` | orgLimitCap CRUD operations | | `membership-type` | membershipType CRUD operations | | `migrate-file` | migrateFile CRUD operations | | `devices-module` | devicesModule CRUD operations | @@ -141,19 +154,24 @@ csdk auth set-token | `org-limit-default` | orgLimitDefault CRUD operations | | `user-connected-account` | userConnectedAccount CRUD operations | | `commit` | commit CRUD operations | +| `pubkey-setting` | pubkeySetting CRUD operations | | `rate-limits-module` | rateLimitsModule CRUD operations | | `app-membership-default` | appMembershipDefault CRUD operations | | `org-membership-default` | orgMembershipDefault CRUD operations | +| `rls-setting` | rlsSetting CRUD operations | | `app-limit-event` | appLimitEvent CRUD operations | | `org-limit-event` | orgLimitEvent CRUD operations | -| `plans-module` | plansModule CRUD operations | | `rls-module` | rlsModule CRUD operations | +| `database-setting` | databaseSetting CRUD operations | +| `plans-module` | plansModule CRUD operations | | `sql-action` | sqlAction CRUD operations | | `billing-module` | billingModule CRUD operations | | `ast-migration` | astMigration CRUD operations | | `user` | user CRUD operations | | `org-membership-setting` | orgMembershipSetting CRUD operations | +| `webauthn-setting` | webauthnSetting CRUD operations | | `app-membership` | appMembership CRUD operations | +| `billing-provider-module` | billingProviderModule CRUD operations | | `hierarchy-module` | hierarchyModule CRUD operations | | `current-user-id` | currentUserId | | `current-user-agent` | currentUserAgent | @@ -203,6 +221,7 @@ csdk auth set-token | `provision-spatial-relation` | Idempotent provisioner for metaschema_public.spatial_relation. Inserts a row declaring a spatial predicate between two geometry/geography columns (owner and target). Called from construct_blueprint when a relation entry has $type=RelationSpatial. Graceful: re-running with the same (source_table_id, name) returns the existing id without modifying the row. Operator whitelist and st_dwithin ↔ param_name pairing are enforced by the spatial_relation table CHECKs. Both fields must already exist — this is a metadata-only insert. | | `bootstrap-user` | bootstrapUser | | `set-field-order` | setFieldOrder | +| `append-smart-tags` | appendSmartTags | | `provision-unique-constraint` | Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. | | `provision-full-text-search` | Creates a full-text search configuration on a table. Accepts a jsonb definition with field (tsvector column name) and sources (array of {field, weight, lang}). Graceful: skips if FTS config already exists for the same (table_id, field_id). Returns the fts_id. | | `provision-index` | Creates an index on a table. Accepts a jsonb definition with columns (array of names or single column string), access_method (default BTREE), is_unique, op_classes, options, and name (auto-generated if omitted). Graceful: skips if an index with the same (table_id, field_ids, access_method) already exists. Returns the index_id. | @@ -240,10 +259,6 @@ Example usage: | `request-cross-origin-token` | requestCrossOriginToken | | `sign-in` | signIn | | `provision-table` | Composable table provisioning: creates or finds a table, then creates fields (so Data* modules can reference them), applies N nodes (Data* modules), enables RLS, creates grants, creates N policies, and optionally creates table-level indexes/full_text_searches/unique_constraints. All operations are graceful (skip existing). Accepts multiple nodes and multiple policies per call, unlike secure_table_provision which is limited to one of each. Returns (out_table_id, out_fields). | -| `request-upload-url` | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `provision-bucket` | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -683,6 +698,38 @@ CRUD operations for SpatialRelation records. **Required create fields:** `tableId`, `fieldId`, `refTableId`, `refFieldId`, `name`, `operator` **Optional create fields (backend defaults):** `databaseId`, `paramName`, `category`, `module`, `scope`, `tags` +### `partition` + +CRUD operations for Partition records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all partition records | +| `find-first` | Find first matching partition record | +| `get` | Get a partition by id | +| `create` | Create a new partition | +| `update` | Update an existing partition | +| `delete` | Delete a partition | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `tableId` | UUID | +| `strategy` | String | +| `partitionKeyId` | UUID | +| `interval` | String | +| `retention` | String | +| `lookahead` | Int | +| `namingPattern` | String | +| `createdAt` | Datetime | +| `updatedAt` | Datetime | + +**Required create fields:** `databaseId`, `tableId`, `strategy`, `partitionKeyId` +**Optional create fields (backend defaults):** `interval`, `retention`, `lookahead`, `namingPattern` + ### `foreign-key-constraint` CRUD operations for ForeignKeyConstraint records. @@ -1338,6 +1385,30 @@ CRUD operations for Enum records. **Required create fields:** `databaseId`, `schemaId`, `name` **Optional create fields (backend defaults):** `label`, `description`, `values`, `smartTags`, `category`, `module`, `scope`, `tags` +### `function` + +CRUD operations for Function records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all function records | +| `find-first` | Find first matching function record | +| `get` | Get a function by id | +| `create` | Create a new function | +| `update` | Update an existing function | +| `delete` | Delete a function | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `schemaId` | UUID | +| `name` | String | + +**Required create fields:** `databaseId`, `schemaId`, `name` + ### `api-schema` CRUD operations for ApiSchema records. @@ -1490,6 +1561,31 @@ CRUD operations for SiteTheme records. **Required create fields:** `databaseId`, `siteId`, `theme` +### `cors-setting` + +CRUD operations for CorsSetting records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all corsSetting records | +| `find-first` | Find first matching corsSetting record | +| `get` | Get a corsSetting by id | +| `create` | Create a new corsSetting | +| `update` | Update an existing corsSetting | +| `delete` | Delete a corsSetting | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `apiId` | UUID | +| `allowedOrigins` | String | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `apiId`, `allowedOrigins` + ### `trigger-function` CRUD operations for TriggerFunction records. @@ -1640,6 +1736,40 @@ CRUD operations for App records. **Required create fields:** `databaseId`, `siteId` **Optional create fields (backend defaults):** `name`, `appImage`, `appStoreLink`, `appStoreId`, `appIdPrefix`, `playStoreLink` +### `api-setting` + +CRUD operations for ApiSetting records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all apiSetting records | +| `find-first` | Find first matching apiSetting record | +| `get` | Get a apiSetting by id | +| `create` | Create a new apiSetting | +| `update` | Update an existing apiSetting | +| `delete` | Delete a apiSetting | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `apiId` | UUID | +| `enableAggregates` | Boolean | +| `enablePostgis` | Boolean | +| `enableSearch` | Boolean | +| `enableDirectUploads` | Boolean | +| `enablePresignedUploads` | Boolean | +| `enableManyToMany` | Boolean | +| `enableConnectionFilter` | Boolean | +| `enableLtree` | Boolean | +| `enableLlm` | Boolean | +| `options` | JSON | + +**Required create fields:** `databaseId`, `apiId` +**Optional create fields (backend defaults):** `enableAggregates`, `enablePostgis`, `enableSearch`, `enableDirectUploads`, `enablePresignedUploads`, `enableManyToMany`, `enableConnectionFilter`, `enableLtree`, `enableLlm`, `options` + ### `connected-accounts-module` CRUD operations for ConnectedAccountsModule records. @@ -1954,14 +2084,23 @@ CRUD operations for LimitsModule records. | `limitDecrementTrigger` | String | | `limitUpdateTrigger` | String | | `limitCheckFunction` | String | +| `limitCreditsTableId` | UUID | +| `eventsTableId` | UUID | +| `creditCodesTableId` | UUID | +| `creditCodeItemsTableId` | UUID | +| `creditRedemptionsTableId` | UUID | | `aggregateTableId` | UUID | +| `limitCapsTableId` | UUID | +| `limitCapsDefaultsTableId` | UUID | +| `capCheckTrigger` | String | +| `resolveCapFunction` | String | | `prefix` | String | | `membershipType` | Int | | `entityTableId` | UUID | | `actorTableId` | UUID | **Required create fields:** `databaseId`, `membershipType` -**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `tableId`, `tableName`, `defaultTableId`, `defaultTableName`, `limitIncrementFunction`, `limitDecrementFunction`, `limitIncrementTrigger`, `limitDecrementTrigger`, `limitUpdateTrigger`, `limitCheckFunction`, `aggregateTableId`, `prefix`, `entityTableId`, `actorTableId` +**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `tableId`, `tableName`, `defaultTableId`, `defaultTableName`, `limitIncrementFunction`, `limitDecrementFunction`, `limitIncrementTrigger`, `limitDecrementTrigger`, `limitUpdateTrigger`, `limitCheckFunction`, `limitCreditsTableId`, `eventsTableId`, `creditCodesTableId`, `creditCodeItemsTableId`, `creditRedemptionsTableId`, `aggregateTableId`, `limitCapsTableId`, `limitCapsDefaultsTableId`, `capCheckTrigger`, `resolveCapFunction`, `prefix`, `entityTableId`, `actorTableId` ### `membership-types-module` @@ -2424,14 +2563,23 @@ CRUD operations for StorageModule records. | `provider` | String | | `allowedOrigins` | String | | `restrictReads` | Boolean | +| `hasPathShares` | Boolean | +| `pathSharesTableId` | UUID | | `uploadUrlExpirySeconds` | Int | | `downloadUrlExpirySeconds` | Int | | `defaultMaxFileSize` | BigInt | | `maxFilenameLength` | Int | | `cacheTtlSeconds` | Int | +| `maxBulkFiles` | Int | +| `maxBulkTotalSize` | BigInt | +| `hasVersioning` | Boolean | +| `hasContentHash` | Boolean | +| `hasCustomKeys` | Boolean | +| `hasAuditLog` | Boolean | +| `fileEventsTableId` | UUID | **Required create fields:** `databaseId` -**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `bucketsTableId`, `filesTableId`, `bucketsTableName`, `filesTableName`, `membershipType`, `policies`, `skipDefaultPolicyTables`, `entityTableId`, `endpoint`, `publicUrlPrefix`, `provider`, `allowedOrigins`, `restrictReads`, `uploadUrlExpirySeconds`, `downloadUrlExpirySeconds`, `defaultMaxFileSize`, `maxFilenameLength`, `cacheTtlSeconds` +**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `bucketsTableId`, `filesTableId`, `bucketsTableName`, `filesTableName`, `membershipType`, `policies`, `skipDefaultPolicyTables`, `entityTableId`, `endpoint`, `publicUrlPrefix`, `provider`, `allowedOrigins`, `restrictReads`, `hasPathShares`, `pathSharesTableId`, `uploadUrlExpirySeconds`, `downloadUrlExpirySeconds`, `defaultMaxFileSize`, `maxFilenameLength`, `cacheTtlSeconds`, `maxBulkFiles`, `maxBulkTotalSize`, `hasVersioning`, `hasContentHash`, `hasCustomKeys`, `hasAuditLog`, `fileEventsTableId` ### `entity-type-provision` @@ -2473,10 +2621,11 @@ CRUD operations for EntityTypeProvision records. | `outStorageModuleId` | UUID | | `outBucketsTableId` | UUID | | `outFilesTableId` | UUID | +| `outPathSharesTableId` | UUID | | `outInvitesModuleId` | UUID | **Required create fields:** `databaseId`, `name`, `prefix` -**Optional create fields (backend defaults):** `description`, `parentEntity`, `tableName`, `isVisible`, `hasLimits`, `hasProfiles`, `hasLevels`, `hasStorage`, `hasInvites`, `storageConfig`, `skipEntityPolicies`, `tableProvision`, `outMembershipType`, `outEntityTableId`, `outEntityTableName`, `outInstalledModules`, `outStorageModuleId`, `outBucketsTableId`, `outFilesTableId`, `outInvitesModuleId` +**Optional create fields (backend defaults):** `description`, `parentEntity`, `tableName`, `isVisible`, `hasLimits`, `hasProfiles`, `hasLevels`, `hasStorage`, `hasInvites`, `storageConfig`, `skipEntityPolicies`, `tableProvision`, `outMembershipType`, `outEntityTableId`, `outEntityTableName`, `outInstalledModules`, `outStorageModuleId`, `outBucketsTableId`, `outFilesTableId`, `outPathSharesTableId`, `outInvitesModuleId` ### `webauthn-credentials-module` @@ -2987,9 +3136,88 @@ CRUD operations for AppLimit records. | `softMax` | BigInt | | `windowStart` | Datetime | | `windowDuration` | Interval | +| `planMax` | BigInt | +| `purchasedCredits` | BigInt | +| `periodCredits` | BigInt | **Required create fields:** `actorId` -**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration` +**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration`, `planMax`, `purchasedCredits`, `periodCredits` + +### `app-limit-credit` + +CRUD operations for AppLimitCredit records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCredit records | +| `find-first` | Find first matching appLimitCredit record | +| `get` | Get a appLimitCredit by id | +| `create` | Create a new appLimitCredit | +| `update` | Update an existing appLimitCredit | +| `delete` | Delete a appLimitCredit | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `defaultLimitId` | UUID | +| `actorId` | UUID | +| `amount` | BigInt | +| `creditType` | String | +| `reason` | String | + +**Required create fields:** `defaultLimitId`, `amount` +**Optional create fields (backend defaults):** `actorId`, `creditType`, `reason` + +### `app-limit-credit-code-item` + +CRUD operations for AppLimitCreditCodeItem records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCreditCodeItem records | +| `find-first` | Find first matching appLimitCreditCodeItem record | +| `get` | Get a appLimitCreditCodeItem by id | +| `create` | Create a new appLimitCreditCodeItem | +| `update` | Update an existing appLimitCreditCodeItem | +| `delete` | Delete a appLimitCreditCodeItem | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `creditCodeId` | UUID | +| `defaultLimitId` | UUID | +| `amount` | BigInt | +| `creditType` | String | + +**Required create fields:** `creditCodeId`, `defaultLimitId`, `amount` +**Optional create fields (backend defaults):** `creditType` + +### `app-limit-credit-redemption` + +CRUD operations for AppLimitCreditRedemption records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCreditRedemption records | +| `find-first` | Find first matching appLimitCreditRedemption record | +| `get` | Get a appLimitCreditRedemption by id | +| `create` | Create a new appLimitCreditRedemption | +| `update` | Update an existing appLimitCreditRedemption | +| `delete` | Delete a appLimitCreditRedemption | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `creditCodeId` | UUID | +| `entityId` | UUID | + +**Required create fields:** `creditCodeId`, `entityId` ### `org-limit` @@ -3016,10 +3244,41 @@ CRUD operations for OrgLimit records. | `softMax` | BigInt | | `windowStart` | Datetime | | `windowDuration` | Interval | +| `planMax` | BigInt | +| `purchasedCredits` | BigInt | +| `periodCredits` | BigInt | | `entityId` | UUID | **Required create fields:** `actorId`, `entityId` -**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration` +**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration`, `planMax`, `purchasedCredits`, `periodCredits` + +### `org-limit-credit` + +CRUD operations for OrgLimitCredit records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitCredit records | +| `find-first` | Find first matching orgLimitCredit record | +| `get` | Get a orgLimitCredit by id | +| `create` | Create a new orgLimitCredit | +| `update` | Update an existing orgLimitCredit | +| `delete` | Delete a orgLimitCredit | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `defaultLimitId` | UUID | +| `actorId` | UUID | +| `entityId` | UUID | +| `amount` | BigInt | +| `creditType` | String | +| `reason` | String | + +**Required create fields:** `defaultLimitId`, `amount` +**Optional create fields (backend defaults):** `actorId`, `entityId`, `creditType`, `reason` ### `org-limit-aggregate` @@ -3046,9 +3305,13 @@ CRUD operations for OrgLimitAggregate records. | `softMax` | BigInt | | `windowStart` | Datetime | | `windowDuration` | Interval | +| `planMax` | BigInt | +| `purchasedCredits` | BigInt | +| `periodCredits` | BigInt | +| `reserved` | BigInt | **Required create fields:** `entityId` -**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration` +**Optional create fields (backend defaults):** `name`, `num`, `max`, `softMax`, `windowStart`, `windowDuration`, `planMax`, `purchasedCredits`, `periodCredits`, `reserved` ### `app-step` @@ -3619,6 +3882,130 @@ CRUD operations for AppPermissionDefault records. **Optional create fields (backend defaults):** `permissions` +### `app-limit-credit-code` + +CRUD operations for AppLimitCreditCode records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCreditCode records | +| `find-first` | Find first matching appLimitCreditCode record | +| `get` | Get a appLimitCreditCode by id | +| `create` | Create a new appLimitCreditCode | +| `update` | Update an existing appLimitCreditCode | +| `delete` | Delete a appLimitCreditCode | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `code` | String | +| `maxRedemptions` | Int | +| `currentRedemptions` | Int | +| `expiresAt` | Datetime | + +**Required create fields:** `code` +**Optional create fields (backend defaults):** `maxRedemptions`, `currentRedemptions`, `expiresAt` + +### `app-limit-caps-default` + +CRUD operations for AppLimitCapsDefault records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCapsDefault records | +| `find-first` | Find first matching appLimitCapsDefault record | +| `get` | Get a appLimitCapsDefault by id | +| `create` | Create a new appLimitCapsDefault | +| `update` | Update an existing appLimitCapsDefault | +| `delete` | Delete a appLimitCapsDefault | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `max` | BigInt | + +**Required create fields:** `name` +**Optional create fields (backend defaults):** `max` + +### `org-limit-caps-default` + +CRUD operations for OrgLimitCapsDefault records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitCapsDefault records | +| `find-first` | Find first matching orgLimitCapsDefault record | +| `get` | Get a orgLimitCapsDefault by id | +| `create` | Create a new orgLimitCapsDefault | +| `update` | Update an existing orgLimitCapsDefault | +| `delete` | Delete a orgLimitCapsDefault | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `max` | BigInt | + +**Required create fields:** `name` +**Optional create fields (backend defaults):** `max` + +### `app-limit-cap` + +CRUD operations for AppLimitCap records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all appLimitCap records | +| `find-first` | Find first matching appLimitCap record | +| `get` | Get a appLimitCap by id | +| `create` | Create a new appLimitCap | +| `update` | Update an existing appLimitCap | +| `delete` | Delete a appLimitCap | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `entityId` | UUID | +| `max` | BigInt | + +**Required create fields:** `name`, `entityId` +**Optional create fields (backend defaults):** `max` + +### `org-limit-cap` + +CRUD operations for OrgLimitCap records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all orgLimitCap records | +| `find-first` | Find first matching orgLimitCap record | +| `get` | Get a orgLimitCap by id | +| `create` | Create a new orgLimitCap | +| `update` | Update an existing orgLimitCap | +| `delete` | Delete a orgLimitCap | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `name` | String | +| `entityId` | UUID | +| `max` | BigInt | + +**Required create fields:** `name`, `entityId` +**Optional create fields (backend defaults):** `max` + ### `membership-type` CRUD operations for MembershipType records. @@ -3833,6 +4220,36 @@ CRUD operations for Commit records. **Required create fields:** `databaseId`, `storeId` **Optional create fields (backend defaults):** `message`, `parentIds`, `authorId`, `committerId`, `treeId`, `date` +### `pubkey-setting` + +CRUD operations for PubkeySetting records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all pubkeySetting records | +| `find-first` | Find first matching pubkeySetting record | +| `get` | Get a pubkeySetting by id | +| `create` | Create a new pubkeySetting | +| `update` | Update an existing pubkeySetting | +| `delete` | Delete a pubkeySetting | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `schemaId` | UUID | +| `cryptoNetwork` | String | +| `userField` | String | +| `signUpWithKeyFunctionId` | UUID | +| `signInRequestChallengeFunctionId` | UUID | +| `signInRecordFailureFunctionId` | UUID | +| `signInWithChallengeFunctionId` | UUID | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `schemaId`, `cryptoNetwork`, `userField`, `signUpWithKeyFunctionId`, `signInRequestChallengeFunctionId`, `signInRecordFailureFunctionId`, `signInWithChallengeFunctionId` + ### `rate-limits-module` CRUD operations for RateLimitsModule records. @@ -3918,6 +4335,37 @@ CRUD operations for OrgMembershipDefault records. **Required create fields:** `entityId` **Optional create fields (backend defaults):** `createdBy`, `updatedBy`, `isApproved` +### `rls-setting` + +CRUD operations for RlsSetting records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all rlsSetting records | +| `find-first` | Find first matching rlsSetting record | +| `get` | Get a rlsSetting by id | +| `create` | Create a new rlsSetting | +| `update` | Update an existing rlsSetting | +| `delete` | Delete a rlsSetting | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `authenticateSchemaId` | UUID | +| `roleSchemaId` | UUID | +| `authenticateFunctionId` | UUID | +| `authenticateStrictFunctionId` | UUID | +| `currentRoleFunctionId` | UUID | +| `currentRoleIdFunctionId` | UUID | +| `currentUserAgentFunctionId` | UUID | +| `currentIpAddressFunctionId` | UUID | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `authenticateSchemaId`, `roleSchemaId`, `authenticateFunctionId`, `authenticateStrictFunctionId`, `currentRoleFunctionId`, `currentRoleIdFunctionId`, `currentUserAgentFunctionId`, `currentIpAddressFunctionId` + ### `app-limit-event` CRUD operations for AppLimitEvent records. @@ -3976,38 +4424,6 @@ CRUD operations for OrgLimitEvent records. **Optional create fields (backend defaults):** `name`, `actorId`, `entityId`, `eventType`, `delta`, `numBefore`, `numAfter`, `maxAtEvent`, `reason` -### `plans-module` - -CRUD operations for PlansModule records. - -| Subcommand | Description | -|------------|-------------| -| `list` | List all plansModule records | -| `find-first` | Find first matching plansModule record | -| `get` | Get a plansModule by id | -| `create` | Create a new plansModule | -| `update` | Update an existing plansModule | -| `delete` | Delete a plansModule | - -**Fields:** - -| Field | Type | -|-------|------| -| `id` | UUID | -| `databaseId` | UUID | -| `schemaId` | UUID | -| `privateSchemaId` | UUID | -| `plansTableId` | UUID | -| `plansTableName` | String | -| `planLimitsTableId` | UUID | -| `planLimitsTableName` | String | -| `applyPlanFunction` | String | -| `applyPlanAggregateFunction` | String | -| `prefix` | String | - -**Required create fields:** `databaseId` -**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `plansTableId`, `plansTableName`, `planLimitsTableId`, `planLimitsTableName`, `applyPlanFunction`, `applyPlanAggregateFunction`, `prefix` - ### `rls-module` CRUD operations for RlsModule records. @@ -4040,6 +4456,73 @@ CRUD operations for RlsModule records. **Required create fields:** `databaseId` **Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `sessionCredentialsTableId`, `sessionsTableId`, `usersTableId`, `authenticate`, `authenticateStrict`, `currentRole`, `currentRoleId` +### `database-setting` + +CRUD operations for DatabaseSetting records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all databaseSetting records | +| `find-first` | Find first matching databaseSetting record | +| `get` | Get a databaseSetting by id | +| `create` | Create a new databaseSetting | +| `update` | Update an existing databaseSetting | +| `delete` | Delete a databaseSetting | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `enableAggregates` | Boolean | +| `enablePostgis` | Boolean | +| `enableSearch` | Boolean | +| `enableDirectUploads` | Boolean | +| `enablePresignedUploads` | Boolean | +| `enableManyToMany` | Boolean | +| `enableConnectionFilter` | Boolean | +| `enableLtree` | Boolean | +| `enableLlm` | Boolean | +| `options` | JSON | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `enableAggregates`, `enablePostgis`, `enableSearch`, `enableDirectUploads`, `enablePresignedUploads`, `enableManyToMany`, `enableConnectionFilter`, `enableLtree`, `enableLlm`, `options` + +### `plans-module` + +CRUD operations for PlansModule records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all plansModule records | +| `find-first` | Find first matching plansModule record | +| `get` | Get a plansModule by id | +| `create` | Create a new plansModule | +| `update` | Update an existing plansModule | +| `delete` | Delete a plansModule | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `schemaId` | UUID | +| `privateSchemaId` | UUID | +| `plansTableId` | UUID | +| `plansTableName` | String | +| `planLimitsTableId` | UUID | +| `planLimitsTableName` | String | +| `planPricingTableId` | UUID | +| `planOverridesTableId` | UUID | +| `applyPlanFunction` | String | +| `applyPlanAggregateFunction` | String | +| `prefix` | String | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `plansTableId`, `plansTableName`, `planLimitsTableId`, `planLimitsTableName`, `planPricingTableId`, `planOverridesTableId`, `applyPlanFunction`, `applyPlanAggregateFunction`, `prefix` + ### `sql-action` CRUD operations for SqlAction records. @@ -4234,6 +4717,45 @@ CRUD operations for OrgMembershipSetting records. **Required create fields:** `entityId` **Optional create fields (backend defaults):** `createdBy`, `updatedBy`, `deleteMemberCascadeChildren`, `createChildCascadeOwners`, `createChildCascadeAdmins`, `createChildCascadeMembers`, `allowExternalMembers`, `inviteProfileAssignmentMode`, `populateMemberEmail`, `limitAllocationMode` +### `webauthn-setting` + +CRUD operations for WebauthnSetting records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all webauthnSetting records | +| `find-first` | Find first matching webauthnSetting record | +| `get` | Get a webauthnSetting by id | +| `create` | Create a new webauthnSetting | +| `update` | Update an existing webauthnSetting | +| `delete` | Delete a webauthnSetting | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `schemaId` | UUID | +| `credentialsSchemaId` | UUID | +| `sessionsSchemaId` | UUID | +| `sessionSecretsSchemaId` | UUID | +| `credentialsTableId` | UUID | +| `sessionsTableId` | UUID | +| `sessionCredentialsTableId` | UUID | +| `sessionSecretsTableId` | UUID | +| `userFieldId` | UUID | +| `rpId` | String | +| `rpName` | String | +| `originAllowlist` | String | +| `attestationType` | String | +| `requireUserVerification` | Boolean | +| `residentKey` | String | +| `challengeExpirySeconds` | BigInt | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `schemaId`, `credentialsSchemaId`, `sessionsSchemaId`, `sessionSecretsSchemaId`, `credentialsTableId`, `sessionsTableId`, `sessionCredentialsTableId`, `sessionSecretsTableId`, `userFieldId`, `rpId`, `rpName`, `originAllowlist`, `attestationType`, `requireUserVerification`, `residentKey`, `challengeExpirySeconds` + ### `app-membership` CRUD operations for AppMembership records. @@ -4271,6 +4793,47 @@ CRUD operations for AppMembership records. **Required create fields:** `actorId` **Optional create fields (backend defaults):** `createdBy`, `updatedBy`, `isApproved`, `isBanned`, `isDisabled`, `isVerified`, `isActive`, `isOwner`, `isAdmin`, `permissions`, `granted`, `profileId` +### `billing-provider-module` + +CRUD operations for BillingProviderModule records. + +| Subcommand | Description | +|------------|-------------| +| `list` | List all billingProviderModule records | +| `find-first` | Find first matching billingProviderModule record | +| `get` | Get a billingProviderModule by id | +| `create` | Create a new billingProviderModule | +| `update` | Update an existing billingProviderModule | +| `delete` | Delete a billingProviderModule | + +**Fields:** + +| Field | Type | +|-------|------| +| `id` | UUID | +| `databaseId` | UUID | +| `schemaId` | UUID | +| `privateSchemaId` | UUID | +| `provider` | String | +| `productsTableId` | UUID | +| `pricesTableId` | UUID | +| `subscriptionsTableId` | UUID | +| `billingCustomersTableId` | UUID | +| `billingCustomersTableName` | String | +| `billingProductsTableId` | UUID | +| `billingProductsTableName` | String | +| `billingPricesTableId` | UUID | +| `billingPricesTableName` | String | +| `billingSubscriptionsTableId` | UUID | +| `billingSubscriptionsTableName` | String | +| `billingWebhookEventsTableId` | UUID | +| `billingWebhookEventsTableName` | String | +| `processBillingEventFunction` | String | +| `prefix` | String | + +**Required create fields:** `databaseId` +**Optional create fields (backend defaults):** `schemaId`, `privateSchemaId`, `provider`, `productsTableId`, `pricesTableId`, `subscriptionsTableId`, `billingCustomersTableId`, `billingCustomersTableName`, `billingProductsTableId`, `billingProductsTableName`, `billingPricesTableId`, `billingPricesTableName`, `billingSubscriptionsTableId`, `billingSubscriptionsTableName`, `billingWebhookEventsTableId`, `billingWebhookEventsTableName`, `processBillingEventFunction`, `prefix` + ### `hierarchy-module` CRUD operations for HierarchyModule records. @@ -4912,6 +5475,19 @@ setFieldOrder | `--input.clientMutationId` | String | | `--input.fieldIds` | UUID | +### `append-smart-tags` + +appendSmartTags + +- **Type:** mutation +- **Arguments:** + + | Argument | Type | + |----------|------| + | `--input.clientMutationId` | String | + | `--input.pTableId` | UUID | + | `--input.pTags` | JSON | + ### `provision-unique-constraint` Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -5271,25 +5847,6 @@ Composable table provisioning: creates or finds a table, then creates fields (so | `--input.uniqueConstraints` | JSON | | `--input.description` | String | -### `request-upload-url` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `--input.bucketKey` | String (required) | - | `--input.ownerId` | UUID | - | `--input.contentHash` | String (required) | - | `--input.contentType` | String (required) | - | `--input.size` | Int (required) | - | `--input.filename` | String | - ### `provision-bucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/public/cli/commands.ts b/sdk/constructive-cli/src/public/cli/commands.ts index 97ee24d80..ee9b22203 100644 --- a/sdk/constructive-cli/src/public/cli/commands.ts +++ b/sdk/constructive-cli/src/public/cli/commands.ts @@ -19,6 +19,7 @@ import tableCmd from './commands/table'; import checkConstraintCmd from './commands/check-constraint'; import fieldCmd from './commands/field'; import spatialRelationCmd from './commands/spatial-relation'; +import partitionCmd from './commands/partition'; import foreignKeyConstraintCmd from './commands/foreign-key-constraint'; import fullTextSearchCmd from './commands/full-text-search'; import indexCmd from './commands/index'; @@ -39,17 +40,20 @@ import identityProvidersModuleCmd from './commands/identity-providers-module'; import schemaGrantCmd from './commands/schema-grant'; import defaultPrivilegeCmd from './commands/default-privilege'; import enumCmd from './commands/enum'; +import functionCmd from './commands/function'; import apiSchemaCmd from './commands/api-schema'; import apiModuleCmd from './commands/api-module'; import domainCmd from './commands/domain'; import siteMetadatumCmd from './commands/site-metadatum'; import siteModuleCmd from './commands/site-module'; import siteThemeCmd from './commands/site-theme'; +import corsSettingCmd from './commands/cors-setting'; import triggerFunctionCmd from './commands/trigger-function'; import databaseTransferCmd from './commands/database-transfer'; import apiCmd from './commands/api'; import siteCmd from './commands/site'; import appCmd from './commands/app'; +import apiSettingCmd from './commands/api-setting'; import connectedAccountsModuleCmd from './commands/connected-accounts-module'; import cryptoAddressesModuleCmd from './commands/crypto-addresses-module'; import cryptoAuthModuleCmd from './commands/crypto-auth-module'; @@ -91,7 +95,11 @@ import orgChartEdgeCmd from './commands/org-chart-edge'; import orgChartEdgeGrantCmd from './commands/org-chart-edge-grant'; import orgPermissionDefaultCmd from './commands/org-permission-default'; import appLimitCmd from './commands/app-limit'; +import appLimitCreditCmd from './commands/app-limit-credit'; +import appLimitCreditCodeItemCmd from './commands/app-limit-credit-code-item'; +import appLimitCreditRedemptionCmd from './commands/app-limit-credit-redemption'; import orgLimitCmd from './commands/org-limit'; +import orgLimitCreditCmd from './commands/org-limit-credit'; import orgLimitAggregateCmd from './commands/org-limit-aggregate'; import appStepCmd from './commands/app-step'; import appAchievementCmd from './commands/app-achievement'; @@ -113,6 +121,11 @@ import identityProviderCmd from './commands/identity-provider'; import refCmd from './commands/ref'; import storeCmd from './commands/store'; import appPermissionDefaultCmd from './commands/app-permission-default'; +import appLimitCreditCodeCmd from './commands/app-limit-credit-code'; +import appLimitCapsDefaultCmd from './commands/app-limit-caps-default'; +import orgLimitCapsDefaultCmd from './commands/org-limit-caps-default'; +import appLimitCapCmd from './commands/app-limit-cap'; +import orgLimitCapCmd from './commands/org-limit-cap'; import membershipTypeCmd from './commands/membership-type'; import migrateFileCmd from './commands/migrate-file'; import devicesModuleCmd from './commands/devices-module'; @@ -121,19 +134,24 @@ import appLimitDefaultCmd from './commands/app-limit-default'; import orgLimitDefaultCmd from './commands/org-limit-default'; import userConnectedAccountCmd from './commands/user-connected-account'; import commitCmd from './commands/commit'; +import pubkeySettingCmd from './commands/pubkey-setting'; import rateLimitsModuleCmd from './commands/rate-limits-module'; import appMembershipDefaultCmd from './commands/app-membership-default'; import orgMembershipDefaultCmd from './commands/org-membership-default'; +import rlsSettingCmd from './commands/rls-setting'; import appLimitEventCmd from './commands/app-limit-event'; import orgLimitEventCmd from './commands/org-limit-event'; -import plansModuleCmd from './commands/plans-module'; import rlsModuleCmd from './commands/rls-module'; +import databaseSettingCmd from './commands/database-setting'; +import plansModuleCmd from './commands/plans-module'; import sqlActionCmd from './commands/sql-action'; import billingModuleCmd from './commands/billing-module'; import astMigrationCmd from './commands/ast-migration'; import userCmd from './commands/user'; import orgMembershipSettingCmd from './commands/org-membership-setting'; +import webauthnSettingCmd from './commands/webauthn-setting'; import appMembershipCmd from './commands/app-membership'; +import billingProviderModuleCmd from './commands/billing-provider-module'; import hierarchyModuleCmd from './commands/hierarchy-module'; import currentUserIdCmd from './commands/current-user-id'; import currentUserAgentCmd from './commands/current-user-agent'; @@ -183,6 +201,7 @@ import copyTemplateToBlueprintCmd from './commands/copy-template-to-blueprint'; import provisionSpatialRelationCmd from './commands/provision-spatial-relation'; import bootstrapUserCmd from './commands/bootstrap-user'; import setFieldOrderCmd from './commands/set-field-order'; +import appendSmartTagsCmd from './commands/append-smart-tags'; import provisionUniqueConstraintCmd from './commands/provision-unique-constraint'; import provisionFullTextSearchCmd from './commands/provision-full-text-search'; import provisionIndexCmd from './commands/provision-index'; @@ -204,7 +223,6 @@ import signUpCmd from './commands/sign-up'; import requestCrossOriginTokenCmd from './commands/request-cross-origin-token'; import signInCmd from './commands/sign-in'; import provisionTableCmd from './commands/provision-table'; -import requestUploadUrlCmd from './commands/request-upload-url'; import provisionBucketCmd from './commands/provision-bucket'; const createCommandMap: () => Record< string, @@ -229,6 +247,7 @@ const createCommandMap: () => Record< 'check-constraint': checkConstraintCmd, field: fieldCmd, 'spatial-relation': spatialRelationCmd, + partition: partitionCmd, 'foreign-key-constraint': foreignKeyConstraintCmd, 'full-text-search': fullTextSearchCmd, index: indexCmd, @@ -249,17 +268,20 @@ const createCommandMap: () => Record< 'schema-grant': schemaGrantCmd, 'default-privilege': defaultPrivilegeCmd, enum: enumCmd, + function: functionCmd, 'api-schema': apiSchemaCmd, 'api-module': apiModuleCmd, domain: domainCmd, 'site-metadatum': siteMetadatumCmd, 'site-module': siteModuleCmd, 'site-theme': siteThemeCmd, + 'cors-setting': corsSettingCmd, 'trigger-function': triggerFunctionCmd, 'database-transfer': databaseTransferCmd, api: apiCmd, site: siteCmd, app: appCmd, + 'api-setting': apiSettingCmd, 'connected-accounts-module': connectedAccountsModuleCmd, 'crypto-addresses-module': cryptoAddressesModuleCmd, 'crypto-auth-module': cryptoAuthModuleCmd, @@ -301,7 +323,11 @@ const createCommandMap: () => Record< 'org-chart-edge-grant': orgChartEdgeGrantCmd, 'org-permission-default': orgPermissionDefaultCmd, 'app-limit': appLimitCmd, + 'app-limit-credit': appLimitCreditCmd, + 'app-limit-credit-code-item': appLimitCreditCodeItemCmd, + 'app-limit-credit-redemption': appLimitCreditRedemptionCmd, 'org-limit': orgLimitCmd, + 'org-limit-credit': orgLimitCreditCmd, 'org-limit-aggregate': orgLimitAggregateCmd, 'app-step': appStepCmd, 'app-achievement': appAchievementCmd, @@ -323,6 +349,11 @@ const createCommandMap: () => Record< ref: refCmd, store: storeCmd, 'app-permission-default': appPermissionDefaultCmd, + 'app-limit-credit-code': appLimitCreditCodeCmd, + 'app-limit-caps-default': appLimitCapsDefaultCmd, + 'org-limit-caps-default': orgLimitCapsDefaultCmd, + 'app-limit-cap': appLimitCapCmd, + 'org-limit-cap': orgLimitCapCmd, 'membership-type': membershipTypeCmd, 'migrate-file': migrateFileCmd, 'devices-module': devicesModuleCmd, @@ -331,19 +362,24 @@ const createCommandMap: () => Record< 'org-limit-default': orgLimitDefaultCmd, 'user-connected-account': userConnectedAccountCmd, commit: commitCmd, + 'pubkey-setting': pubkeySettingCmd, 'rate-limits-module': rateLimitsModuleCmd, 'app-membership-default': appMembershipDefaultCmd, 'org-membership-default': orgMembershipDefaultCmd, + 'rls-setting': rlsSettingCmd, 'app-limit-event': appLimitEventCmd, 'org-limit-event': orgLimitEventCmd, - 'plans-module': plansModuleCmd, 'rls-module': rlsModuleCmd, + 'database-setting': databaseSettingCmd, + 'plans-module': plansModuleCmd, 'sql-action': sqlActionCmd, 'billing-module': billingModuleCmd, 'ast-migration': astMigrationCmd, user: userCmd, 'org-membership-setting': orgMembershipSettingCmd, + 'webauthn-setting': webauthnSettingCmd, 'app-membership': appMembershipCmd, + 'billing-provider-module': billingProviderModuleCmd, 'hierarchy-module': hierarchyModuleCmd, 'current-user-id': currentUserIdCmd, 'current-user-agent': currentUserAgentCmd, @@ -393,6 +429,7 @@ const createCommandMap: () => Record< 'provision-spatial-relation': provisionSpatialRelationCmd, 'bootstrap-user': bootstrapUserCmd, 'set-field-order': setFieldOrderCmd, + 'append-smart-tags': appendSmartTagsCmd, 'provision-unique-constraint': provisionUniqueConstraintCmd, 'provision-full-text-search': provisionFullTextSearchCmd, 'provision-index': provisionIndexCmd, @@ -414,11 +451,10 @@ const createCommandMap: () => Record< 'request-cross-origin-token': requestCrossOriginTokenCmd, 'sign-in': signInCmd, 'provision-table': provisionTableCmd, - 'request-upload-url': requestUploadUrlCmd, 'provision-bucket': provisionBucketCmd, }); const usage = - "\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n org-get-managers-record orgGetManagersRecord CRUD operations\n org-get-subordinates-record orgGetSubordinatesRecord CRUD operations\n get-all-record getAllRecord CRUD operations\n app-permission appPermission CRUD operations\n org-permission orgPermission CRUD operations\n object object CRUD operations\n app-level-requirement appLevelRequirement CRUD operations\n database database CRUD operations\n schema schema CRUD operations\n table table CRUD operations\n check-constraint checkConstraint CRUD operations\n field field CRUD operations\n spatial-relation spatialRelation CRUD operations\n foreign-key-constraint foreignKeyConstraint CRUD operations\n full-text-search fullTextSearch CRUD operations\n index index CRUD operations\n policy policy CRUD operations\n primary-key-constraint primaryKeyConstraint CRUD operations\n table-grant tableGrant CRUD operations\n trigger trigger CRUD operations\n unique-constraint uniqueConstraint CRUD operations\n view view CRUD operations\n view-table viewTable CRUD operations\n view-grant viewGrant CRUD operations\n view-rule viewRule CRUD operations\n embedding-chunk embeddingChunk CRUD operations\n secure-table-provision secureTableProvision CRUD operations\n relation-provision relationProvision CRUD operations\n session-secrets-module sessionSecretsModule CRUD operations\n identity-providers-module identityProvidersModule CRUD operations\n schema-grant schemaGrant CRUD operations\n default-privilege defaultPrivilege CRUD operations\n enum enum CRUD operations\n api-schema apiSchema CRUD operations\n api-module apiModule CRUD operations\n domain domain CRUD operations\n site-metadatum siteMetadatum CRUD operations\n site-module siteModule CRUD operations\n site-theme siteTheme CRUD operations\n trigger-function triggerFunction CRUD operations\n database-transfer databaseTransfer CRUD operations\n api api CRUD operations\n site site CRUD operations\n app app CRUD operations\n connected-accounts-module connectedAccountsModule CRUD operations\n crypto-addresses-module cryptoAddressesModule CRUD operations\n crypto-auth-module cryptoAuthModule CRUD operations\n default-ids-module defaultIdsModule CRUD operations\n denormalized-table-field denormalizedTableField CRUD operations\n emails-module emailsModule CRUD operations\n encrypted-secrets-module encryptedSecretsModule CRUD operations\n invites-module invitesModule CRUD operations\n levels-module levelsModule CRUD operations\n limits-module limitsModule CRUD operations\n membership-types-module membershipTypesModule CRUD operations\n memberships-module membershipsModule CRUD operations\n permissions-module permissionsModule CRUD operations\n phone-numbers-module phoneNumbersModule CRUD operations\n profiles-module profilesModule CRUD operations\n secrets-module secretsModule CRUD operations\n sessions-module sessionsModule CRUD operations\n user-auth-module userAuthModule CRUD operations\n users-module usersModule CRUD operations\n blueprint blueprint CRUD operations\n blueprint-template blueprintTemplate CRUD operations\n blueprint-construction blueprintConstruction CRUD operations\n storage-module storageModule CRUD operations\n entity-type-provision entityTypeProvision CRUD operations\n webauthn-credentials-module webauthnCredentialsModule CRUD operations\n webauthn-auth-module webauthnAuthModule CRUD operations\n notifications-module notificationsModule CRUD operations\n database-provision-module databaseProvisionModule CRUD operations\n app-admin-grant appAdminGrant CRUD operations\n app-owner-grant appOwnerGrant CRUD operations\n app-grant appGrant CRUD operations\n org-membership orgMembership CRUD operations\n org-member orgMember CRUD operations\n org-admin-grant orgAdminGrant CRUD operations\n org-owner-grant orgOwnerGrant CRUD operations\n org-member-profile orgMemberProfile CRUD operations\n org-grant orgGrant CRUD operations\n org-chart-edge orgChartEdge CRUD operations\n org-chart-edge-grant orgChartEdgeGrant CRUD operations\n org-permission-default orgPermissionDefault CRUD operations\n app-limit appLimit CRUD operations\n org-limit orgLimit CRUD operations\n org-limit-aggregate orgLimitAggregate CRUD operations\n app-step appStep CRUD operations\n app-achievement appAchievement CRUD operations\n app-level appLevel CRUD operations\n email email CRUD operations\n phone-number phoneNumber CRUD operations\n crypto-address cryptoAddress CRUD operations\n webauthn-credential webauthnCredential CRUD operations\n app-invite appInvite CRUD operations\n app-claimed-invite appClaimedInvite CRUD operations\n org-invite orgInvite CRUD operations\n org-claimed-invite orgClaimedInvite CRUD operations\n audit-log auditLog CRUD operations\n agent-thread agentThread CRUD operations\n agent-message agentMessage CRUD operations\n agent-task agentTask CRUD operations\n role-type roleType CRUD operations\n identity-provider identityProvider CRUD operations\n ref ref CRUD operations\n store store CRUD operations\n app-permission-default appPermissionDefault CRUD operations\n membership-type membershipType CRUD operations\n migrate-file migrateFile CRUD operations\n devices-module devicesModule CRUD operations\n node-type-registry nodeTypeRegistry CRUD operations\n app-limit-default appLimitDefault CRUD operations\n org-limit-default orgLimitDefault CRUD operations\n user-connected-account userConnectedAccount CRUD operations\n commit commit CRUD operations\n rate-limits-module rateLimitsModule CRUD operations\n app-membership-default appMembershipDefault CRUD operations\n org-membership-default orgMembershipDefault CRUD operations\n app-limit-event appLimitEvent CRUD operations\n org-limit-event orgLimitEvent CRUD operations\n plans-module plansModule CRUD operations\n rls-module rlsModule CRUD operations\n sql-action sqlAction CRUD operations\n billing-module billingModule CRUD operations\n ast-migration astMigration CRUD operations\n user user CRUD operations\n org-membership-setting orgMembershipSetting CRUD operations\n app-membership appMembership CRUD operations\n hierarchy-module hierarchyModule CRUD operations\n current-user-id currentUserId\n current-user-agent currentUserAgent\n current-ip-address currentIpAddress\n require-step-up requireStepUp\n app-permissions-get-padded-mask appPermissionsGetPaddedMask\n org-permissions-get-padded-mask orgPermissionsGetPaddedMask\n steps-achieved stepsAchieved\n rev-parse revParse\n resolve-blueprint-field Resolves a field_name within a given table_id to a field_id. Throws if no match is found. Used by construct_blueprint to translate user-authored field names (e.g. \"location\") into field UUIDs for downstream provisioning procedures. table_id must already be resolved (via resolve_blueprint_table) before calling this.\n org-is-manager-of orgIsManagerOf\n app-permissions-get-mask appPermissionsGetMask\n org-permissions-get-mask orgPermissionsGetMask\n resolve-blueprint-table Resolves a table_name (with optional schema_name) to a table_id. Resolution order: (1) if schema_name provided, exact lookup via metaschema_public.schema.name + metaschema_public.table; (2) check local table_map (tables created in current blueprint); (3) search metaschema_public.table by name across all schemas; (4) if multiple matches, throw ambiguous error asking for schema_name; (5) if no match, throw not-found error.\n app-permissions-get-mask-by-names appPermissionsGetMaskByNames\n org-permissions-get-mask-by-names orgPermissionsGetMaskByNames\n app-permissions-get-by-mask Reads and enables pagination through a set of `AppPermission`.\n org-permissions-get-by-mask Reads and enables pagination through a set of `OrgPermission`.\n get-all-objects-from-root Reads and enables pagination through a set of `Object`.\n get-path-objects-from-root Reads and enables pagination through a set of `Object`.\n get-object-at-path getObjectAtPath\n steps-required Reads and enables pagination through a set of `AppLevelRequirement`.\n current-user currentUser\n send-account-deletion-email sendAccountDeletionEmail\n sign-out signOut\n accept-database-transfer acceptDatabaseTransfer\n cancel-database-transfer cancelDatabaseTransfer\n reject-database-transfer rejectDatabaseTransfer\n disconnect-account disconnectAccount\n revoke-api-key revokeApiKey\n revoke-session revokeSession\n verify-password verifyPassword\n verify-totp verifyTotp\n submit-app-invite-code submitAppInviteCode\n submit-org-invite-code submitOrgInviteCode\n check-password checkPassword\n confirm-delete-account confirmDeleteAccount\n set-password setPassword\n verify-email verifyEmail\n freeze-objects freezeObjects\n init-empty-repo initEmptyRepo\n construct-blueprint Executes a blueprint definition by delegating to provision_* procedures. Creates a blueprint_construction record to track the attempt. Six phases: (0) entity_type_provision for each membership_type entry \u2014 provisions entity tables, membership modules, and security, (1) provision_table() for each table with nodes[], fields[], policies[], and grants (table-level indexes/fts/unique_constraints are deferred), (2) provision_relation() for each relation, (3) provision_index() for top-level + deferred indexes, (4) provision_full_text_search() for top-level + deferred FTS, (5) provision_unique_constraint() for top-level + deferred unique constraints. Phase 0 entity tables are added to the table_map so subsequent phases can reference them by name. Table-level indexes/fts/unique_constraints are deferred to phases 3-5 so they can reference columns created by relations in phase 2. Returns the construction record ID on success, NULL on failure.\n provision-new-user provisionNewUser\n reset-password resetPassword\n remove-node-at-path removeNodeAtPath\n copy-template-to-blueprint Creates a new blueprint by copying a template definition. Checks visibility: owners can always copy their own templates, others require public visibility. Increments the template copy_count. Returns the new blueprint ID.\n provision-spatial-relation Idempotent provisioner for metaschema_public.spatial_relation. Inserts a row declaring a spatial predicate between two geometry/geography columns (owner and target). Called from construct_blueprint when a relation entry has $type=RelationSpatial. Graceful: re-running with the same (source_table_id, name) returns the existing id without modifying the row. Operator whitelist and st_dwithin \u2194 param_name pairing are enforced by the spatial_relation table CHECKs. Both fields must already exist \u2014 this is a metadata-only insert.\n bootstrap-user bootstrapUser\n set-field-order setFieldOrder\n provision-unique-constraint Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists.\n provision-full-text-search Creates a full-text search configuration on a table. Accepts a jsonb definition with field (tsvector column name) and sources (array of {field, weight, lang}). Graceful: skips if FTS config already exists for the same (table_id, field_id). Returns the fts_id.\n provision-index Creates an index on a table. Accepts a jsonb definition with columns (array of names or single column string), access_method (default BTREE), is_unique, op_classes, options, and name (auto-generated if omitted). Graceful: skips if an index with the same (table_id, field_ids, access_method) already exists. Returns the index_id.\n set-data-at-path setDataAtPath\n set-props-and-commit setPropsAndCommit\n provision-database-with-user provisionDatabaseWithUser\n insert-node-at-path insertNodeAtPath\n update-node-at-path updateNodeAtPath\n set-and-commit setAndCommit\n provision-relation Composable relation provisioning: creates FK fields, indexes, unique constraints, and junction tables depending on the relation_type. Supports RelationBelongsTo, RelationHasOne, RelationHasMany, and RelationManyToMany. ManyToMany uses provision_table() internally for junction table creation with full node/grant/policy support. All operations are graceful (skip existing). Returns (out_field_id, out_junction_table_id, out_source_field_id, out_target_field_id).\n apply-rls applyRls\n sign-in-cross-origin signInCrossOrigin\n create-user-database Creates a new user database with all required modules, permissions, and RLS policies.\n\nParameters:\n - database_name: Name for the new database (required)\n - owner_id: UUID of the owner user (required)\n - include_invites: Include invite system (default: true)\n - include_groups: Include group-level memberships (default: false)\n - include_levels: Include levels/achievements (default: false)\n - bitlen: Bit length for permission masks (default: 64)\n - tokens_expiration: Token expiration interval (default: 30 days)\n\nReturns the database_id UUID of the newly created database.\n\nExample usage:\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid);\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid, true, true); -- with invites and groups\n\n extend-token-expires extendTokenExpires\n create-api-key createApiKey\n send-verification-email sendVerificationEmail\n forgot-password forgotPassword\n sign-up signUp\n request-cross-origin-token requestCrossOriginToken\n sign-in signIn\n provision-table Composable table provisioning: creates or finds a table, then creates fields (so Data* modules can reference them), applies N nodes (Data* modules), enables RLS, creates grants, creates N policies, and optionally creates table-level indexes/full_text_searches/unique_constraints. All operations are graceful (skip existing). Accepts multiple nodes and multiple policies per call, unlike secure_table_provision which is limited to one of each. Returns (out_table_id, out_fields).\n request-upload-url Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n"; + "\ncsdk \n\nCommands:\n context Manage API contexts\n auth Manage authentication\n org-get-managers-record orgGetManagersRecord CRUD operations\n org-get-subordinates-record orgGetSubordinatesRecord CRUD operations\n get-all-record getAllRecord CRUD operations\n app-permission appPermission CRUD operations\n org-permission orgPermission CRUD operations\n object object CRUD operations\n app-level-requirement appLevelRequirement CRUD operations\n database database CRUD operations\n schema schema CRUD operations\n table table CRUD operations\n check-constraint checkConstraint CRUD operations\n field field CRUD operations\n spatial-relation spatialRelation CRUD operations\n partition partition CRUD operations\n foreign-key-constraint foreignKeyConstraint CRUD operations\n full-text-search fullTextSearch CRUD operations\n index index CRUD operations\n policy policy CRUD operations\n primary-key-constraint primaryKeyConstraint CRUD operations\n table-grant tableGrant CRUD operations\n trigger trigger CRUD operations\n unique-constraint uniqueConstraint CRUD operations\n view view CRUD operations\n view-table viewTable CRUD operations\n view-grant viewGrant CRUD operations\n view-rule viewRule CRUD operations\n embedding-chunk embeddingChunk CRUD operations\n secure-table-provision secureTableProvision CRUD operations\n relation-provision relationProvision CRUD operations\n session-secrets-module sessionSecretsModule CRUD operations\n identity-providers-module identityProvidersModule CRUD operations\n schema-grant schemaGrant CRUD operations\n default-privilege defaultPrivilege CRUD operations\n enum enum CRUD operations\n function function CRUD operations\n api-schema apiSchema CRUD operations\n api-module apiModule CRUD operations\n domain domain CRUD operations\n site-metadatum siteMetadatum CRUD operations\n site-module siteModule CRUD operations\n site-theme siteTheme CRUD operations\n cors-setting corsSetting CRUD operations\n trigger-function triggerFunction CRUD operations\n database-transfer databaseTransfer CRUD operations\n api api CRUD operations\n site site CRUD operations\n app app CRUD operations\n api-setting apiSetting CRUD operations\n connected-accounts-module connectedAccountsModule CRUD operations\n crypto-addresses-module cryptoAddressesModule CRUD operations\n crypto-auth-module cryptoAuthModule CRUD operations\n default-ids-module defaultIdsModule CRUD operations\n denormalized-table-field denormalizedTableField CRUD operations\n emails-module emailsModule CRUD operations\n encrypted-secrets-module encryptedSecretsModule CRUD operations\n invites-module invitesModule CRUD operations\n levels-module levelsModule CRUD operations\n limits-module limitsModule CRUD operations\n membership-types-module membershipTypesModule CRUD operations\n memberships-module membershipsModule CRUD operations\n permissions-module permissionsModule CRUD operations\n phone-numbers-module phoneNumbersModule CRUD operations\n profiles-module profilesModule CRUD operations\n secrets-module secretsModule CRUD operations\n sessions-module sessionsModule CRUD operations\n user-auth-module userAuthModule CRUD operations\n users-module usersModule CRUD operations\n blueprint blueprint CRUD operations\n blueprint-template blueprintTemplate CRUD operations\n blueprint-construction blueprintConstruction CRUD operations\n storage-module storageModule CRUD operations\n entity-type-provision entityTypeProvision CRUD operations\n webauthn-credentials-module webauthnCredentialsModule CRUD operations\n webauthn-auth-module webauthnAuthModule CRUD operations\n notifications-module notificationsModule CRUD operations\n database-provision-module databaseProvisionModule CRUD operations\n app-admin-grant appAdminGrant CRUD operations\n app-owner-grant appOwnerGrant CRUD operations\n app-grant appGrant CRUD operations\n org-membership orgMembership CRUD operations\n org-member orgMember CRUD operations\n org-admin-grant orgAdminGrant CRUD operations\n org-owner-grant orgOwnerGrant CRUD operations\n org-member-profile orgMemberProfile CRUD operations\n org-grant orgGrant CRUD operations\n org-chart-edge orgChartEdge CRUD operations\n org-chart-edge-grant orgChartEdgeGrant CRUD operations\n org-permission-default orgPermissionDefault CRUD operations\n app-limit appLimit CRUD operations\n app-limit-credit appLimitCredit CRUD operations\n app-limit-credit-code-item appLimitCreditCodeItem CRUD operations\n app-limit-credit-redemption appLimitCreditRedemption CRUD operations\n org-limit orgLimit CRUD operations\n org-limit-credit orgLimitCredit CRUD operations\n org-limit-aggregate orgLimitAggregate CRUD operations\n app-step appStep CRUD operations\n app-achievement appAchievement CRUD operations\n app-level appLevel CRUD operations\n email email CRUD operations\n phone-number phoneNumber CRUD operations\n crypto-address cryptoAddress CRUD operations\n webauthn-credential webauthnCredential CRUD operations\n app-invite appInvite CRUD operations\n app-claimed-invite appClaimedInvite CRUD operations\n org-invite orgInvite CRUD operations\n org-claimed-invite orgClaimedInvite CRUD operations\n audit-log auditLog CRUD operations\n agent-thread agentThread CRUD operations\n agent-message agentMessage CRUD operations\n agent-task agentTask CRUD operations\n role-type roleType CRUD operations\n identity-provider identityProvider CRUD operations\n ref ref CRUD operations\n store store CRUD operations\n app-permission-default appPermissionDefault CRUD operations\n app-limit-credit-code appLimitCreditCode CRUD operations\n app-limit-caps-default appLimitCapsDefault CRUD operations\n org-limit-caps-default orgLimitCapsDefault CRUD operations\n app-limit-cap appLimitCap CRUD operations\n org-limit-cap orgLimitCap CRUD operations\n membership-type membershipType CRUD operations\n migrate-file migrateFile CRUD operations\n devices-module devicesModule CRUD operations\n node-type-registry nodeTypeRegistry CRUD operations\n app-limit-default appLimitDefault CRUD operations\n org-limit-default orgLimitDefault CRUD operations\n user-connected-account userConnectedAccount CRUD operations\n commit commit CRUD operations\n pubkey-setting pubkeySetting CRUD operations\n rate-limits-module rateLimitsModule CRUD operations\n app-membership-default appMembershipDefault CRUD operations\n org-membership-default orgMembershipDefault CRUD operations\n rls-setting rlsSetting CRUD operations\n app-limit-event appLimitEvent CRUD operations\n org-limit-event orgLimitEvent CRUD operations\n rls-module rlsModule CRUD operations\n database-setting databaseSetting CRUD operations\n plans-module plansModule CRUD operations\n sql-action sqlAction CRUD operations\n billing-module billingModule CRUD operations\n ast-migration astMigration CRUD operations\n user user CRUD operations\n org-membership-setting orgMembershipSetting CRUD operations\n webauthn-setting webauthnSetting CRUD operations\n app-membership appMembership CRUD operations\n billing-provider-module billingProviderModule CRUD operations\n hierarchy-module hierarchyModule CRUD operations\n current-user-id currentUserId\n current-user-agent currentUserAgent\n current-ip-address currentIpAddress\n require-step-up requireStepUp\n app-permissions-get-padded-mask appPermissionsGetPaddedMask\n org-permissions-get-padded-mask orgPermissionsGetPaddedMask\n steps-achieved stepsAchieved\n rev-parse revParse\n resolve-blueprint-field Resolves a field_name within a given table_id to a field_id. Throws if no match is found. Used by construct_blueprint to translate user-authored field names (e.g. \"location\") into field UUIDs for downstream provisioning procedures. table_id must already be resolved (via resolve_blueprint_table) before calling this.\n org-is-manager-of orgIsManagerOf\n app-permissions-get-mask appPermissionsGetMask\n org-permissions-get-mask orgPermissionsGetMask\n resolve-blueprint-table Resolves a table_name (with optional schema_name) to a table_id. Resolution order: (1) if schema_name provided, exact lookup via metaschema_public.schema.name + metaschema_public.table; (2) check local table_map (tables created in current blueprint); (3) search metaschema_public.table by name across all schemas; (4) if multiple matches, throw ambiguous error asking for schema_name; (5) if no match, throw not-found error.\n app-permissions-get-mask-by-names appPermissionsGetMaskByNames\n org-permissions-get-mask-by-names orgPermissionsGetMaskByNames\n app-permissions-get-by-mask Reads and enables pagination through a set of `AppPermission`.\n org-permissions-get-by-mask Reads and enables pagination through a set of `OrgPermission`.\n get-all-objects-from-root Reads and enables pagination through a set of `Object`.\n get-path-objects-from-root Reads and enables pagination through a set of `Object`.\n get-object-at-path getObjectAtPath\n steps-required Reads and enables pagination through a set of `AppLevelRequirement`.\n current-user currentUser\n send-account-deletion-email sendAccountDeletionEmail\n sign-out signOut\n accept-database-transfer acceptDatabaseTransfer\n cancel-database-transfer cancelDatabaseTransfer\n reject-database-transfer rejectDatabaseTransfer\n disconnect-account disconnectAccount\n revoke-api-key revokeApiKey\n revoke-session revokeSession\n verify-password verifyPassword\n verify-totp verifyTotp\n submit-app-invite-code submitAppInviteCode\n submit-org-invite-code submitOrgInviteCode\n check-password checkPassword\n confirm-delete-account confirmDeleteAccount\n set-password setPassword\n verify-email verifyEmail\n freeze-objects freezeObjects\n init-empty-repo initEmptyRepo\n construct-blueprint Executes a blueprint definition by delegating to provision_* procedures. Creates a blueprint_construction record to track the attempt. Six phases: (0) entity_type_provision for each membership_type entry \u2014 provisions entity tables, membership modules, and security, (1) provision_table() for each table with nodes[], fields[], policies[], and grants (table-level indexes/fts/unique_constraints are deferred), (2) provision_relation() for each relation, (3) provision_index() for top-level + deferred indexes, (4) provision_full_text_search() for top-level + deferred FTS, (5) provision_unique_constraint() for top-level + deferred unique constraints. Phase 0 entity tables are added to the table_map so subsequent phases can reference them by name. Table-level indexes/fts/unique_constraints are deferred to phases 3-5 so they can reference columns created by relations in phase 2. Returns the construction record ID on success, NULL on failure.\n provision-new-user provisionNewUser\n reset-password resetPassword\n remove-node-at-path removeNodeAtPath\n copy-template-to-blueprint Creates a new blueprint by copying a template definition. Checks visibility: owners can always copy their own templates, others require public visibility. Increments the template copy_count. Returns the new blueprint ID.\n provision-spatial-relation Idempotent provisioner for metaschema_public.spatial_relation. Inserts a row declaring a spatial predicate between two geometry/geography columns (owner and target). Called from construct_blueprint when a relation entry has $type=RelationSpatial. Graceful: re-running with the same (source_table_id, name) returns the existing id without modifying the row. Operator whitelist and st_dwithin \u2194 param_name pairing are enforced by the spatial_relation table CHECKs. Both fields must already exist \u2014 this is a metadata-only insert.\n bootstrap-user bootstrapUser\n set-field-order setFieldOrder\n append-smart-tags appendSmartTags\n provision-unique-constraint Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists.\n provision-full-text-search Creates a full-text search configuration on a table. Accepts a jsonb definition with field (tsvector column name) and sources (array of {field, weight, lang}). Graceful: skips if FTS config already exists for the same (table_id, field_id). Returns the fts_id.\n provision-index Creates an index on a table. Accepts a jsonb definition with columns (array of names or single column string), access_method (default BTREE), is_unique, op_classes, options, and name (auto-generated if omitted). Graceful: skips if an index with the same (table_id, field_ids, access_method) already exists. Returns the index_id.\n set-data-at-path setDataAtPath\n set-props-and-commit setPropsAndCommit\n provision-database-with-user provisionDatabaseWithUser\n insert-node-at-path insertNodeAtPath\n update-node-at-path updateNodeAtPath\n set-and-commit setAndCommit\n provision-relation Composable relation provisioning: creates FK fields, indexes, unique constraints, and junction tables depending on the relation_type. Supports RelationBelongsTo, RelationHasOne, RelationHasMany, and RelationManyToMany. ManyToMany uses provision_table() internally for junction table creation with full node/grant/policy support. All operations are graceful (skip existing). Returns (out_field_id, out_junction_table_id, out_source_field_id, out_target_field_id).\n apply-rls applyRls\n sign-in-cross-origin signInCrossOrigin\n create-user-database Creates a new user database with all required modules, permissions, and RLS policies.\n\nParameters:\n - database_name: Name for the new database (required)\n - owner_id: UUID of the owner user (required)\n - include_invites: Include invite system (default: true)\n - include_groups: Include group-level memberships (default: false)\n - include_levels: Include levels/achievements (default: false)\n - bitlen: Bit length for permission masks (default: 64)\n - tokens_expiration: Token expiration interval (default: 30 days)\n\nReturns the database_id UUID of the newly created database.\n\nExample usage:\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid);\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid, true, true); -- with invites and groups\n\n extend-token-expires extendTokenExpires\n create-api-key createApiKey\n send-verification-email sendVerificationEmail\n forgot-password forgotPassword\n sign-up signUp\n request-cross-origin-token requestCrossOriginToken\n sign-in signIn\n provision-table Composable table provisioning: creates or finds a table, then creates fields (so Data* modules can reference them), applies N nodes (Data* modules), enables RLS, creates grants, creates N policies, and optionally creates table-level indexes/full_text_searches/unique_constraints. All operations are graceful (skip existing). Accepts multiple nodes and multiple policies per call, unlike secure_table_provision which is limited to one of each. Returns (out_table_id, out_fields).\n provision-bucket Provision an S3 bucket for a logical bucket in the database.\nReads the bucket config via RLS, then creates and configures\nthe S3 bucket with the appropriate privacy policies, CORS rules,\nand lifecycle settings.\n\n --help, -h Show this help message\n --version, -v Show version\n"; export const commands = async ( argv: Partial>, prompter: Inquirerer, diff --git a/sdk/constructive-cli/src/public/cli/commands/api-setting.ts b/sdk/constructive-cli/src/public/cli/commands/api-setting.ts new file mode 100644 index 000000000..efccf8f86 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/api-setting.ts @@ -0,0 +1,488 @@ +/** + * CLI commands for ApiSetting + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateApiSettingInput, + ApiSettingPatch, + ApiSettingSelect, + ApiSettingFilter, + ApiSettingOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + apiId: 'uuid', + enableAggregates: 'boolean', + enablePostgis: 'boolean', + enableSearch: 'boolean', + enableDirectUploads: 'boolean', + enablePresignedUploads: 'boolean', + enableManyToMany: 'boolean', + enableConnectionFilter: 'boolean', + enableLtree: 'boolean', + enableLlm: 'boolean', + options: 'json', +}; +const usage = + '\napi-setting \n\nCommands:\n list List apiSetting records\n find-first Find first matching apiSetting record\n get Get a apiSetting by ID\n create Create a new apiSetting\n update Update an existing apiSetting\n delete Delete a apiSetting\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + apiId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: ApiSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.apiSetting.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + apiId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: ApiSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.apiSetting.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.apiSetting + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + apiId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'apiId', + message: 'apiId', + required: true, + }, + { + type: 'boolean', + name: 'enableAggregates', + message: 'enableAggregates', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePostgis', + message: 'enablePostgis', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableSearch', + message: 'enableSearch', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableDirectUploads', + message: 'enableDirectUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePresignedUploads', + message: 'enablePresignedUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableManyToMany', + message: 'enableManyToMany', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableConnectionFilter', + message: 'enableConnectionFilter', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLtree', + message: 'enableLtree', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLlm', + message: 'enableLlm', + required: false, + skipPrompt: true, + }, + { + type: 'json', + name: 'options', + message: 'options', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as CreateApiSettingInput['apiSetting']; + const client = getClient(); + const result = await client.apiSetting + .create({ + data: { + databaseId: cleanedData.databaseId, + apiId: cleanedData.apiId, + enableAggregates: cleanedData.enableAggregates, + enablePostgis: cleanedData.enablePostgis, + enableSearch: cleanedData.enableSearch, + enableDirectUploads: cleanedData.enableDirectUploads, + enablePresignedUploads: cleanedData.enablePresignedUploads, + enableManyToMany: cleanedData.enableManyToMany, + enableConnectionFilter: cleanedData.enableConnectionFilter, + enableLtree: cleanedData.enableLtree, + enableLlm: cleanedData.enableLlm, + options: cleanedData.options, + }, + select: { + id: true, + databaseId: true, + apiId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'apiId', + message: 'apiId', + required: false, + }, + { + type: 'boolean', + name: 'enableAggregates', + message: 'enableAggregates', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePostgis', + message: 'enablePostgis', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableSearch', + message: 'enableSearch', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableDirectUploads', + message: 'enableDirectUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePresignedUploads', + message: 'enablePresignedUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableManyToMany', + message: 'enableManyToMany', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableConnectionFilter', + message: 'enableConnectionFilter', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLtree', + message: 'enableLtree', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLlm', + message: 'enableLlm', + required: false, + skipPrompt: true, + }, + { + type: 'json', + name: 'options', + message: 'options', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as ApiSettingPatch; + const client = getClient(); + const result = await client.apiSetting + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + apiId: cleanedData.apiId, + enableAggregates: cleanedData.enableAggregates, + enablePostgis: cleanedData.enablePostgis, + enableSearch: cleanedData.enableSearch, + enableDirectUploads: cleanedData.enableDirectUploads, + enablePresignedUploads: cleanedData.enablePresignedUploads, + enableManyToMany: cleanedData.enableManyToMany, + enableConnectionFilter: cleanedData.enableConnectionFilter, + enableLtree: cleanedData.enableLtree, + enableLlm: cleanedData.enableLlm, + options: cleanedData.options, + }, + select: { + id: true, + databaseId: true, + apiId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.apiSetting + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit-cap.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit-cap.ts new file mode 100644 index 000000000..bda778029 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit-cap.ts @@ -0,0 +1,293 @@ +/** + * CLI commands for AppLimitCap + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCapInput, + AppLimitCapPatch, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + entityId: 'uuid', + max: 'int', +}; +const usage = + '\napp-limit-cap \n\nCommands:\n list List appLimitCap records\n find-first Find first matching appLimitCap record\n get Get a appLimitCap by ID\n create Create a new appLimitCap\n update Update an existing appLimitCap\n delete Delete a appLimitCap\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: AppLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCap.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCap.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCap + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCapInput['appLimitCap']; + const client = getClient(); + const result = await client.appLimitCap + .create({ + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCapPatch; + const client = getClient(); + const result = await client.appLimitCap + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCap + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit-caps-default.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit-caps-default.ts new file mode 100644 index 000000000..fc70f5e3c --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit-caps-default.ts @@ -0,0 +1,277 @@ +/** + * CLI commands for AppLimitCapsDefault + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + max: 'int', +}; +const usage = + '\napp-limit-caps-default \n\nCommands:\n list List appLimitCapsDefault records\n find-first Find first matching appLimitCapsDefault record\n get Get a appLimitCapsDefault by ID\n create Create a new appLimitCapsDefault\n update Update an existing appLimitCapsDefault\n delete Delete a appLimitCapsDefault\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + > & { + select: AppLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCapsDefault.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCapsDefault.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCapsDefault + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCapsDefaultInput['appLimitCapsDefault']; + const client = getClient(); + const result = await client.appLimitCapsDefault + .create({ + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCapsDefaultPatch; + const client = getClient(); + const result = await client.appLimitCapsDefault + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCapsDefault + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-code-item.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-code-item.ts new file mode 100644 index 000000000..473600c1c --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-code-item.ts @@ -0,0 +1,317 @@ +/** + * CLI commands for AppLimitCreditCodeItem + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + creditCodeId: 'uuid', + defaultLimitId: 'uuid', + amount: 'int', + creditType: 'string', +}; +const usage = + '\napp-limit-credit-code-item \n\nCommands:\n list List appLimitCreditCodeItem records\n find-first Find first matching appLimitCreditCodeItem record\n get Get a appLimitCreditCodeItem by ID\n create Create a new appLimitCreditCodeItem\n update Update an existing appLimitCreditCodeItem\n delete Delete a appLimitCreditCodeItem\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + > & { + select: AppLimitCreditCodeItemSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCodeItem.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditCodeItemSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCodeItem.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .findOne({ + id: answers.id as string, + select: { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: true, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: true, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem']; + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .create({ + data: { + creditCodeId: cleanedData.creditCodeId, + defaultLimitId: cleanedData.defaultLimitId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + }, + select: { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: false, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: false, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: false, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditCodeItemPatch; + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .update({ + where: { + id: answers.id as string, + }, + data: { + creditCodeId: cleanedData.creditCodeId, + defaultLimitId: cleanedData.defaultLimitId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + }, + select: { + id: true, + creditCodeId: true, + defaultLimitId: true, + amount: true, + creditType: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCreditCodeItem + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-code.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-code.ts new file mode 100644 index 000000000..9d4ea00b8 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-code.ts @@ -0,0 +1,321 @@ +/** + * CLI commands for AppLimitCreditCode + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + code: 'string', + maxRedemptions: 'int', + currentRedemptions: 'int', + expiresAt: 'string', +}; +const usage = + '\napp-limit-credit-code \n\nCommands:\n list List appLimitCreditCode records\n find-first Find first matching appLimitCreditCode record\n get Get a appLimitCreditCode by ID\n create Create a new appLimitCreditCode\n update Update an existing appLimitCreditCode\n delete Delete a appLimitCreditCode\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + > & { + select: AppLimitCreditCodeSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCode.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditCodeSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditCode.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCreditCode + .findOne({ + id: answers.id as string, + select: { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'code', + message: 'code', + required: true, + }, + { + type: 'text', + name: 'maxRedemptions', + message: 'maxRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRedemptions', + message: 'currentRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'expiresAt', + message: 'expiresAt', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditCodeInput['appLimitCreditCode']; + const client = getClient(); + const result = await client.appLimitCreditCode + .create({ + data: { + code: cleanedData.code, + maxRedemptions: cleanedData.maxRedemptions, + currentRedemptions: cleanedData.currentRedemptions, + expiresAt: cleanedData.expiresAt, + }, + select: { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'code', + message: 'code', + required: false, + }, + { + type: 'text', + name: 'maxRedemptions', + message: 'maxRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRedemptions', + message: 'currentRedemptions', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'expiresAt', + message: 'expiresAt', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditCodePatch; + const client = getClient(); + const result = await client.appLimitCreditCode + .update({ + where: { + id: answers.id as string, + }, + data: { + code: cleanedData.code, + maxRedemptions: cleanedData.maxRedemptions, + currentRedemptions: cleanedData.currentRedemptions, + expiresAt: cleanedData.expiresAt, + }, + select: { + id: true, + code: true, + maxRedemptions: true, + currentRedemptions: true, + expiresAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCreditCode + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-redemption.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-redemption.ts new file mode 100644 index 000000000..f574f0838 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit-redemption.ts @@ -0,0 +1,275 @@ +/** + * CLI commands for AppLimitCreditRedemption + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + creditCodeId: 'uuid', + entityId: 'uuid', +}; +const usage = + '\napp-limit-credit-redemption \n\nCommands:\n list List appLimitCreditRedemption records\n find-first Find first matching appLimitCreditRedemption record\n get Get a appLimitCreditRedemption by ID\n create Create a new appLimitCreditRedemption\n update Update an existing appLimitCreditRedemption\n delete Delete a appLimitCreditRedemption\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + entityId: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + > & { + select: AppLimitCreditRedemptionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditRedemption.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + creditCodeId: true, + entityId: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditRedemptionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCreditRedemption.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCreditRedemption + .findOne({ + id: answers.id as string, + select: { + id: true, + creditCodeId: true, + entityId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption']; + const client = getClient(); + const result = await client.appLimitCreditRedemption + .create({ + data: { + creditCodeId: cleanedData.creditCodeId, + entityId: cleanedData.entityId, + }, + select: { + id: true, + creditCodeId: true, + entityId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'creditCodeId', + message: 'creditCodeId', + required: false, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditRedemptionPatch; + const client = getClient(); + const result = await client.appLimitCreditRedemption + .update({ + where: { + id: answers.id as string, + }, + data: { + creditCodeId: cleanedData.creditCodeId, + entityId: cleanedData.entityId, + }, + select: { + id: true, + creditCodeId: true, + entityId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCreditRedemption + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit-credit.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit.ts new file mode 100644 index 000000000..4b4cc889f --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit-credit.ts @@ -0,0 +1,337 @@ +/** + * CLI commands for AppLimitCredit + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateAppLimitCreditInput, + AppLimitCreditPatch, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + defaultLimitId: 'uuid', + actorId: 'uuid', + amount: 'int', + creditType: 'string', + reason: 'string', +}; +const usage = + '\napp-limit-credit \n\nCommands:\n list List appLimitCredit records\n find-first Find first matching appLimitCredit record\n get Get a appLimitCredit by ID\n create Create a new appLimitCredit\n update Update an existing appLimitCredit\n delete Delete a appLimitCredit\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: AppLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCredit.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: AppLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.appLimitCredit.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.appLimitCredit + .findOne({ + id: answers.id as string, + select: { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: true, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: true, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateAppLimitCreditInput['appLimitCredit']; + const client = getClient(); + const result = await client.appLimitCredit + .create({ + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: false, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: false, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitCreditPatch; + const client = getClient(); + const result = await client.appLimitCredit + .update({ + where: { + id: answers.id as string, + }, + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.appLimitCredit + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/app-limit.ts b/sdk/constructive-cli/src/public/cli/commands/app-limit.ts index 66293d320..fc9c93c93 100644 --- a/sdk/constructive-cli/src/public/cli/commands/app-limit.ts +++ b/sdk/constructive-cli/src/public/cli/commands/app-limit.ts @@ -24,6 +24,9 @@ const fieldSchema: FieldSchema = { softMax: 'int', windowStart: 'string', windowDuration: 'string', + planMax: 'int', + purchasedCredits: 'int', + periodCredits: 'int', }; const usage = '\napp-limit \n\nCommands:\n list List appLimit records\n find-first Find first matching appLimit record\n get Get a appLimit by ID\n create Create a new appLimit\n update Update an existing appLimit\n delete Delete a appLimit\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; @@ -84,6 +87,9 @@ async function handleList(argv: Partial>, _prompter: Inq softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }; const findManyArgs = parseFindManyArgs< FindManyArgs & { @@ -112,6 +118,9 @@ async function handleFindFirst(argv: Partial>, _prompter softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }; const findFirstArgs = parseFindFirstArgs< FindFirstArgs & { @@ -152,6 +161,9 @@ async function handleGet(argv: Partial>, prompter: Inqui softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }, }) .execute(); @@ -215,6 +227,27 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as CreateAppLimitInput['appLimit']; @@ -229,6 +262,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, }, select: { id: true, @@ -239,6 +275,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }, }) .execute(); @@ -308,6 +347,27 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as AppLimitPatch; @@ -325,6 +385,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, }, select: { id: true, @@ -335,6 +398,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, }, }) .execute(); diff --git a/sdk/constructive-cli/src/admin/cli/commands/request-upload-url.ts b/sdk/constructive-cli/src/public/cli/commands/append-smart-tags.ts similarity index 63% rename from sdk/constructive-cli/src/admin/cli/commands/request-upload-url.ts rename to sdk/constructive-cli/src/public/cli/commands/append-smart-tags.ts index 16c1abc7f..9b3010891 100644 --- a/sdk/constructive-cli/src/admin/cli/commands/request-upload-url.ts +++ b/sdk/constructive-cli/src/public/cli/commands/append-smart-tags.ts @@ -1,13 +1,13 @@ /** - * CLI command for mutation requestUploadUrl + * CLI command for mutation appendSmartTags * @generated by @constructive-io/graphql-codegen * DO NOT EDIT - changes will be overwritten */ import { CLIOptions, Inquirerer } from 'inquirerer'; import { getClient } from '../executor'; import { unflattenDotNotation, buildSelectFromPaths } from '../utils'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; +import type { AppendSmartTagsVariables } from '../../orm/mutation'; +import type { AppendSmartTagsPayloadSelect } from '../../orm/input-types'; export default async ( argv: Partial>, prompter: Inquirerer, @@ -15,9 +15,7 @@ export default async ( ) => { try { if (argv.help || argv.h) { - console.log( - 'request-upload-url - Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n\nUsage: request-upload-url [OPTIONS]\n' - ); + console.log('append-smart-tags - appendSmartTags\n\nUsage: append-smart-tags [OPTIONS]\n'); process.exit(0); } const answers = await prompter.prompt(argv, [ @@ -33,18 +31,18 @@ export default async ( const parsedAnswers = unflattenDotNotation(answers); const selectFields = buildSelectFromPaths((argv.select as string) ?? 'clientMutationId'); const result = await client.mutation - .requestUploadUrl( - parsedAnswers as unknown as RequestUploadUrlVariables, + .appendSmartTags( + parsedAnswers as unknown as AppendSmartTagsVariables, { select: selectFields, } as unknown as { - select: RequestUploadUrlPayloadSelect; + select: AppendSmartTagsPayloadSelect; } ) .execute(); console.log(JSON.stringify(result, null, 2)); } catch (error) { - console.error('Failed: requestUploadUrl'); + console.error('Failed: appendSmartTags'); if (error instanceof Error) { console.error(error.message); } diff --git a/sdk/constructive-cli/src/public/cli/commands/billing-provider-module.ts b/sdk/constructive-cli/src/public/cli/commands/billing-provider-module.ts new file mode 100644 index 000000000..156b58f65 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/billing-provider-module.ts @@ -0,0 +1,651 @@ +/** + * CLI commands for BillingProviderModule + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateBillingProviderModuleInput, + BillingProviderModulePatch, + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + schemaId: 'uuid', + privateSchemaId: 'uuid', + provider: 'string', + productsTableId: 'uuid', + pricesTableId: 'uuid', + subscriptionsTableId: 'uuid', + billingCustomersTableId: 'uuid', + billingCustomersTableName: 'string', + billingProductsTableId: 'uuid', + billingProductsTableName: 'string', + billingPricesTableId: 'uuid', + billingPricesTableName: 'string', + billingSubscriptionsTableId: 'uuid', + billingSubscriptionsTableName: 'string', + billingWebhookEventsTableId: 'uuid', + billingWebhookEventsTableName: 'string', + processBillingEventFunction: 'string', + prefix: 'string', +}; +const usage = + '\nbilling-provider-module \n\nCommands:\n list List billingProviderModule records\n find-first Find first matching billingProviderModule record\n get Get a billingProviderModule by ID\n create Create a new billingProviderModule\n update Update an existing billingProviderModule\n delete Delete a billingProviderModule\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + privateSchemaId: true, + provider: true, + productsTableId: true, + pricesTableId: true, + subscriptionsTableId: true, + billingCustomersTableId: true, + billingCustomersTableName: true, + billingProductsTableId: true, + billingProductsTableName: true, + billingPricesTableId: true, + billingPricesTableName: true, + billingSubscriptionsTableId: true, + billingSubscriptionsTableName: true, + billingWebhookEventsTableId: true, + billingWebhookEventsTableName: true, + processBillingEventFunction: true, + prefix: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + > & { + select: BillingProviderModuleSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.billingProviderModule.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + privateSchemaId: true, + provider: true, + productsTableId: true, + pricesTableId: true, + subscriptionsTableId: true, + billingCustomersTableId: true, + billingCustomersTableName: true, + billingProductsTableId: true, + billingProductsTableName: true, + billingPricesTableId: true, + billingPricesTableName: true, + billingSubscriptionsTableId: true, + billingSubscriptionsTableName: true, + billingWebhookEventsTableId: true, + billingWebhookEventsTableName: true, + processBillingEventFunction: true, + prefix: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: BillingProviderModuleSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.billingProviderModule.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.billingProviderModule + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + schemaId: true, + privateSchemaId: true, + provider: true, + productsTableId: true, + pricesTableId: true, + subscriptionsTableId: true, + billingCustomersTableId: true, + billingCustomersTableName: true, + billingProductsTableId: true, + billingProductsTableName: true, + billingPricesTableId: true, + billingPricesTableName: true, + billingSubscriptionsTableId: true, + billingSubscriptionsTableName: true, + billingWebhookEventsTableId: true, + billingWebhookEventsTableName: true, + processBillingEventFunction: true, + prefix: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'privateSchemaId', + message: 'privateSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'provider', + message: 'provider', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'productsTableId', + message: 'productsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'pricesTableId', + message: 'pricesTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'subscriptionsTableId', + message: 'subscriptionsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingCustomersTableId', + message: 'billingCustomersTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingCustomersTableName', + message: 'billingCustomersTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingProductsTableId', + message: 'billingProductsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingProductsTableName', + message: 'billingProductsTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingPricesTableId', + message: 'billingPricesTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingPricesTableName', + message: 'billingPricesTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingSubscriptionsTableId', + message: 'billingSubscriptionsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingSubscriptionsTableName', + message: 'billingSubscriptionsTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingWebhookEventsTableId', + message: 'billingWebhookEventsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingWebhookEventsTableName', + message: 'billingWebhookEventsTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'processBillingEventFunction', + message: 'processBillingEventFunction', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'prefix', + message: 'prefix', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateBillingProviderModuleInput['billingProviderModule']; + const client = getClient(); + const result = await client.billingProviderModule + .create({ + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + privateSchemaId: cleanedData.privateSchemaId, + provider: cleanedData.provider, + productsTableId: cleanedData.productsTableId, + pricesTableId: cleanedData.pricesTableId, + subscriptionsTableId: cleanedData.subscriptionsTableId, + billingCustomersTableId: cleanedData.billingCustomersTableId, + billingCustomersTableName: cleanedData.billingCustomersTableName, + billingProductsTableId: cleanedData.billingProductsTableId, + billingProductsTableName: cleanedData.billingProductsTableName, + billingPricesTableId: cleanedData.billingPricesTableId, + billingPricesTableName: cleanedData.billingPricesTableName, + billingSubscriptionsTableId: cleanedData.billingSubscriptionsTableId, + billingSubscriptionsTableName: cleanedData.billingSubscriptionsTableName, + billingWebhookEventsTableId: cleanedData.billingWebhookEventsTableId, + billingWebhookEventsTableName: cleanedData.billingWebhookEventsTableName, + processBillingEventFunction: cleanedData.processBillingEventFunction, + prefix: cleanedData.prefix, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + privateSchemaId: true, + provider: true, + productsTableId: true, + pricesTableId: true, + subscriptionsTableId: true, + billingCustomersTableId: true, + billingCustomersTableName: true, + billingProductsTableId: true, + billingProductsTableName: true, + billingPricesTableId: true, + billingPricesTableName: true, + billingSubscriptionsTableId: true, + billingSubscriptionsTableName: true, + billingWebhookEventsTableId: true, + billingWebhookEventsTableName: true, + processBillingEventFunction: true, + prefix: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'privateSchemaId', + message: 'privateSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'provider', + message: 'provider', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'productsTableId', + message: 'productsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'pricesTableId', + message: 'pricesTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'subscriptionsTableId', + message: 'subscriptionsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingCustomersTableId', + message: 'billingCustomersTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingCustomersTableName', + message: 'billingCustomersTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingProductsTableId', + message: 'billingProductsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingProductsTableName', + message: 'billingProductsTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingPricesTableId', + message: 'billingPricesTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingPricesTableName', + message: 'billingPricesTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingSubscriptionsTableId', + message: 'billingSubscriptionsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingSubscriptionsTableName', + message: 'billingSubscriptionsTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingWebhookEventsTableId', + message: 'billingWebhookEventsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'billingWebhookEventsTableName', + message: 'billingWebhookEventsTableName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'processBillingEventFunction', + message: 'processBillingEventFunction', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'prefix', + message: 'prefix', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as BillingProviderModulePatch; + const client = getClient(); + const result = await client.billingProviderModule + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + privateSchemaId: cleanedData.privateSchemaId, + provider: cleanedData.provider, + productsTableId: cleanedData.productsTableId, + pricesTableId: cleanedData.pricesTableId, + subscriptionsTableId: cleanedData.subscriptionsTableId, + billingCustomersTableId: cleanedData.billingCustomersTableId, + billingCustomersTableName: cleanedData.billingCustomersTableName, + billingProductsTableId: cleanedData.billingProductsTableId, + billingProductsTableName: cleanedData.billingProductsTableName, + billingPricesTableId: cleanedData.billingPricesTableId, + billingPricesTableName: cleanedData.billingPricesTableName, + billingSubscriptionsTableId: cleanedData.billingSubscriptionsTableId, + billingSubscriptionsTableName: cleanedData.billingSubscriptionsTableName, + billingWebhookEventsTableId: cleanedData.billingWebhookEventsTableId, + billingWebhookEventsTableName: cleanedData.billingWebhookEventsTableName, + processBillingEventFunction: cleanedData.processBillingEventFunction, + prefix: cleanedData.prefix, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + privateSchemaId: true, + provider: true, + productsTableId: true, + pricesTableId: true, + subscriptionsTableId: true, + billingCustomersTableId: true, + billingCustomersTableName: true, + billingProductsTableId: true, + billingProductsTableName: true, + billingPricesTableId: true, + billingPricesTableName: true, + billingSubscriptionsTableId: true, + billingSubscriptionsTableName: true, + billingWebhookEventsTableId: true, + billingWebhookEventsTableName: true, + processBillingEventFunction: true, + prefix: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.billingProviderModule + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/cors-setting.ts b/sdk/constructive-cli/src/public/cli/commands/cors-setting.ts new file mode 100644 index 000000000..d2ed4799b --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/cors-setting.ts @@ -0,0 +1,295 @@ +/** + * CLI commands for CorsSetting + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateCorsSettingInput, + CorsSettingPatch, + CorsSettingSelect, + CorsSettingFilter, + CorsSettingOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + apiId: 'uuid', + allowedOrigins: 'string', +}; +const usage = + '\ncors-setting \n\nCommands:\n list List corsSetting records\n find-first Find first matching corsSetting record\n get Get a corsSetting by ID\n create Create a new corsSetting\n update Update an existing corsSetting\n delete Delete a corsSetting\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + apiId: true, + allowedOrigins: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: CorsSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.corsSetting.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + apiId: true, + allowedOrigins: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: CorsSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.corsSetting.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.corsSetting + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + apiId: true, + allowedOrigins: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'apiId', + message: 'apiId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'allowedOrigins', + message: 'allowedOrigins', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateCorsSettingInput['corsSetting']; + const client = getClient(); + const result = await client.corsSetting + .create({ + data: { + databaseId: cleanedData.databaseId, + apiId: cleanedData.apiId, + allowedOrigins: cleanedData.allowedOrigins, + }, + select: { + id: true, + databaseId: true, + apiId: true, + allowedOrigins: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'apiId', + message: 'apiId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'allowedOrigins', + message: 'allowedOrigins', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as CorsSettingPatch; + const client = getClient(); + const result = await client.corsSetting + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + apiId: cleanedData.apiId, + allowedOrigins: cleanedData.allowedOrigins, + }, + select: { + id: true, + databaseId: true, + apiId: true, + allowedOrigins: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.corsSetting + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/database-setting.ts b/sdk/constructive-cli/src/public/cli/commands/database-setting.ts new file mode 100644 index 000000000..b4d5de02d --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/database-setting.ts @@ -0,0 +1,471 @@ +/** + * CLI commands for DatabaseSetting + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateDatabaseSettingInput, + DatabaseSettingPatch, + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + enableAggregates: 'boolean', + enablePostgis: 'boolean', + enableSearch: 'boolean', + enableDirectUploads: 'boolean', + enablePresignedUploads: 'boolean', + enableManyToMany: 'boolean', + enableConnectionFilter: 'boolean', + enableLtree: 'boolean', + enableLlm: 'boolean', + options: 'json', +}; +const usage = + '\ndatabase-setting \n\nCommands:\n list List databaseSetting records\n find-first Find first matching databaseSetting record\n get Get a databaseSetting by ID\n create Create a new databaseSetting\n update Update an existing databaseSetting\n delete Delete a databaseSetting\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: DatabaseSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.databaseSetting.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: DatabaseSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.databaseSetting.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.databaseSetting + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'boolean', + name: 'enableAggregates', + message: 'enableAggregates', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePostgis', + message: 'enablePostgis', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableSearch', + message: 'enableSearch', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableDirectUploads', + message: 'enableDirectUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePresignedUploads', + message: 'enablePresignedUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableManyToMany', + message: 'enableManyToMany', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableConnectionFilter', + message: 'enableConnectionFilter', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLtree', + message: 'enableLtree', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLlm', + message: 'enableLlm', + required: false, + skipPrompt: true, + }, + { + type: 'json', + name: 'options', + message: 'options', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateDatabaseSettingInput['databaseSetting']; + const client = getClient(); + const result = await client.databaseSetting + .create({ + data: { + databaseId: cleanedData.databaseId, + enableAggregates: cleanedData.enableAggregates, + enablePostgis: cleanedData.enablePostgis, + enableSearch: cleanedData.enableSearch, + enableDirectUploads: cleanedData.enableDirectUploads, + enablePresignedUploads: cleanedData.enablePresignedUploads, + enableManyToMany: cleanedData.enableManyToMany, + enableConnectionFilter: cleanedData.enableConnectionFilter, + enableLtree: cleanedData.enableLtree, + enableLlm: cleanedData.enableLlm, + options: cleanedData.options, + }, + select: { + id: true, + databaseId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'boolean', + name: 'enableAggregates', + message: 'enableAggregates', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePostgis', + message: 'enablePostgis', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableSearch', + message: 'enableSearch', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableDirectUploads', + message: 'enableDirectUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enablePresignedUploads', + message: 'enablePresignedUploads', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableManyToMany', + message: 'enableManyToMany', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableConnectionFilter', + message: 'enableConnectionFilter', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLtree', + message: 'enableLtree', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'enableLlm', + message: 'enableLlm', + required: false, + skipPrompt: true, + }, + { + type: 'json', + name: 'options', + message: 'options', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as DatabaseSettingPatch; + const client = getClient(); + const result = await client.databaseSetting + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + enableAggregates: cleanedData.enableAggregates, + enablePostgis: cleanedData.enablePostgis, + enableSearch: cleanedData.enableSearch, + enableDirectUploads: cleanedData.enableDirectUploads, + enablePresignedUploads: cleanedData.enablePresignedUploads, + enableManyToMany: cleanedData.enableManyToMany, + enableConnectionFilter: cleanedData.enableConnectionFilter, + enableLtree: cleanedData.enableLtree, + enableLlm: cleanedData.enableLlm, + options: cleanedData.options, + }, + select: { + id: true, + databaseId: true, + enableAggregates: true, + enablePostgis: true, + enableSearch: true, + enableDirectUploads: true, + enablePresignedUploads: true, + enableManyToMany: true, + enableConnectionFilter: true, + enableLtree: true, + enableLlm: true, + options: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.databaseSetting + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/entity-type-provision.ts b/sdk/constructive-cli/src/public/cli/commands/entity-type-provision.ts index 409659ddd..e2f9c3d5a 100644 --- a/sdk/constructive-cli/src/public/cli/commands/entity-type-provision.ts +++ b/sdk/constructive-cli/src/public/cli/commands/entity-type-provision.ts @@ -39,6 +39,7 @@ const fieldSchema: FieldSchema = { outStorageModuleId: 'uuid', outBucketsTableId: 'uuid', outFilesTableId: 'uuid', + outPathSharesTableId: 'uuid', outInvitesModuleId: 'uuid', }; const usage = @@ -115,6 +116,7 @@ async function handleList(argv: Partial>, _prompter: Inq outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, + outPathSharesTableId: true, outInvitesModuleId: true, }; const findManyArgs = parseFindManyArgs< @@ -163,6 +165,7 @@ async function handleFindFirst(argv: Partial>, _prompter outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, + outPathSharesTableId: true, outInvitesModuleId: true, }; const findFirstArgs = parseFindFirstArgs< @@ -219,6 +222,7 @@ async function handleGet(argv: Partial>, prompter: Inqui outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, + outPathSharesTableId: true, outInvitesModuleId: true, }, }) @@ -386,6 +390,13 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'outPathSharesTableId', + message: 'outPathSharesTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'outInvitesModuleId', @@ -425,6 +436,7 @@ async function handleCreate(argv: Partial>, prompter: In outStorageModuleId: cleanedData.outStorageModuleId, outBucketsTableId: cleanedData.outBucketsTableId, outFilesTableId: cleanedData.outFilesTableId, + outPathSharesTableId: cleanedData.outPathSharesTableId, outInvitesModuleId: cleanedData.outInvitesModuleId, }, select: { @@ -451,6 +463,7 @@ async function handleCreate(argv: Partial>, prompter: In outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, + outPathSharesTableId: true, outInvitesModuleId: true, }, }) @@ -624,6 +637,13 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'outPathSharesTableId', + message: 'outPathSharesTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'outInvitesModuleId', @@ -663,6 +683,7 @@ async function handleUpdate(argv: Partial>, prompter: In outStorageModuleId: cleanedData.outStorageModuleId, outBucketsTableId: cleanedData.outBucketsTableId, outFilesTableId: cleanedData.outFilesTableId, + outPathSharesTableId: cleanedData.outPathSharesTableId, outInvitesModuleId: cleanedData.outInvitesModuleId, }, select: { @@ -689,6 +710,7 @@ async function handleUpdate(argv: Partial>, prompter: In outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, + outPathSharesTableId: true, outInvitesModuleId: true, }, }) diff --git a/sdk/constructive-cli/src/public/cli/commands/function.ts b/sdk/constructive-cli/src/public/cli/commands/function.ts new file mode 100644 index 000000000..5b5af09e2 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/function.ts @@ -0,0 +1,288 @@ +/** + * CLI commands for Function + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateFunctionInput, + FunctionPatch, + FunctionSelect, + FunctionFilter, + FunctionOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + schemaId: 'uuid', + name: 'string', +}; +const usage = + '\nfunction \n\nCommands:\n list List function records\n find-first Find first matching function record\n get Get a function by ID\n create Create a new function\n update Update an existing function\n delete Delete a function\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + name: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: FunctionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.function.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + name: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: FunctionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.function.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.function + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + schemaId: true, + name: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as CreateFunctionInput['function']; + const client = getClient(); + const result = await client.function + .create({ + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + name: cleanedData.name, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + name: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as FunctionPatch; + const client = getClient(); + const result = await client.function + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + name: cleanedData.name, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + name: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.function + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/limits-module.ts b/sdk/constructive-cli/src/public/cli/commands/limits-module.ts index 90be29afd..c5dc6085e 100644 --- a/sdk/constructive-cli/src/public/cli/commands/limits-module.ts +++ b/sdk/constructive-cli/src/public/cli/commands/limits-module.ts @@ -30,7 +30,16 @@ const fieldSchema: FieldSchema = { limitDecrementTrigger: 'string', limitUpdateTrigger: 'string', limitCheckFunction: 'string', + limitCreditsTableId: 'uuid', + eventsTableId: 'uuid', + creditCodesTableId: 'uuid', + creditCodeItemsTableId: 'uuid', + creditRedemptionsTableId: 'uuid', aggregateTableId: 'uuid', + limitCapsTableId: 'uuid', + limitCapsDefaultsTableId: 'uuid', + capCheckTrigger: 'string', + resolveCapFunction: 'string', prefix: 'string', membershipType: 'int', entityTableId: 'uuid', @@ -101,7 +110,16 @@ async function handleList(argv: Partial>, _prompter: Inq limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, + limitCreditsTableId: true, + eventsTableId: true, + creditCodesTableId: true, + creditCodeItemsTableId: true, + creditRedemptionsTableId: true, aggregateTableId: true, + limitCapsTableId: true, + limitCapsDefaultsTableId: true, + capCheckTrigger: true, + resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, @@ -140,7 +158,16 @@ async function handleFindFirst(argv: Partial>, _prompter limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, + limitCreditsTableId: true, + eventsTableId: true, + creditCodesTableId: true, + creditCodeItemsTableId: true, + creditRedemptionsTableId: true, aggregateTableId: true, + limitCapsTableId: true, + limitCapsDefaultsTableId: true, + capCheckTrigger: true, + resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, @@ -191,7 +218,16 @@ async function handleGet(argv: Partial>, prompter: Inqui limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, + limitCreditsTableId: true, + eventsTableId: true, + creditCodesTableId: true, + creditCodeItemsTableId: true, + creditRedemptionsTableId: true, aggregateTableId: true, + limitCapsTableId: true, + limitCapsDefaultsTableId: true, + capCheckTrigger: true, + resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, @@ -301,6 +337,41 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'limitCreditsTableId', + message: 'limitCreditsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'eventsTableId', + message: 'eventsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'creditCodesTableId', + message: 'creditCodesTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'creditCodeItemsTableId', + message: 'creditCodeItemsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'creditRedemptionsTableId', + message: 'creditRedemptionsTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'aggregateTableId', @@ -308,6 +379,34 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'limitCapsTableId', + message: 'limitCapsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'limitCapsDefaultsTableId', + message: 'limitCapsDefaultsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'capCheckTrigger', + message: 'capCheckTrigger', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'resolveCapFunction', + message: 'resolveCapFunction', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'prefix', @@ -358,7 +457,16 @@ async function handleCreate(argv: Partial>, prompter: In limitDecrementTrigger: cleanedData.limitDecrementTrigger, limitUpdateTrigger: cleanedData.limitUpdateTrigger, limitCheckFunction: cleanedData.limitCheckFunction, + limitCreditsTableId: cleanedData.limitCreditsTableId, + eventsTableId: cleanedData.eventsTableId, + creditCodesTableId: cleanedData.creditCodesTableId, + creditCodeItemsTableId: cleanedData.creditCodeItemsTableId, + creditRedemptionsTableId: cleanedData.creditRedemptionsTableId, aggregateTableId: cleanedData.aggregateTableId, + limitCapsTableId: cleanedData.limitCapsTableId, + limitCapsDefaultsTableId: cleanedData.limitCapsDefaultsTableId, + capCheckTrigger: cleanedData.capCheckTrigger, + resolveCapFunction: cleanedData.resolveCapFunction, prefix: cleanedData.prefix, membershipType: cleanedData.membershipType, entityTableId: cleanedData.entityTableId, @@ -379,7 +487,16 @@ async function handleCreate(argv: Partial>, prompter: In limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, + limitCreditsTableId: true, + eventsTableId: true, + creditCodesTableId: true, + creditCodeItemsTableId: true, + creditRedemptionsTableId: true, aggregateTableId: true, + limitCapsTableId: true, + limitCapsDefaultsTableId: true, + capCheckTrigger: true, + resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, @@ -495,6 +612,41 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'limitCreditsTableId', + message: 'limitCreditsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'eventsTableId', + message: 'eventsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'creditCodesTableId', + message: 'creditCodesTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'creditCodeItemsTableId', + message: 'creditCodeItemsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'creditRedemptionsTableId', + message: 'creditRedemptionsTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'aggregateTableId', @@ -502,6 +654,34 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'limitCapsTableId', + message: 'limitCapsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'limitCapsDefaultsTableId', + message: 'limitCapsDefaultsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'capCheckTrigger', + message: 'capCheckTrigger', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'resolveCapFunction', + message: 'resolveCapFunction', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'prefix', @@ -552,7 +732,16 @@ async function handleUpdate(argv: Partial>, prompter: In limitDecrementTrigger: cleanedData.limitDecrementTrigger, limitUpdateTrigger: cleanedData.limitUpdateTrigger, limitCheckFunction: cleanedData.limitCheckFunction, + limitCreditsTableId: cleanedData.limitCreditsTableId, + eventsTableId: cleanedData.eventsTableId, + creditCodesTableId: cleanedData.creditCodesTableId, + creditCodeItemsTableId: cleanedData.creditCodeItemsTableId, + creditRedemptionsTableId: cleanedData.creditRedemptionsTableId, aggregateTableId: cleanedData.aggregateTableId, + limitCapsTableId: cleanedData.limitCapsTableId, + limitCapsDefaultsTableId: cleanedData.limitCapsDefaultsTableId, + capCheckTrigger: cleanedData.capCheckTrigger, + resolveCapFunction: cleanedData.resolveCapFunction, prefix: cleanedData.prefix, membershipType: cleanedData.membershipType, entityTableId: cleanedData.entityTableId, @@ -573,7 +762,16 @@ async function handleUpdate(argv: Partial>, prompter: In limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, + limitCreditsTableId: true, + eventsTableId: true, + creditCodesTableId: true, + creditCodeItemsTableId: true, + creditRedemptionsTableId: true, aggregateTableId: true, + limitCapsTableId: true, + limitCapsDefaultsTableId: true, + capCheckTrigger: true, + resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, diff --git a/sdk/constructive-cli/src/public/cli/commands/org-limit-aggregate.ts b/sdk/constructive-cli/src/public/cli/commands/org-limit-aggregate.ts index 8b50e450b..94a1b36d2 100644 --- a/sdk/constructive-cli/src/public/cli/commands/org-limit-aggregate.ts +++ b/sdk/constructive-cli/src/public/cli/commands/org-limit-aggregate.ts @@ -24,6 +24,10 @@ const fieldSchema: FieldSchema = { softMax: 'int', windowStart: 'string', windowDuration: 'string', + planMax: 'int', + purchasedCredits: 'int', + periodCredits: 'int', + reserved: 'int', }; const usage = '\norg-limit-aggregate \n\nCommands:\n list List orgLimitAggregate records\n find-first Find first matching orgLimitAggregate record\n get Get a orgLimitAggregate by ID\n create Create a new orgLimitAggregate\n update Update an existing orgLimitAggregate\n delete Delete a orgLimitAggregate\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; @@ -84,6 +88,10 @@ async function handleList(argv: Partial>, _prompter: Inq softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }; const findManyArgs = parseFindManyArgs< FindManyArgs & { @@ -112,6 +120,10 @@ async function handleFindFirst(argv: Partial>, _prompter softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }; const findFirstArgs = parseFindFirstArgs< FindFirstArgs & { @@ -152,6 +164,10 @@ async function handleGet(argv: Partial>, prompter: Inqui softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }, }) .execute(); @@ -215,6 +231,34 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reserved', + message: 'reserved', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined( @@ -232,6 +276,10 @@ async function handleCreate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, + reserved: cleanedData.reserved, }, select: { id: true, @@ -242,6 +290,10 @@ async function handleCreate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }, }) .execute(); @@ -311,6 +363,34 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reserved', + message: 'reserved', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitAggregatePatch; @@ -328,6 +408,10 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, + reserved: cleanedData.reserved, }, select: { id: true, @@ -338,6 +422,10 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, + reserved: true, }, }) .execute(); diff --git a/sdk/constructive-cli/src/public/cli/commands/org-limit-cap.ts b/sdk/constructive-cli/src/public/cli/commands/org-limit-cap.ts new file mode 100644 index 000000000..d034a28ad --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/org-limit-cap.ts @@ -0,0 +1,293 @@ +/** + * CLI commands for OrgLimitCap + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateOrgLimitCapInput, + OrgLimitCapPatch, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + entityId: 'uuid', + max: 'int', +}; +const usage = + '\norg-limit-cap \n\nCommands:\n list List orgLimitCap records\n find-first Find first matching orgLimitCap record\n get Get a orgLimitCap by ID\n create Create a new orgLimitCap\n update Update an existing orgLimitCap\n delete Delete a orgLimitCap\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: OrgLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCap.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + entityId: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: OrgLimitCapSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCap.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.orgLimitCap + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateOrgLimitCapInput['orgLimitCap']; + const client = getClient(); + const result = await client.orgLimitCap + .create({ + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitCapPatch; + const client = getClient(); + const result = await client.orgLimitCap + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + entityId: cleanedData.entityId, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + entityId: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.orgLimitCap + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/org-limit-caps-default.ts b/sdk/constructive-cli/src/public/cli/commands/org-limit-caps-default.ts new file mode 100644 index 000000000..f3ed19b44 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/org-limit-caps-default.ts @@ -0,0 +1,277 @@ +/** + * CLI commands for OrgLimitCapsDefault + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + name: 'string', + max: 'int', +}; +const usage = + '\norg-limit-caps-default \n\nCommands:\n list List orgLimitCapsDefault records\n find-first Find first matching orgLimitCapsDefault record\n get Get a orgLimitCapsDefault by ID\n create Create a new orgLimitCapsDefault\n update Update an existing orgLimitCapsDefault\n delete Delete a orgLimitCapsDefault\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + > & { + select: OrgLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCapsDefault.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + name: true, + max: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: OrgLimitCapsDefaultSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCapsDefault.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.orgLimitCapsDefault + .findOne({ + id: answers.id as string, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'name', + message: 'name', + required: true, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault']; + const client = getClient(); + const result = await client.orgLimitCapsDefault + .create({ + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'name', + message: 'name', + required: false, + }, + { + type: 'text', + name: 'max', + message: 'max', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitCapsDefaultPatch; + const client = getClient(); + const result = await client.orgLimitCapsDefault + .update({ + where: { + id: answers.id as string, + }, + data: { + name: cleanedData.name, + max: cleanedData.max, + }, + select: { + id: true, + name: true, + max: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.orgLimitCapsDefault + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/org-limit-credit.ts b/sdk/constructive-cli/src/public/cli/commands/org-limit-credit.ts new file mode 100644 index 000000000..749d33127 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/org-limit-credit.ts @@ -0,0 +1,359 @@ +/** + * CLI commands for OrgLimitCredit + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateOrgLimitCreditInput, + OrgLimitCreditPatch, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + defaultLimitId: 'uuid', + actorId: 'uuid', + entityId: 'uuid', + amount: 'int', + creditType: 'string', + reason: 'string', +}; +const usage = + '\norg-limit-credit \n\nCommands:\n list List orgLimitCredit records\n find-first Find first matching orgLimitCredit record\n get Get a orgLimitCredit by ID\n create Create a new orgLimitCredit\n update Update an existing orgLimitCredit\n delete Delete a orgLimitCredit\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: OrgLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCredit.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: OrgLimitCreditSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.orgLimitCredit.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.orgLimitCredit + .findOne({ + id: answers.id as string, + select: { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: true, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: true, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateOrgLimitCreditInput['orgLimitCredit']; + const client = getClient(); + const result = await client.orgLimitCredit + .create({ + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + entityId: cleanedData.entityId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'defaultLimitId', + message: 'defaultLimitId', + required: false, + }, + { + type: 'text', + name: 'actorId', + message: 'actorId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'entityId', + message: 'entityId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'amount', + message: 'amount', + required: false, + }, + { + type: 'text', + name: 'creditType', + message: 'creditType', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'reason', + message: 'reason', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as OrgLimitCreditPatch; + const client = getClient(); + const result = await client.orgLimitCredit + .update({ + where: { + id: answers.id as string, + }, + data: { + defaultLimitId: cleanedData.defaultLimitId, + actorId: cleanedData.actorId, + entityId: cleanedData.entityId, + amount: cleanedData.amount, + creditType: cleanedData.creditType, + reason: cleanedData.reason, + }, + select: { + id: true, + defaultLimitId: true, + actorId: true, + entityId: true, + amount: true, + creditType: true, + reason: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.orgLimitCredit + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/org-limit.ts b/sdk/constructive-cli/src/public/cli/commands/org-limit.ts index dda64514d..7d8283146 100644 --- a/sdk/constructive-cli/src/public/cli/commands/org-limit.ts +++ b/sdk/constructive-cli/src/public/cli/commands/org-limit.ts @@ -24,6 +24,9 @@ const fieldSchema: FieldSchema = { softMax: 'int', windowStart: 'string', windowDuration: 'string', + planMax: 'int', + purchasedCredits: 'int', + periodCredits: 'int', entityId: 'uuid', }; const usage = @@ -85,6 +88,9 @@ async function handleList(argv: Partial>, _prompter: Inq softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }; const findManyArgs = parseFindManyArgs< @@ -114,6 +120,9 @@ async function handleFindFirst(argv: Partial>, _prompter softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }; const findFirstArgs = parseFindFirstArgs< @@ -155,6 +164,9 @@ async function handleGet(argv: Partial>, prompter: Inqui softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }, }) @@ -219,6 +231,27 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'entityId', @@ -239,6 +272,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, entityId: cleanedData.entityId, }, select: { @@ -250,6 +286,9 @@ async function handleCreate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }, }) @@ -320,6 +359,27 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planMax', + message: 'planMax', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'purchasedCredits', + message: 'purchasedCredits', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'periodCredits', + message: 'periodCredits', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'entityId', @@ -343,6 +403,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: cleanedData.softMax, windowStart: cleanedData.windowStart, windowDuration: cleanedData.windowDuration, + planMax: cleanedData.planMax, + purchasedCredits: cleanedData.purchasedCredits, + periodCredits: cleanedData.periodCredits, entityId: cleanedData.entityId, }, select: { @@ -354,6 +417,9 @@ async function handleUpdate(argv: Partial>, prompter: In softMax: true, windowStart: true, windowDuration: true, + planMax: true, + purchasedCredits: true, + periodCredits: true, entityId: true, }, }) diff --git a/sdk/constructive-cli/src/public/cli/commands/partition.ts b/sdk/constructive-cli/src/public/cli/commands/partition.ts new file mode 100644 index 000000000..9f1b17f32 --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/partition.ts @@ -0,0 +1,408 @@ +/** + * CLI commands for Partition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreatePartitionInput, + PartitionPatch, + PartitionSelect, + PartitionFilter, + PartitionOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + tableId: 'uuid', + strategy: 'string', + partitionKeyId: 'uuid', + interval: 'string', + retention: 'string', + lookahead: 'int', + namingPattern: 'string', + createdAt: 'string', + updatedAt: 'string', +}; +const usage = + '\npartition \n\nCommands:\n list List partition records\n find-first Find first matching partition record\n get Get a partition by ID\n create Create a new partition\n update Update an existing partition\n delete Delete a partition\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + tableId: true, + strategy: true, + partitionKeyId: true, + interval: true, + retention: true, + lookahead: true, + namingPattern: true, + createdAt: true, + updatedAt: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: PartitionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.partition.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + tableId: true, + strategy: true, + partitionKeyId: true, + interval: true, + retention: true, + lookahead: true, + namingPattern: true, + createdAt: true, + updatedAt: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: PartitionSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.partition.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.partition + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + tableId: true, + strategy: true, + partitionKeyId: true, + interval: true, + retention: true, + lookahead: true, + namingPattern: true, + createdAt: true, + updatedAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'tableId', + message: 'tableId', + required: true, + }, + { + type: 'text', + name: 'strategy', + message: 'strategy', + required: true, + }, + { + type: 'text', + name: 'partitionKeyId', + message: 'partitionKeyId', + required: true, + }, + { + type: 'text', + name: 'interval', + message: 'interval', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'retention', + message: 'retention', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'lookahead', + message: 'lookahead', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'namingPattern', + message: 'namingPattern', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as CreatePartitionInput['partition']; + const client = getClient(); + const result = await client.partition + .create({ + data: { + databaseId: cleanedData.databaseId, + tableId: cleanedData.tableId, + strategy: cleanedData.strategy, + partitionKeyId: cleanedData.partitionKeyId, + interval: cleanedData.interval, + retention: cleanedData.retention, + lookahead: cleanedData.lookahead, + namingPattern: cleanedData.namingPattern, + }, + select: { + id: true, + databaseId: true, + tableId: true, + strategy: true, + partitionKeyId: true, + interval: true, + retention: true, + lookahead: true, + namingPattern: true, + createdAt: true, + updatedAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'tableId', + message: 'tableId', + required: false, + }, + { + type: 'text', + name: 'strategy', + message: 'strategy', + required: false, + }, + { + type: 'text', + name: 'partitionKeyId', + message: 'partitionKeyId', + required: false, + }, + { + type: 'text', + name: 'interval', + message: 'interval', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'retention', + message: 'retention', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'lookahead', + message: 'lookahead', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'namingPattern', + message: 'namingPattern', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as PartitionPatch; + const client = getClient(); + const result = await client.partition + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + tableId: cleanedData.tableId, + strategy: cleanedData.strategy, + partitionKeyId: cleanedData.partitionKeyId, + interval: cleanedData.interval, + retention: cleanedData.retention, + lookahead: cleanedData.lookahead, + namingPattern: cleanedData.namingPattern, + }, + select: { + id: true, + databaseId: true, + tableId: true, + strategy: true, + partitionKeyId: true, + interval: true, + retention: true, + lookahead: true, + namingPattern: true, + createdAt: true, + updatedAt: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.partition + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/plans-module.ts b/sdk/constructive-cli/src/public/cli/commands/plans-module.ts index d30dec6ce..b34f12014 100644 --- a/sdk/constructive-cli/src/public/cli/commands/plans-module.ts +++ b/sdk/constructive-cli/src/public/cli/commands/plans-module.ts @@ -24,6 +24,8 @@ const fieldSchema: FieldSchema = { plansTableName: 'string', planLimitsTableId: 'uuid', planLimitsTableName: 'string', + planPricingTableId: 'uuid', + planOverridesTableId: 'uuid', applyPlanFunction: 'string', applyPlanAggregateFunction: 'string', prefix: 'string', @@ -87,6 +89,8 @@ async function handleList(argv: Partial>, _prompter: Inq plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, + planPricingTableId: true, + planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true, @@ -118,6 +122,8 @@ async function handleFindFirst(argv: Partial>, _prompter plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, + planPricingTableId: true, + planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true, @@ -161,6 +167,8 @@ async function handleGet(argv: Partial>, prompter: Inqui plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, + planPricingTableId: true, + planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true, @@ -227,6 +235,20 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planPricingTableId', + message: 'planPricingTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'planOverridesTableId', + message: 'planOverridesTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'applyPlanFunction', @@ -265,6 +287,8 @@ async function handleCreate(argv: Partial>, prompter: In plansTableName: cleanedData.plansTableName, planLimitsTableId: cleanedData.planLimitsTableId, planLimitsTableName: cleanedData.planLimitsTableName, + planPricingTableId: cleanedData.planPricingTableId, + planOverridesTableId: cleanedData.planOverridesTableId, applyPlanFunction: cleanedData.applyPlanFunction, applyPlanAggregateFunction: cleanedData.applyPlanAggregateFunction, prefix: cleanedData.prefix, @@ -278,6 +302,8 @@ async function handleCreate(argv: Partial>, prompter: In plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, + planPricingTableId: true, + planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true, @@ -350,6 +376,20 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'planPricingTableId', + message: 'planPricingTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'planOverridesTableId', + message: 'planOverridesTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'applyPlanFunction', @@ -388,6 +428,8 @@ async function handleUpdate(argv: Partial>, prompter: In plansTableName: cleanedData.plansTableName, planLimitsTableId: cleanedData.planLimitsTableId, planLimitsTableName: cleanedData.planLimitsTableName, + planPricingTableId: cleanedData.planPricingTableId, + planOverridesTableId: cleanedData.planOverridesTableId, applyPlanFunction: cleanedData.applyPlanFunction, applyPlanAggregateFunction: cleanedData.applyPlanAggregateFunction, prefix: cleanedData.prefix, @@ -401,6 +443,8 @@ async function handleUpdate(argv: Partial>, prompter: In plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, + planPricingTableId: true, + planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true, diff --git a/sdk/constructive-cli/src/public/cli/commands/pubkey-setting.ts b/sdk/constructive-cli/src/public/cli/commands/pubkey-setting.ts new file mode 100644 index 000000000..03c4d1cbf --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/pubkey-setting.ts @@ -0,0 +1,405 @@ +/** + * CLI commands for PubkeySetting + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreatePubkeySettingInput, + PubkeySettingPatch, + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + schemaId: 'uuid', + cryptoNetwork: 'string', + userField: 'string', + signUpWithKeyFunctionId: 'uuid', + signInRequestChallengeFunctionId: 'uuid', + signInRecordFailureFunctionId: 'uuid', + signInWithChallengeFunctionId: 'uuid', +}; +const usage = + '\npubkey-setting \n\nCommands:\n list List pubkeySetting records\n find-first Find first matching pubkeySetting record\n get Get a pubkeySetting by ID\n create Create a new pubkeySetting\n update Update an existing pubkeySetting\n delete Delete a pubkeySetting\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + cryptoNetwork: true, + userField: true, + signUpWithKeyFunctionId: true, + signInRequestChallengeFunctionId: true, + signInRecordFailureFunctionId: true, + signInWithChallengeFunctionId: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: PubkeySettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.pubkeySetting.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + cryptoNetwork: true, + userField: true, + signUpWithKeyFunctionId: true, + signInRequestChallengeFunctionId: true, + signInRecordFailureFunctionId: true, + signInWithChallengeFunctionId: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: PubkeySettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.pubkeySetting.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.pubkeySetting + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + schemaId: true, + cryptoNetwork: true, + userField: true, + signUpWithKeyFunctionId: true, + signInRequestChallengeFunctionId: true, + signInRecordFailureFunctionId: true, + signInWithChallengeFunctionId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'cryptoNetwork', + message: 'cryptoNetwork', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'userField', + message: 'userField', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signUpWithKeyFunctionId', + message: 'signUpWithKeyFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signInRequestChallengeFunctionId', + message: 'signInRequestChallengeFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signInRecordFailureFunctionId', + message: 'signInRecordFailureFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signInWithChallengeFunctionId', + message: 'signInWithChallengeFunctionId', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreatePubkeySettingInput['pubkeySetting']; + const client = getClient(); + const result = await client.pubkeySetting + .create({ + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + cryptoNetwork: cleanedData.cryptoNetwork, + userField: cleanedData.userField, + signUpWithKeyFunctionId: cleanedData.signUpWithKeyFunctionId, + signInRequestChallengeFunctionId: cleanedData.signInRequestChallengeFunctionId, + signInRecordFailureFunctionId: cleanedData.signInRecordFailureFunctionId, + signInWithChallengeFunctionId: cleanedData.signInWithChallengeFunctionId, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + cryptoNetwork: true, + userField: true, + signUpWithKeyFunctionId: true, + signInRequestChallengeFunctionId: true, + signInRecordFailureFunctionId: true, + signInWithChallengeFunctionId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'cryptoNetwork', + message: 'cryptoNetwork', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'userField', + message: 'userField', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signUpWithKeyFunctionId', + message: 'signUpWithKeyFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signInRequestChallengeFunctionId', + message: 'signInRequestChallengeFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signInRecordFailureFunctionId', + message: 'signInRecordFailureFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'signInWithChallengeFunctionId', + message: 'signInWithChallengeFunctionId', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as PubkeySettingPatch; + const client = getClient(); + const result = await client.pubkeySetting + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + cryptoNetwork: cleanedData.cryptoNetwork, + userField: cleanedData.userField, + signUpWithKeyFunctionId: cleanedData.signUpWithKeyFunctionId, + signInRequestChallengeFunctionId: cleanedData.signInRequestChallengeFunctionId, + signInRecordFailureFunctionId: cleanedData.signInRecordFailureFunctionId, + signInWithChallengeFunctionId: cleanedData.signInWithChallengeFunctionId, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + cryptoNetwork: true, + userField: true, + signUpWithKeyFunctionId: true, + signInRequestChallengeFunctionId: true, + signInRecordFailureFunctionId: true, + signInWithChallengeFunctionId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.pubkeySetting + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/request-upload-url.ts b/sdk/constructive-cli/src/public/cli/commands/request-upload-url.ts deleted file mode 100644 index 16c1abc7f..000000000 --- a/sdk/constructive-cli/src/public/cli/commands/request-upload-url.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * CLI command for mutation requestUploadUrl - * @generated by @constructive-io/graphql-codegen - * DO NOT EDIT - changes will be overwritten - */ -import { CLIOptions, Inquirerer } from 'inquirerer'; -import { getClient } from '../executor'; -import { unflattenDotNotation, buildSelectFromPaths } from '../utils'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export default async ( - argv: Partial>, - prompter: Inquirerer, - _options: CLIOptions -) => { - try { - if (argv.help || argv.h) { - console.log( - 'request-upload-url - Request a presigned URL for uploading a file directly to S3.\nClient computes SHA-256 of the file content and provides it here.\nIf a file with the same hash already exists (dedup), returns the\nexisting file ID and deduplicated=true with no uploadUrl.\n\nUsage: request-upload-url [OPTIONS]\n' - ); - process.exit(0); - } - const answers = await prompter.prompt(argv, [ - { - type: 'text', - name: 'input', - message: - 'The exclusive input argument for this mutation. An object type, make sure to see documentation for this object\u2019s fields.', - required: true, - }, - ]); - const client = getClient(); - const parsedAnswers = unflattenDotNotation(answers); - const selectFields = buildSelectFromPaths((argv.select as string) ?? 'clientMutationId'); - const result = await client.mutation - .requestUploadUrl( - parsedAnswers as unknown as RequestUploadUrlVariables, - { - select: selectFields, - } as unknown as { - select: RequestUploadUrlPayloadSelect; - } - ) - .execute(); - console.log(JSON.stringify(result, null, 2)); - } catch (error) { - console.error('Failed: requestUploadUrl'); - if (error instanceof Error) { - console.error(error.message); - } - process.exit(1); - } -}; diff --git a/sdk/constructive-cli/src/public/cli/commands/rls-setting.ts b/sdk/constructive-cli/src/public/cli/commands/rls-setting.ts new file mode 100644 index 000000000..52581f12f --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/rls-setting.ts @@ -0,0 +1,424 @@ +/** + * CLI commands for RlsSetting + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateRlsSettingInput, + RlsSettingPatch, + RlsSettingSelect, + RlsSettingFilter, + RlsSettingOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + authenticateSchemaId: 'uuid', + roleSchemaId: 'uuid', + authenticateFunctionId: 'uuid', + authenticateStrictFunctionId: 'uuid', + currentRoleFunctionId: 'uuid', + currentRoleIdFunctionId: 'uuid', + currentUserAgentFunctionId: 'uuid', + currentIpAddressFunctionId: 'uuid', +}; +const usage = + '\nrls-setting \n\nCommands:\n list List rlsSetting records\n find-first Find first matching rlsSetting record\n get Get a rlsSetting by ID\n create Create a new rlsSetting\n update Update an existing rlsSetting\n delete Delete a rlsSetting\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + authenticateSchemaId: true, + roleSchemaId: true, + authenticateFunctionId: true, + authenticateStrictFunctionId: true, + currentRoleFunctionId: true, + currentRoleIdFunctionId: true, + currentUserAgentFunctionId: true, + currentIpAddressFunctionId: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: RlsSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.rlsSetting.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + authenticateSchemaId: true, + roleSchemaId: true, + authenticateFunctionId: true, + authenticateStrictFunctionId: true, + currentRoleFunctionId: true, + currentRoleIdFunctionId: true, + currentUserAgentFunctionId: true, + currentIpAddressFunctionId: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: RlsSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.rlsSetting.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.rlsSetting + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + authenticateSchemaId: true, + roleSchemaId: true, + authenticateFunctionId: true, + authenticateStrictFunctionId: true, + currentRoleFunctionId: true, + currentRoleIdFunctionId: true, + currentUserAgentFunctionId: true, + currentIpAddressFunctionId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'authenticateSchemaId', + message: 'authenticateSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'roleSchemaId', + message: 'roleSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'authenticateFunctionId', + message: 'authenticateFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'authenticateStrictFunctionId', + message: 'authenticateStrictFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRoleFunctionId', + message: 'currentRoleFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRoleIdFunctionId', + message: 'currentRoleIdFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentUserAgentFunctionId', + message: 'currentUserAgentFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentIpAddressFunctionId', + message: 'currentIpAddressFunctionId', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as CreateRlsSettingInput['rlsSetting']; + const client = getClient(); + const result = await client.rlsSetting + .create({ + data: { + databaseId: cleanedData.databaseId, + authenticateSchemaId: cleanedData.authenticateSchemaId, + roleSchemaId: cleanedData.roleSchemaId, + authenticateFunctionId: cleanedData.authenticateFunctionId, + authenticateStrictFunctionId: cleanedData.authenticateStrictFunctionId, + currentRoleFunctionId: cleanedData.currentRoleFunctionId, + currentRoleIdFunctionId: cleanedData.currentRoleIdFunctionId, + currentUserAgentFunctionId: cleanedData.currentUserAgentFunctionId, + currentIpAddressFunctionId: cleanedData.currentIpAddressFunctionId, + }, + select: { + id: true, + databaseId: true, + authenticateSchemaId: true, + roleSchemaId: true, + authenticateFunctionId: true, + authenticateStrictFunctionId: true, + currentRoleFunctionId: true, + currentRoleIdFunctionId: true, + currentUserAgentFunctionId: true, + currentIpAddressFunctionId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'authenticateSchemaId', + message: 'authenticateSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'roleSchemaId', + message: 'roleSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'authenticateFunctionId', + message: 'authenticateFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'authenticateStrictFunctionId', + message: 'authenticateStrictFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRoleFunctionId', + message: 'currentRoleFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentRoleIdFunctionId', + message: 'currentRoleIdFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentUserAgentFunctionId', + message: 'currentUserAgentFunctionId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'currentIpAddressFunctionId', + message: 'currentIpAddressFunctionId', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as RlsSettingPatch; + const client = getClient(); + const result = await client.rlsSetting + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + authenticateSchemaId: cleanedData.authenticateSchemaId, + roleSchemaId: cleanedData.roleSchemaId, + authenticateFunctionId: cleanedData.authenticateFunctionId, + authenticateStrictFunctionId: cleanedData.authenticateStrictFunctionId, + currentRoleFunctionId: cleanedData.currentRoleFunctionId, + currentRoleIdFunctionId: cleanedData.currentRoleIdFunctionId, + currentUserAgentFunctionId: cleanedData.currentUserAgentFunctionId, + currentIpAddressFunctionId: cleanedData.currentIpAddressFunctionId, + }, + select: { + id: true, + databaseId: true, + authenticateSchemaId: true, + roleSchemaId: true, + authenticateFunctionId: true, + authenticateStrictFunctionId: true, + currentRoleFunctionId: true, + currentRoleIdFunctionId: true, + currentUserAgentFunctionId: true, + currentIpAddressFunctionId: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.rlsSetting + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/cli/commands/storage-module.ts b/sdk/constructive-cli/src/public/cli/commands/storage-module.ts index 0b97baf06..f07087118 100644 --- a/sdk/constructive-cli/src/public/cli/commands/storage-module.ts +++ b/sdk/constructive-cli/src/public/cli/commands/storage-module.ts @@ -33,11 +33,20 @@ const fieldSchema: FieldSchema = { provider: 'string', allowedOrigins: 'string', restrictReads: 'boolean', + hasPathShares: 'boolean', + pathSharesTableId: 'uuid', uploadUrlExpirySeconds: 'int', downloadUrlExpirySeconds: 'int', defaultMaxFileSize: 'int', maxFilenameLength: 'int', cacheTtlSeconds: 'int', + maxBulkFiles: 'int', + maxBulkTotalSize: 'int', + hasVersioning: 'boolean', + hasContentHash: 'boolean', + hasCustomKeys: 'boolean', + hasAuditLog: 'boolean', + fileEventsTableId: 'uuid', }; const usage = '\nstorage-module \n\nCommands:\n list List storageModule records\n find-first Find first matching storageModule record\n get Get a storageModule by ID\n create Create a new storageModule\n update Update an existing storageModule\n delete Delete a storageModule\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; @@ -107,11 +116,20 @@ async function handleList(argv: Partial>, _prompter: Inq provider: true, allowedOrigins: true, restrictReads: true, + hasPathShares: true, + pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, + maxBulkFiles: true, + maxBulkTotalSize: true, + hasVersioning: true, + hasContentHash: true, + hasCustomKeys: true, + hasAuditLog: true, + fileEventsTableId: true, }; const findManyArgs = parseFindManyArgs< FindManyArgs & { @@ -149,11 +167,20 @@ async function handleFindFirst(argv: Partial>, _prompter provider: true, allowedOrigins: true, restrictReads: true, + hasPathShares: true, + pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, + maxBulkFiles: true, + maxBulkTotalSize: true, + hasVersioning: true, + hasContentHash: true, + hasCustomKeys: true, + hasAuditLog: true, + fileEventsTableId: true, }; const findFirstArgs = parseFindFirstArgs< FindFirstArgs & { @@ -203,11 +230,20 @@ async function handleGet(argv: Partial>, prompter: Inqui provider: true, allowedOrigins: true, restrictReads: true, + hasPathShares: true, + pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, + maxBulkFiles: true, + maxBulkTotalSize: true, + hasVersioning: true, + hasContentHash: true, + hasCustomKeys: true, + hasAuditLog: true, + fileEventsTableId: true, }, }) .execute(); @@ -334,6 +370,20 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'boolean', + name: 'hasPathShares', + message: 'hasPathShares', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'pathSharesTableId', + message: 'pathSharesTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'uploadUrlExpirySeconds', @@ -369,6 +419,55 @@ async function handleCreate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'maxBulkFiles', + message: 'maxBulkFiles', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'maxBulkTotalSize', + message: 'maxBulkTotalSize', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasVersioning', + message: 'hasVersioning', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasContentHash', + message: 'hasContentHash', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasCustomKeys', + message: 'hasCustomKeys', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasAuditLog', + message: 'hasAuditLog', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'fileEventsTableId', + message: 'fileEventsTableId', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined( @@ -395,11 +494,20 @@ async function handleCreate(argv: Partial>, prompter: In provider: cleanedData.provider, allowedOrigins: cleanedData.allowedOrigins, restrictReads: cleanedData.restrictReads, + hasPathShares: cleanedData.hasPathShares, + pathSharesTableId: cleanedData.pathSharesTableId, uploadUrlExpirySeconds: cleanedData.uploadUrlExpirySeconds, downloadUrlExpirySeconds: cleanedData.downloadUrlExpirySeconds, defaultMaxFileSize: cleanedData.defaultMaxFileSize, maxFilenameLength: cleanedData.maxFilenameLength, cacheTtlSeconds: cleanedData.cacheTtlSeconds, + maxBulkFiles: cleanedData.maxBulkFiles, + maxBulkTotalSize: cleanedData.maxBulkTotalSize, + hasVersioning: cleanedData.hasVersioning, + hasContentHash: cleanedData.hasContentHash, + hasCustomKeys: cleanedData.hasCustomKeys, + hasAuditLog: cleanedData.hasAuditLog, + fileEventsTableId: cleanedData.fileEventsTableId, }, select: { id: true, @@ -419,11 +527,20 @@ async function handleCreate(argv: Partial>, prompter: In provider: true, allowedOrigins: true, restrictReads: true, + hasPathShares: true, + pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, + maxBulkFiles: true, + maxBulkTotalSize: true, + hasVersioning: true, + hasContentHash: true, + hasCustomKeys: true, + hasAuditLog: true, + fileEventsTableId: true, }, }) .execute(); @@ -556,6 +673,20 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'boolean', + name: 'hasPathShares', + message: 'hasPathShares', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'pathSharesTableId', + message: 'pathSharesTableId', + required: false, + skipPrompt: true, + }, { type: 'text', name: 'uploadUrlExpirySeconds', @@ -591,6 +722,55 @@ async function handleUpdate(argv: Partial>, prompter: In required: false, skipPrompt: true, }, + { + type: 'text', + name: 'maxBulkFiles', + message: 'maxBulkFiles', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'maxBulkTotalSize', + message: 'maxBulkTotalSize', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasVersioning', + message: 'hasVersioning', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasContentHash', + message: 'hasContentHash', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasCustomKeys', + message: 'hasCustomKeys', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'hasAuditLog', + message: 'hasAuditLog', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'fileEventsTableId', + message: 'fileEventsTableId', + required: false, + skipPrompt: true, + }, ]); const answers = coerceAnswers(rawAnswers, fieldSchema); const cleanedData = stripUndefined(answers, fieldSchema) as StorageModulePatch; @@ -617,11 +797,20 @@ async function handleUpdate(argv: Partial>, prompter: In provider: cleanedData.provider, allowedOrigins: cleanedData.allowedOrigins, restrictReads: cleanedData.restrictReads, + hasPathShares: cleanedData.hasPathShares, + pathSharesTableId: cleanedData.pathSharesTableId, uploadUrlExpirySeconds: cleanedData.uploadUrlExpirySeconds, downloadUrlExpirySeconds: cleanedData.downloadUrlExpirySeconds, defaultMaxFileSize: cleanedData.defaultMaxFileSize, maxFilenameLength: cleanedData.maxFilenameLength, cacheTtlSeconds: cleanedData.cacheTtlSeconds, + maxBulkFiles: cleanedData.maxBulkFiles, + maxBulkTotalSize: cleanedData.maxBulkTotalSize, + hasVersioning: cleanedData.hasVersioning, + hasContentHash: cleanedData.hasContentHash, + hasCustomKeys: cleanedData.hasCustomKeys, + hasAuditLog: cleanedData.hasAuditLog, + fileEventsTableId: cleanedData.fileEventsTableId, }, select: { id: true, @@ -641,11 +830,20 @@ async function handleUpdate(argv: Partial>, prompter: In provider: true, allowedOrigins: true, restrictReads: true, + hasPathShares: true, + pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, + maxBulkFiles: true, + maxBulkTotalSize: true, + hasVersioning: true, + hasContentHash: true, + hasCustomKeys: true, + hasAuditLog: true, + fileEventsTableId: true, }, }) .execute(); diff --git a/sdk/constructive-cli/src/public/cli/commands/webauthn-setting.ts b/sdk/constructive-cli/src/public/cli/commands/webauthn-setting.ts new file mode 100644 index 000000000..2b0cad1bd --- /dev/null +++ b/sdk/constructive-cli/src/public/cli/commands/webauthn-setting.ts @@ -0,0 +1,603 @@ +/** + * CLI commands for WebauthnSetting + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { CLIOptions, Inquirerer, extractFirst } from 'inquirerer'; +import { getClient } from '../executor'; +import { coerceAnswers, parseFindFirstArgs, parseFindManyArgs, stripUndefined } from '../utils'; +import type { FieldSchema } from '../utils'; +import type { + CreateWebauthnSettingInput, + WebauthnSettingPatch, + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy, +} from '../../orm/input-types'; +import type { FindManyArgs, FindFirstArgs } from '../../orm/select-types'; +const fieldSchema: FieldSchema = { + id: 'uuid', + databaseId: 'uuid', + schemaId: 'uuid', + credentialsSchemaId: 'uuid', + sessionsSchemaId: 'uuid', + sessionSecretsSchemaId: 'uuid', + credentialsTableId: 'uuid', + sessionsTableId: 'uuid', + sessionCredentialsTableId: 'uuid', + sessionSecretsTableId: 'uuid', + userFieldId: 'uuid', + rpId: 'string', + rpName: 'string', + originAllowlist: 'string', + attestationType: 'string', + requireUserVerification: 'boolean', + residentKey: 'string', + challengeExpirySeconds: 'int', +}; +const usage = + '\nwebauthn-setting \n\nCommands:\n list List webauthnSetting records\n find-first Find first matching webauthnSetting record\n get Get a webauthnSetting by ID\n create Create a new webauthnSetting\n update Update an existing webauthnSetting\n delete Delete a webauthnSetting\n\nList Options:\n --limit Max number of records to return (forward pagination)\n --last Number of records from the end (backward pagination)\n --after Cursor for forward pagination\n --before Cursor for backward pagination\n --offset Number of records to skip\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.name.equalTo foo)\n --condition.. Condition filter (dot-notation)\n --orderBy Comma-separated ordering values (e.g. NAME_ASC,CREATED_AT_DESC)\n\nFind-First Options:\n --select Comma-separated list of fields to return\n --where.. Filter (dot-notation, e.g. --where.status.equalTo active)\n --condition.. Condition filter (dot-notation)\n\n --help, -h Show this help message\n'; +export default async ( + argv: Partial>, + prompter: Inquirerer, + _options: CLIOptions +) => { + if (argv.help || argv.h) { + console.log(usage); + process.exit(0); + } + const { first: subcommand, newArgv } = extractFirst(argv); + if (!subcommand) { + const answer = await prompter.prompt(argv, [ + { + type: 'autocomplete', + name: 'subcommand', + message: 'What do you want to do?', + options: ['list', 'find-first', 'get', 'create', 'update', 'delete'], + }, + ]); + return handleTableSubcommand(answer.subcommand as string, newArgv, prompter); + } + return handleTableSubcommand(subcommand, newArgv, prompter); +}; +async function handleTableSubcommand( + subcommand: string, + argv: Partial>, + prompter: Inquirerer +) { + switch (subcommand) { + case 'list': + return handleList(argv, prompter); + case 'find-first': + return handleFindFirst(argv, prompter); + case 'get': + return handleGet(argv, prompter); + case 'create': + return handleCreate(argv, prompter); + case 'update': + return handleUpdate(argv, prompter); + case 'delete': + return handleDelete(argv, prompter); + default: + console.log(usage); + process.exit(1); + } +} +async function handleList(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + credentialsSchemaId: true, + sessionsSchemaId: true, + sessionSecretsSchemaId: true, + credentialsTableId: true, + sessionsTableId: true, + sessionCredentialsTableId: true, + sessionSecretsTableId: true, + userFieldId: true, + rpId: true, + rpName: true, + originAllowlist: true, + attestationType: true, + requireUserVerification: true, + residentKey: true, + challengeExpirySeconds: true, + }; + const findManyArgs = parseFindManyArgs< + FindManyArgs & { + select: WebauthnSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.webauthnSetting.findMany(findManyArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to list records.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleFindFirst(argv: Partial>, _prompter: Inquirerer) { + try { + const defaultSelect = { + id: true, + databaseId: true, + schemaId: true, + credentialsSchemaId: true, + sessionsSchemaId: true, + sessionSecretsSchemaId: true, + credentialsTableId: true, + sessionsTableId: true, + sessionCredentialsTableId: true, + sessionSecretsTableId: true, + userFieldId: true, + rpId: true, + rpName: true, + originAllowlist: true, + attestationType: true, + requireUserVerification: true, + residentKey: true, + challengeExpirySeconds: true, + }; + const findFirstArgs = parseFindFirstArgs< + FindFirstArgs & { + select: WebauthnSettingSelect; + } + >(argv, defaultSelect); + const client = getClient(); + const result = await client.webauthnSetting.findFirst(findFirstArgs).execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to find record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleGet(argv: Partial>, prompter: Inquirerer) { + try { + const answers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const client = getClient(); + const result = await client.webauthnSetting + .findOne({ + id: answers.id as string, + select: { + id: true, + databaseId: true, + schemaId: true, + credentialsSchemaId: true, + sessionsSchemaId: true, + sessionSecretsSchemaId: true, + credentialsTableId: true, + sessionsTableId: true, + sessionCredentialsTableId: true, + sessionSecretsTableId: true, + userFieldId: true, + rpId: true, + rpName: true, + originAllowlist: true, + attestationType: true, + requireUserVerification: true, + residentKey: true, + challengeExpirySeconds: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Record not found.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleCreate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: true, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'credentialsSchemaId', + message: 'credentialsSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionsSchemaId', + message: 'sessionsSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionSecretsSchemaId', + message: 'sessionSecretsSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'credentialsTableId', + message: 'credentialsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionsTableId', + message: 'sessionsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionCredentialsTableId', + message: 'sessionCredentialsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionSecretsTableId', + message: 'sessionSecretsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'userFieldId', + message: 'userFieldId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'rpId', + message: 'rpId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'rpName', + message: 'rpName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'originAllowlist', + message: 'originAllowlist', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'attestationType', + message: 'attestationType', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'requireUserVerification', + message: 'requireUserVerification', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'residentKey', + message: 'residentKey', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'challengeExpirySeconds', + message: 'challengeExpirySeconds', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined( + answers, + fieldSchema + ) as CreateWebauthnSettingInput['webauthnSetting']; + const client = getClient(); + const result = await client.webauthnSetting + .create({ + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + credentialsSchemaId: cleanedData.credentialsSchemaId, + sessionsSchemaId: cleanedData.sessionsSchemaId, + sessionSecretsSchemaId: cleanedData.sessionSecretsSchemaId, + credentialsTableId: cleanedData.credentialsTableId, + sessionsTableId: cleanedData.sessionsTableId, + sessionCredentialsTableId: cleanedData.sessionCredentialsTableId, + sessionSecretsTableId: cleanedData.sessionSecretsTableId, + userFieldId: cleanedData.userFieldId, + rpId: cleanedData.rpId, + rpName: cleanedData.rpName, + originAllowlist: cleanedData.originAllowlist, + attestationType: cleanedData.attestationType, + requireUserVerification: cleanedData.requireUserVerification, + residentKey: cleanedData.residentKey, + challengeExpirySeconds: cleanedData.challengeExpirySeconds, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + credentialsSchemaId: true, + sessionsSchemaId: true, + sessionSecretsSchemaId: true, + credentialsTableId: true, + sessionsTableId: true, + sessionCredentialsTableId: true, + sessionSecretsTableId: true, + userFieldId: true, + rpId: true, + rpName: true, + originAllowlist: true, + attestationType: true, + requireUserVerification: true, + residentKey: true, + challengeExpirySeconds: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to create record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleUpdate(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + { + type: 'text', + name: 'databaseId', + message: 'databaseId', + required: false, + }, + { + type: 'text', + name: 'schemaId', + message: 'schemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'credentialsSchemaId', + message: 'credentialsSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionsSchemaId', + message: 'sessionsSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionSecretsSchemaId', + message: 'sessionSecretsSchemaId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'credentialsTableId', + message: 'credentialsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionsTableId', + message: 'sessionsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionCredentialsTableId', + message: 'sessionCredentialsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'sessionSecretsTableId', + message: 'sessionSecretsTableId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'userFieldId', + message: 'userFieldId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'rpId', + message: 'rpId', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'rpName', + message: 'rpName', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'originAllowlist', + message: 'originAllowlist', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'attestationType', + message: 'attestationType', + required: false, + skipPrompt: true, + }, + { + type: 'boolean', + name: 'requireUserVerification', + message: 'requireUserVerification', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'residentKey', + message: 'residentKey', + required: false, + skipPrompt: true, + }, + { + type: 'text', + name: 'challengeExpirySeconds', + message: 'challengeExpirySeconds', + required: false, + skipPrompt: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const cleanedData = stripUndefined(answers, fieldSchema) as WebauthnSettingPatch; + const client = getClient(); + const result = await client.webauthnSetting + .update({ + where: { + id: answers.id as string, + }, + data: { + databaseId: cleanedData.databaseId, + schemaId: cleanedData.schemaId, + credentialsSchemaId: cleanedData.credentialsSchemaId, + sessionsSchemaId: cleanedData.sessionsSchemaId, + sessionSecretsSchemaId: cleanedData.sessionSecretsSchemaId, + credentialsTableId: cleanedData.credentialsTableId, + sessionsTableId: cleanedData.sessionsTableId, + sessionCredentialsTableId: cleanedData.sessionCredentialsTableId, + sessionSecretsTableId: cleanedData.sessionSecretsTableId, + userFieldId: cleanedData.userFieldId, + rpId: cleanedData.rpId, + rpName: cleanedData.rpName, + originAllowlist: cleanedData.originAllowlist, + attestationType: cleanedData.attestationType, + requireUserVerification: cleanedData.requireUserVerification, + residentKey: cleanedData.residentKey, + challengeExpirySeconds: cleanedData.challengeExpirySeconds, + }, + select: { + id: true, + databaseId: true, + schemaId: true, + credentialsSchemaId: true, + sessionsSchemaId: true, + sessionSecretsSchemaId: true, + credentialsTableId: true, + sessionsTableId: true, + sessionCredentialsTableId: true, + sessionSecretsTableId: true, + userFieldId: true, + rpId: true, + rpName: true, + originAllowlist: true, + attestationType: true, + requireUserVerification: true, + residentKey: true, + challengeExpirySeconds: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to update record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} +async function handleDelete(argv: Partial>, prompter: Inquirerer) { + try { + const rawAnswers = await prompter.prompt(argv, [ + { + type: 'text', + name: 'id', + message: 'id', + required: true, + }, + ]); + const answers = coerceAnswers(rawAnswers, fieldSchema); + const client = getClient(); + const result = await client.webauthnSetting + .delete({ + where: { + id: answers.id as string, + }, + select: { + id: true, + }, + }) + .execute(); + console.log(JSON.stringify(result, null, 2)); + } catch (error) { + console.error('Failed to delete record.'); + if (error instanceof Error) { + console.error(error.message); + } + process.exit(1); + } +} diff --git a/sdk/constructive-cli/src/public/orm/README.md b/sdk/constructive-cli/src/public/orm/README.md index 910f95827..fd19e2e43 100644 --- a/sdk/constructive-cli/src/public/orm/README.md +++ b/sdk/constructive-cli/src/public/orm/README.md @@ -34,6 +34,7 @@ const db = createClient({ | `checkConstraint` | findMany, findOne, create, update, delete | | `field` | findMany, findOne, create, update, delete | | `spatialRelation` | findMany, findOne, create, update, delete | +| `partition` | findMany, findOne, create, update, delete | | `foreignKeyConstraint` | findMany, findOne, create, update, delete | | `fullTextSearch` | findMany, findOne, create, update, delete | | `index` | findMany, findOne, create, update, delete | @@ -54,17 +55,20 @@ const db = createClient({ | `schemaGrant` | findMany, findOne, create, update, delete | | `defaultPrivilege` | findMany, findOne, create, update, delete | | `enum` | findMany, findOne, create, update, delete | +| `function` | findMany, findOne, create, update, delete | | `apiSchema` | findMany, findOne, create, update, delete | | `apiModule` | findMany, findOne, create, update, delete | | `domain` | findMany, findOne, create, update, delete | | `siteMetadatum` | findMany, findOne, create, update, delete | | `siteModule` | findMany, findOne, create, update, delete | | `siteTheme` | findMany, findOne, create, update, delete | +| `corsSetting` | findMany, findOne, create, update, delete | | `triggerFunction` | findMany, findOne, create, update, delete | | `databaseTransfer` | findMany, findOne, create, update, delete | | `api` | findMany, findOne, create, update, delete | | `site` | findMany, findOne, create, update, delete | | `app` | findMany, findOne, create, update, delete | +| `apiSetting` | findMany, findOne, create, update, delete | | `connectedAccountsModule` | findMany, findOne, create, update, delete | | `cryptoAddressesModule` | findMany, findOne, create, update, delete | | `cryptoAuthModule` | findMany, findOne, create, update, delete | @@ -106,7 +110,11 @@ const db = createClient({ | `orgChartEdgeGrant` | findMany, findOne, create, update, delete | | `orgPermissionDefault` | findMany, findOne, create, update, delete | | `appLimit` | findMany, findOne, create, update, delete | +| `appLimitCredit` | findMany, findOne, create, update, delete | +| `appLimitCreditCodeItem` | findMany, findOne, create, update, delete | +| `appLimitCreditRedemption` | findMany, findOne, create, update, delete | | `orgLimit` | findMany, findOne, create, update, delete | +| `orgLimitCredit` | findMany, findOne, create, update, delete | | `orgLimitAggregate` | findMany, findOne, create, update, delete | | `appStep` | findMany, findOne, create, update, delete | | `appAchievement` | findMany, findOne, create, update, delete | @@ -128,6 +136,11 @@ const db = createClient({ | `ref` | findMany, findOne, create, update, delete | | `store` | findMany, findOne, create, update, delete | | `appPermissionDefault` | findMany, findOne, create, update, delete | +| `appLimitCreditCode` | findMany, findOne, create, update, delete | +| `appLimitCapsDefault` | findMany, findOne, create, update, delete | +| `orgLimitCapsDefault` | findMany, findOne, create, update, delete | +| `appLimitCap` | findMany, findOne, create, update, delete | +| `orgLimitCap` | findMany, findOne, create, update, delete | | `membershipType` | findMany, findOne, create, update, delete | | `migrateFile` | findMany, findOne, create, update, delete | | `devicesModule` | findMany, findOne, create, update, delete | @@ -136,19 +149,24 @@ const db = createClient({ | `orgLimitDefault` | findMany, findOne, create, update, delete | | `userConnectedAccount` | findMany, findOne, create, update, delete | | `commit` | findMany, findOne, create, update, delete | +| `pubkeySetting` | findMany, findOne, create, update, delete | | `rateLimitsModule` | findMany, findOne, create, update, delete | | `appMembershipDefault` | findMany, findOne, create, update, delete | | `orgMembershipDefault` | findMany, findOne, create, update, delete | +| `rlsSetting` | findMany, findOne, create, update, delete | | `appLimitEvent` | findMany, findOne, create, update, delete | | `orgLimitEvent` | findMany, findOne, create, update, delete | -| `plansModule` | findMany, findOne, create, update, delete | | `rlsModule` | findMany, findOne, create, update, delete | +| `databaseSetting` | findMany, findOne, create, update, delete | +| `plansModule` | findMany, findOne, create, update, delete | | `sqlAction` | findMany, findOne, create, update, delete | | `billingModule` | findMany, findOne, create, update, delete | | `astMigration` | findMany, findOne, create, update, delete | | `user` | findMany, findOne, create, update, delete | | `orgMembershipSetting` | findMany, findOne, create, update, delete | +| `webauthnSetting` | findMany, findOne, create, update, delete | | `appMembership` | findMany, findOne, create, update, delete | +| `billingProviderModule` | findMany, findOne, create, update, delete | | `hierarchyModule` | findMany, findOne, create, update, delete | ## Table Operations @@ -643,6 +661,45 @@ const updated = await db.spatialRelation.update({ where: { id: '' }, data: const deleted = await db.spatialRelation.delete({ where: { id: '' } }).execute(); ``` +### `db.partition` + +CRUD operations for Partition records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `tableId` | UUID | Yes | +| `strategy` | String | Yes | +| `partitionKeyId` | UUID | Yes | +| `interval` | String | Yes | +| `retention` | String | Yes | +| `lookahead` | Int | Yes | +| `namingPattern` | String | Yes | +| `createdAt` | Datetime | No | +| `updatedAt` | Datetime | No | + +**Operations:** + +```typescript +// List all partition records +const items = await db.partition.findMany({ select: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }).execute(); + +// Get one by id +const item = await db.partition.findOne({ id: '', select: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }).execute(); + +// Create +const created = await db.partition.create({ data: { databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.partition.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.partition.delete({ where: { id: '' } }).execute(); +``` + ### `db.foreignKeyConstraint` CRUD operations for ForeignKeyConstraint records. @@ -1438,6 +1495,38 @@ const updated = await db.enum.update({ where: { id: '' }, data: { database const deleted = await db.enum.delete({ where: { id: '' } }).execute(); ``` +### `db.function` + +CRUD operations for Function records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `name` | String | Yes | + +**Operations:** + +```typescript +// List all function records +const items = await db.function.findMany({ select: { id: true, databaseId: true, schemaId: true, name: true } }).execute(); + +// Get one by id +const item = await db.function.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, name: true } }).execute(); + +// Create +const created = await db.function.create({ data: { databaseId: '', schemaId: '', name: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.function.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.function.delete({ where: { id: '' } }).execute(); +``` + ### `db.apiSchema` CRUD operations for ApiSchema records. @@ -1636,6 +1725,38 @@ const updated = await db.siteTheme.update({ where: { id: '' }, data: { dat const deleted = await db.siteTheme.delete({ where: { id: '' } }).execute(); ``` +### `db.corsSetting` + +CRUD operations for CorsSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `apiId` | UUID | Yes | +| `allowedOrigins` | String | Yes | + +**Operations:** + +```typescript +// List all corsSetting records +const items = await db.corsSetting.findMany({ select: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }).execute(); + +// Get one by id +const item = await db.corsSetting.findOne({ id: '', select: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }).execute(); + +// Create +const created = await db.corsSetting.create({ data: { databaseId: '', apiId: '', allowedOrigins: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.corsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.corsSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.triggerFunction` CRUD operations for TriggerFunction records. @@ -1821,6 +1942,47 @@ const updated = await db.app.update({ where: { id: '' }, data: { databaseI const deleted = await db.app.delete({ where: { id: '' } }).execute(); ``` +### `db.apiSetting` + +CRUD operations for ApiSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `apiId` | UUID | Yes | +| `enableAggregates` | Boolean | Yes | +| `enablePostgis` | Boolean | Yes | +| `enableSearch` | Boolean | Yes | +| `enableDirectUploads` | Boolean | Yes | +| `enablePresignedUploads` | Boolean | Yes | +| `enableManyToMany` | Boolean | Yes | +| `enableConnectionFilter` | Boolean | Yes | +| `enableLtree` | Boolean | Yes | +| `enableLlm` | Boolean | Yes | +| `options` | JSON | Yes | + +**Operations:** + +```typescript +// List all apiSetting records +const items = await db.apiSetting.findMany({ select: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Get one by id +const item = await db.apiSetting.findOne({ id: '', select: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Create +const created = await db.apiSetting.create({ data: { databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.apiSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.apiSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.connectedAccountsModule` CRUD operations for ConnectedAccountsModule records. @@ -2190,7 +2352,16 @@ CRUD operations for LimitsModule records. | `limitDecrementTrigger` | String | Yes | | `limitUpdateTrigger` | String | Yes | | `limitCheckFunction` | String | Yes | +| `limitCreditsTableId` | UUID | Yes | +| `eventsTableId` | UUID | Yes | +| `creditCodesTableId` | UUID | Yes | +| `creditCodeItemsTableId` | UUID | Yes | +| `creditRedemptionsTableId` | UUID | Yes | | `aggregateTableId` | UUID | Yes | +| `limitCapsTableId` | UUID | Yes | +| `limitCapsDefaultsTableId` | UUID | Yes | +| `capCheckTrigger` | String | Yes | +| `resolveCapFunction` | String | Yes | | `prefix` | String | Yes | | `membershipType` | Int | Yes | | `entityTableId` | UUID | Yes | @@ -2200,13 +2371,13 @@ CRUD operations for LimitsModule records. ```typescript // List all limitsModule records -const items = await db.limitsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); +const items = await db.limitsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); // Get one by id -const item = await db.limitsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); +const item = await db.limitsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); // Create -const created = await db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); +const created = await db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); // Update const updated = await db.limitsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -2751,23 +2922,32 @@ CRUD operations for StorageModule records. | `provider` | String | Yes | | `allowedOrigins` | String | Yes | | `restrictReads` | Boolean | Yes | +| `hasPathShares` | Boolean | Yes | +| `pathSharesTableId` | UUID | Yes | | `uploadUrlExpirySeconds` | Int | Yes | | `downloadUrlExpirySeconds` | Int | Yes | | `defaultMaxFileSize` | BigInt | Yes | | `maxFilenameLength` | Int | Yes | | `cacheTtlSeconds` | Int | Yes | +| `maxBulkFiles` | Int | Yes | +| `maxBulkTotalSize` | BigInt | Yes | +| `hasVersioning` | Boolean | Yes | +| `hasContentHash` | Boolean | Yes | +| `hasCustomKeys` | Boolean | Yes | +| `hasAuditLog` | Boolean | Yes | +| `fileEventsTableId` | UUID | Yes | **Operations:** ```typescript // List all storageModule records -const items = await db.storageModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }).execute(); +const items = await db.storageModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }).execute(); // Get one by id -const item = await db.storageModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }).execute(); +const item = await db.storageModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }).execute(); // Create -const created = await db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }, select: { id: true } }).execute(); +const created = await db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }, select: { id: true } }).execute(); // Update const updated = await db.storageModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -2807,19 +2987,20 @@ CRUD operations for EntityTypeProvision records. | `outStorageModuleId` | UUID | Yes | | `outBucketsTableId` | UUID | Yes | | `outFilesTableId` | UUID | Yes | +| `outPathSharesTableId` | UUID | Yes | | `outInvitesModuleId` | UUID | Yes | **Operations:** ```typescript // List all entityTypeProvision records -const items = await db.entityTypeProvision.findMany({ select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }).execute(); +const items = await db.entityTypeProvision.findMany({ select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }).execute(); // Get one by id -const item = await db.entityTypeProvision.findOne({ id: '', select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }).execute(); +const item = await db.entityTypeProvision.findOne({ id: '', select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }).execute(); // Create -const created = await db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); +const created = await db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); // Update const updated = await db.entityTypeProvision.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -3440,18 +3621,21 @@ CRUD operations for AppLimit records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | **Operations:** ```typescript // List all appLimit records -const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Get one by id -const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Create -const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); +const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); // Update const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -3460,6 +3644,104 @@ const updated = await db.appLimit.update({ where: { id: '' }, data: { name const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCredit` + +CRUD operations for AppLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCredit records +const items = await db.appLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.appLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCredit.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditCodeItem` + +CRUD operations for AppLimitCreditCodeItem records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `defaultLimitId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCodeItem records +const items = await db.appLimitCreditCodeItem.findMany({ select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Create +const created = await db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditRedemption` + +CRUD operations for AppLimitCreditRedemption records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditRedemption records +const items = await db.appLimitCreditRedemption.findMany({ select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditRedemption.findOne({ id: '', select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Create +const created = await db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgLimit` CRUD operations for OrgLimit records. @@ -3476,19 +3758,22 @@ CRUD operations for OrgLimit records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | | `entityId` | UUID | Yes | **Operations:** ```typescript // List all orgLimit records -const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); // Get one by id -const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); // Create -const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute(); +const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); // Update const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -3497,6 +3782,41 @@ const updated = await db.orgLimit.update({ where: { id: '' }, data: { name const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitCredit` + +CRUD operations for OrgLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `entityId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all orgLimitCredit records +const items = await db.orgLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgLimitAggregate` CRUD operations for OrgLimitAggregate records. @@ -3513,18 +3833,22 @@ CRUD operations for OrgLimitAggregate records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `reserved` | BigInt | Yes | **Operations:** ```typescript // List all orgLimitAggregate records -const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); // Get one by id -const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); // Create -const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); +const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); // Update const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -4247,6 +4571,165 @@ const updated = await db.appPermissionDefault.update({ where: { id: '' }, const deleted = await db.appPermissionDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditCode` + +CRUD operations for AppLimitCreditCode records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `code` | String | Yes | +| `maxRedemptions` | Int | Yes | +| `currentRedemptions` | Int | Yes | +| `expiresAt` | Datetime | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCode records +const items = await db.appLimitCreditCode.findMany({ select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCode.findOne({ id: '', select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Create +const created = await db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCode.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCapsDefault` + +CRUD operations for AppLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCapsDefault records +const items = await db.appLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCapsDefault` + +CRUD operations for OrgLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCapsDefault records +const items = await db.orgLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCap` + +CRUD operations for AppLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCap records +const items = await db.appLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCap.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCap` + +CRUD operations for OrgLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCap records +const items = await db.orgLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCap.delete({ where: { id: '' } }).execute(); +``` + ### `db.membershipType` CRUD operations for MembershipType records. @@ -4519,6 +5002,43 @@ const updated = await db.commit.update({ where: { id: '' }, data: { messag const deleted = await db.commit.delete({ where: { id: '' } }).execute(); ``` +### `db.pubkeySetting` + +CRUD operations for PubkeySetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `cryptoNetwork` | String | Yes | +| `userField` | String | Yes | +| `signUpWithKeyFunctionId` | UUID | Yes | +| `signInRequestChallengeFunctionId` | UUID | Yes | +| `signInRecordFailureFunctionId` | UUID | Yes | +| `signInWithChallengeFunctionId` | UUID | Yes | + +**Operations:** + +```typescript +// List all pubkeySetting records +const items = await db.pubkeySetting.findMany({ select: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }).execute(); + +// Get one by id +const item = await db.pubkeySetting.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }).execute(); + +// Create +const created = await db.pubkeySetting.create({ data: { databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.pubkeySetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.pubkeySetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.rateLimitsModule` CRUD operations for RateLimitsModule records. @@ -4626,6 +5146,44 @@ const updated = await db.orgMembershipDefault.update({ where: { id: '' }, const deleted = await db.orgMembershipDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.rlsSetting` + +CRUD operations for RlsSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `authenticateSchemaId` | UUID | Yes | +| `roleSchemaId` | UUID | Yes | +| `authenticateFunctionId` | UUID | Yes | +| `authenticateStrictFunctionId` | UUID | Yes | +| `currentRoleFunctionId` | UUID | Yes | +| `currentRoleIdFunctionId` | UUID | Yes | +| `currentUserAgentFunctionId` | UUID | Yes | +| `currentIpAddressFunctionId` | UUID | Yes | + +**Operations:** + +```typescript +// List all rlsSetting records +const items = await db.rlsSetting.findMany({ select: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }).execute(); + +// Get one by id +const item = await db.rlsSetting.findOne({ id: '', select: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }).execute(); + +// Create +const created = await db.rlsSetting.create({ data: { databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.rlsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.rlsSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.appLimitEvent` CRUD operations for AppLimitEvent records. @@ -4700,9 +5258,9 @@ const updated = await db.orgLimitEvent.update({ where: { id: '' }, data: { const deleted = await db.orgLimitEvent.delete({ where: { id: '' } }).execute(); ``` -### `db.plansModule` +### `db.rlsModule` -CRUD operations for PlansModule records. +CRUD operations for RlsModule records. **Fields:** @@ -4712,36 +5270,76 @@ CRUD operations for PlansModule records. | `databaseId` | UUID | Yes | | `schemaId` | UUID | Yes | | `privateSchemaId` | UUID | Yes | -| `plansTableId` | UUID | Yes | -| `plansTableName` | String | Yes | -| `planLimitsTableId` | UUID | Yes | -| `planLimitsTableName` | String | Yes | -| `applyPlanFunction` | String | Yes | -| `applyPlanAggregateFunction` | String | Yes | -| `prefix` | String | Yes | +| `sessionCredentialsTableId` | UUID | Yes | +| `sessionsTableId` | UUID | Yes | +| `usersTableId` | UUID | Yes | +| `authenticate` | String | Yes | +| `authenticateStrict` | String | Yes | +| `currentRole` | String | Yes | +| `currentRoleId` | String | Yes | **Operations:** ```typescript -// List all plansModule records -const items = await db.plansModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); +// List all rlsModule records +const items = await db.rlsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); // Get one by id -const item = await db.plansModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); +const item = await db.rlsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); // Create -const created = await db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); +const created = await db.rlsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }, select: { id: true } }).execute(); // Update -const updated = await db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); +const updated = await db.rlsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.plansModule.delete({ where: { id: '' } }).execute(); +const deleted = await db.rlsModule.delete({ where: { id: '' } }).execute(); ``` -### `db.rlsModule` +### `db.databaseSetting` -CRUD operations for RlsModule records. +CRUD operations for DatabaseSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `enableAggregates` | Boolean | Yes | +| `enablePostgis` | Boolean | Yes | +| `enableSearch` | Boolean | Yes | +| `enableDirectUploads` | Boolean | Yes | +| `enablePresignedUploads` | Boolean | Yes | +| `enableManyToMany` | Boolean | Yes | +| `enableConnectionFilter` | Boolean | Yes | +| `enableLtree` | Boolean | Yes | +| `enableLlm` | Boolean | Yes | +| `options` | JSON | Yes | + +**Operations:** + +```typescript +// List all databaseSetting records +const items = await db.databaseSetting.findMany({ select: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Get one by id +const item = await db.databaseSetting.findOne({ id: '', select: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Create +const created = await db.databaseSetting.create({ data: { databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.databaseSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.databaseSetting.delete({ where: { id: '' } }).execute(); +``` + +### `db.plansModule` + +CRUD operations for PlansModule records. **Fields:** @@ -4751,31 +5349,33 @@ CRUD operations for RlsModule records. | `databaseId` | UUID | Yes | | `schemaId` | UUID | Yes | | `privateSchemaId` | UUID | Yes | -| `sessionCredentialsTableId` | UUID | Yes | -| `sessionsTableId` | UUID | Yes | -| `usersTableId` | UUID | Yes | -| `authenticate` | String | Yes | -| `authenticateStrict` | String | Yes | -| `currentRole` | String | Yes | -| `currentRoleId` | String | Yes | +| `plansTableId` | UUID | Yes | +| `plansTableName` | String | Yes | +| `planLimitsTableId` | UUID | Yes | +| `planLimitsTableName` | String | Yes | +| `planPricingTableId` | UUID | Yes | +| `planOverridesTableId` | UUID | Yes | +| `applyPlanFunction` | String | Yes | +| `applyPlanAggregateFunction` | String | Yes | +| `prefix` | String | Yes | **Operations:** ```typescript -// List all rlsModule records -const items = await db.rlsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); +// List all plansModule records +const items = await db.plansModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); // Get one by id -const item = await db.rlsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); +const item = await db.plansModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); // Create -const created = await db.rlsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }, select: { id: true } }).execute(); +const created = await db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); // Update -const updated = await db.rlsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); +const updated = await db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.rlsModule.delete({ where: { id: '' } }).execute(); +const deleted = await db.plansModule.delete({ where: { id: '' } }).execute(); ``` ### `db.sqlAction` @@ -4986,6 +5586,52 @@ const updated = await db.orgMembershipSetting.update({ where: { id: '' }, const deleted = await db.orgMembershipSetting.delete({ where: { id: '' } }).execute(); ``` +### `db.webauthnSetting` + +CRUD operations for WebauthnSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `credentialsSchemaId` | UUID | Yes | +| `sessionsSchemaId` | UUID | Yes | +| `sessionSecretsSchemaId` | UUID | Yes | +| `credentialsTableId` | UUID | Yes | +| `sessionsTableId` | UUID | Yes | +| `sessionCredentialsTableId` | UUID | Yes | +| `sessionSecretsTableId` | UUID | Yes | +| `userFieldId` | UUID | Yes | +| `rpId` | String | Yes | +| `rpName` | String | Yes | +| `originAllowlist` | String | Yes | +| `attestationType` | String | Yes | +| `requireUserVerification` | Boolean | Yes | +| `residentKey` | String | Yes | +| `challengeExpirySeconds` | BigInt | Yes | + +**Operations:** + +```typescript +// List all webauthnSetting records +const items = await db.webauthnSetting.findMany({ select: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }).execute(); + +// Get one by id +const item = await db.webauthnSetting.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }).execute(); + +// Create +const created = await db.webauthnSetting.create({ data: { databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.webauthnSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.webauthnSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.appMembership` CRUD operations for AppMembership records. @@ -5030,6 +5676,54 @@ const updated = await db.appMembership.update({ where: { id: '' }, data: { const deleted = await db.appMembership.delete({ where: { id: '' } }).execute(); ``` +### `db.billingProviderModule` + +CRUD operations for BillingProviderModule records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `privateSchemaId` | UUID | Yes | +| `provider` | String | Yes | +| `productsTableId` | UUID | Yes | +| `pricesTableId` | UUID | Yes | +| `subscriptionsTableId` | UUID | Yes | +| `billingCustomersTableId` | UUID | Yes | +| `billingCustomersTableName` | String | Yes | +| `billingProductsTableId` | UUID | Yes | +| `billingProductsTableName` | String | Yes | +| `billingPricesTableId` | UUID | Yes | +| `billingPricesTableName` | String | Yes | +| `billingSubscriptionsTableId` | UUID | Yes | +| `billingSubscriptionsTableName` | String | Yes | +| `billingWebhookEventsTableId` | UUID | Yes | +| `billingWebhookEventsTableName` | String | Yes | +| `processBillingEventFunction` | String | Yes | +| `prefix` | String | Yes | + +**Operations:** + +```typescript +// List all billingProviderModule records +const items = await db.billingProviderModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }).execute(); + +// Get one by id +const item = await db.billingProviderModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }).execute(); + +// Create +const created = await db.billingProviderModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.billingProviderModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.billingProviderModule.delete({ where: { id: '' } }).execute(); +``` + ### `db.hierarchyModule` CRUD operations for HierarchyModule records. @@ -5818,6 +6512,21 @@ setFieldOrder const result = await db.mutation.setFieldOrder({ input: { fieldIds: '' } }).execute(); ``` +### `db.mutation.appendSmartTags` + +appendSmartTags + +- **Type:** mutation +- **Arguments:** + + | Argument | Type | + |----------|------| + | `input` | AppendSmartTagsInput (required) | + +```typescript +const result = await db.mutation.appendSmartTags({ input: { pTableId: '', pTags: '' } }).execute(); +``` + ### `db.mutation.provisionUniqueConstraint` Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -6149,24 +6858,6 @@ Composable table provisioning: creates or finds a table, then creates fields (so const result = await db.mutation.provisionTable({ input: '' }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-cli/src/public/orm/index.ts b/sdk/constructive-cli/src/public/orm/index.ts index 7488a4078..8f387a6af 100644 --- a/sdk/constructive-cli/src/public/orm/index.ts +++ b/sdk/constructive-cli/src/public/orm/index.ts @@ -18,6 +18,7 @@ import { TableModel } from './models/table'; import { CheckConstraintModel } from './models/checkConstraint'; import { FieldModel } from './models/field'; import { SpatialRelationModel } from './models/spatialRelation'; +import { PartitionModel } from './models/partition'; import { ForeignKeyConstraintModel } from './models/foreignKeyConstraint'; import { FullTextSearchModel } from './models/fullTextSearch'; import { IndexModel } from './models/index'; @@ -38,17 +39,20 @@ import { IdentityProvidersModuleModel } from './models/identityProvidersModule'; import { SchemaGrantModel } from './models/schemaGrant'; import { DefaultPrivilegeModel } from './models/defaultPrivilege'; import { EnumModel } from './models/enum'; +import { FunctionModel } from './models/function'; import { ApiSchemaModel } from './models/apiSchema'; import { ApiModuleModel } from './models/apiModule'; import { DomainModel } from './models/domain'; import { SiteMetadatumModel } from './models/siteMetadatum'; import { SiteModuleModel } from './models/siteModule'; import { SiteThemeModel } from './models/siteTheme'; +import { CorsSettingModel } from './models/corsSetting'; import { TriggerFunctionModel } from './models/triggerFunction'; import { DatabaseTransferModel } from './models/databaseTransfer'; import { ApiModel } from './models/api'; import { SiteModel } from './models/site'; import { AppModel } from './models/app'; +import { ApiSettingModel } from './models/apiSetting'; import { ConnectedAccountsModuleModel } from './models/connectedAccountsModule'; import { CryptoAddressesModuleModel } from './models/cryptoAddressesModule'; import { CryptoAuthModuleModel } from './models/cryptoAuthModule'; @@ -90,7 +94,11 @@ import { OrgChartEdgeModel } from './models/orgChartEdge'; import { OrgChartEdgeGrantModel } from './models/orgChartEdgeGrant'; import { OrgPermissionDefaultModel } from './models/orgPermissionDefault'; import { AppLimitModel } from './models/appLimit'; +import { AppLimitCreditModel } from './models/appLimitCredit'; +import { AppLimitCreditCodeItemModel } from './models/appLimitCreditCodeItem'; +import { AppLimitCreditRedemptionModel } from './models/appLimitCreditRedemption'; import { OrgLimitModel } from './models/orgLimit'; +import { OrgLimitCreditModel } from './models/orgLimitCredit'; import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; import { AppStepModel } from './models/appStep'; import { AppAchievementModel } from './models/appAchievement'; @@ -112,6 +120,11 @@ import { IdentityProviderModel } from './models/identityProvider'; import { RefModel } from './models/ref'; import { StoreModel } from './models/store'; import { AppPermissionDefaultModel } from './models/appPermissionDefault'; +import { AppLimitCreditCodeModel } from './models/appLimitCreditCode'; +import { AppLimitCapsDefaultModel } from './models/appLimitCapsDefault'; +import { OrgLimitCapsDefaultModel } from './models/orgLimitCapsDefault'; +import { AppLimitCapModel } from './models/appLimitCap'; +import { OrgLimitCapModel } from './models/orgLimitCap'; import { MembershipTypeModel } from './models/membershipType'; import { MigrateFileModel } from './models/migrateFile'; import { DevicesModuleModel } from './models/devicesModule'; @@ -120,19 +133,24 @@ import { AppLimitDefaultModel } from './models/appLimitDefault'; import { OrgLimitDefaultModel } from './models/orgLimitDefault'; import { UserConnectedAccountModel } from './models/userConnectedAccount'; import { CommitModel } from './models/commit'; +import { PubkeySettingModel } from './models/pubkeySetting'; import { RateLimitsModuleModel } from './models/rateLimitsModule'; import { AppMembershipDefaultModel } from './models/appMembershipDefault'; import { OrgMembershipDefaultModel } from './models/orgMembershipDefault'; +import { RlsSettingModel } from './models/rlsSetting'; import { AppLimitEventModel } from './models/appLimitEvent'; import { OrgLimitEventModel } from './models/orgLimitEvent'; -import { PlansModuleModel } from './models/plansModule'; import { RlsModuleModel } from './models/rlsModule'; +import { DatabaseSettingModel } from './models/databaseSetting'; +import { PlansModuleModel } from './models/plansModule'; import { SqlActionModel } from './models/sqlAction'; import { BillingModuleModel } from './models/billingModule'; import { AstMigrationModel } from './models/astMigration'; import { UserModel } from './models/user'; import { OrgMembershipSettingModel } from './models/orgMembershipSetting'; +import { WebauthnSettingModel } from './models/webauthnSetting'; import { AppMembershipModel } from './models/appMembership'; +import { BillingProviderModuleModel } from './models/billingProviderModule'; import { HierarchyModuleModel } from './models/hierarchyModule'; import { createQueryOperations } from './query'; import { createMutationOperations } from './mutation'; @@ -183,6 +201,7 @@ export function createClient(config: OrmClientConfig) { checkConstraint: new CheckConstraintModel(client), field: new FieldModel(client), spatialRelation: new SpatialRelationModel(client), + partition: new PartitionModel(client), foreignKeyConstraint: new ForeignKeyConstraintModel(client), fullTextSearch: new FullTextSearchModel(client), index: new IndexModel(client), @@ -203,17 +222,20 @@ export function createClient(config: OrmClientConfig) { schemaGrant: new SchemaGrantModel(client), defaultPrivilege: new DefaultPrivilegeModel(client), enum: new EnumModel(client), + function: new FunctionModel(client), apiSchema: new ApiSchemaModel(client), apiModule: new ApiModuleModel(client), domain: new DomainModel(client), siteMetadatum: new SiteMetadatumModel(client), siteModule: new SiteModuleModel(client), siteTheme: new SiteThemeModel(client), + corsSetting: new CorsSettingModel(client), triggerFunction: new TriggerFunctionModel(client), databaseTransfer: new DatabaseTransferModel(client), api: new ApiModel(client), site: new SiteModel(client), app: new AppModel(client), + apiSetting: new ApiSettingModel(client), connectedAccountsModule: new ConnectedAccountsModuleModel(client), cryptoAddressesModule: new CryptoAddressesModuleModel(client), cryptoAuthModule: new CryptoAuthModuleModel(client), @@ -255,7 +277,11 @@ export function createClient(config: OrmClientConfig) { orgChartEdgeGrant: new OrgChartEdgeGrantModel(client), orgPermissionDefault: new OrgPermissionDefaultModel(client), appLimit: new AppLimitModel(client), + appLimitCredit: new AppLimitCreditModel(client), + appLimitCreditCodeItem: new AppLimitCreditCodeItemModel(client), + appLimitCreditRedemption: new AppLimitCreditRedemptionModel(client), orgLimit: new OrgLimitModel(client), + orgLimitCredit: new OrgLimitCreditModel(client), orgLimitAggregate: new OrgLimitAggregateModel(client), appStep: new AppStepModel(client), appAchievement: new AppAchievementModel(client), @@ -277,6 +303,11 @@ export function createClient(config: OrmClientConfig) { ref: new RefModel(client), store: new StoreModel(client), appPermissionDefault: new AppPermissionDefaultModel(client), + appLimitCreditCode: new AppLimitCreditCodeModel(client), + appLimitCapsDefault: new AppLimitCapsDefaultModel(client), + orgLimitCapsDefault: new OrgLimitCapsDefaultModel(client), + appLimitCap: new AppLimitCapModel(client), + orgLimitCap: new OrgLimitCapModel(client), membershipType: new MembershipTypeModel(client), migrateFile: new MigrateFileModel(client), devicesModule: new DevicesModuleModel(client), @@ -285,19 +316,24 @@ export function createClient(config: OrmClientConfig) { orgLimitDefault: new OrgLimitDefaultModel(client), userConnectedAccount: new UserConnectedAccountModel(client), commit: new CommitModel(client), + pubkeySetting: new PubkeySettingModel(client), rateLimitsModule: new RateLimitsModuleModel(client), appMembershipDefault: new AppMembershipDefaultModel(client), orgMembershipDefault: new OrgMembershipDefaultModel(client), + rlsSetting: new RlsSettingModel(client), appLimitEvent: new AppLimitEventModel(client), orgLimitEvent: new OrgLimitEventModel(client), - plansModule: new PlansModuleModel(client), rlsModule: new RlsModuleModel(client), + databaseSetting: new DatabaseSettingModel(client), + plansModule: new PlansModuleModel(client), sqlAction: new SqlActionModel(client), billingModule: new BillingModuleModel(client), astMigration: new AstMigrationModel(client), user: new UserModel(client), orgMembershipSetting: new OrgMembershipSettingModel(client), + webauthnSetting: new WebauthnSettingModel(client), appMembership: new AppMembershipModel(client), + billingProviderModule: new BillingProviderModuleModel(client), hierarchyModule: new HierarchyModuleModel(client), query: createQueryOperations(client), mutation: createMutationOperations(client), diff --git a/sdk/constructive-cli/src/public/orm/input-types.ts b/sdk/constructive-cli/src/public/orm/input-types.ts index 923a0d41d..e0b7828e2 100644 --- a/sdk/constructive-cli/src/public/orm/input-types.ts +++ b/sdk/constructive-cli/src/public/orm/input-types.ts @@ -410,6 +410,19 @@ export interface SpatialRelation { createdAt?: string | null; updatedAt?: string | null; } +export interface Partition { + id: string; + databaseId?: string | null; + tableId?: string | null; + strategy?: string | null; + partitionKeyId?: string | null; + interval?: string | null; + retention?: string | null; + lookahead?: number | null; + namingPattern?: string | null; + createdAt?: string | null; + updatedAt?: string | null; +} export interface ForeignKeyConstraint { id: string; databaseId?: string | null; @@ -812,6 +825,12 @@ export interface Enum { scope?: number | null; tags?: string[] | null; } +export interface Function { + id: string; + databaseId?: string | null; + schemaId?: string | null; + name?: string | null; +} /** Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API */ export interface ApiSchema { /** Unique identifier for this API-schema mapping */ @@ -890,6 +909,17 @@ export interface SiteTheme { /** JSONB object containing theme tokens (colors, typography, spacing, etc.) */ theme?: Record | null; } +/** Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries */ +export interface CorsSetting { + /** Unique identifier for this CORS settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Optional API for per-API override; NULL means database-wide default */ + apiId?: string | null; + /** Array of allowed CORS origins (e.g. https://example.com) */ + allowedOrigins?: string[] | null; +} export interface TriggerFunction { id: string; databaseId?: string | null; @@ -973,6 +1003,35 @@ export interface App { /** URL to the Google Play Store listing */ playStoreLink?: ConstructiveInternalTypeUrl | null; } +/** Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default */ +export interface ApiSetting { + /** Unique identifier for this API settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** API these settings override for */ + apiId?: string | null; + /** Override: enable aggregate queries (NULL = inherit from database_settings) */ + enableAggregates?: boolean | null; + /** Override: enable PostGIS spatial types (NULL = inherit from database_settings) */ + enablePostgis?: boolean | null; + /** Override: enable unified search (NULL = inherit from database_settings) */ + enableSearch?: boolean | null; + /** Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) */ + enableDirectUploads?: boolean | null; + /** Override: enable presigned URL upload flow (NULL = inherit from database_settings) */ + enablePresignedUploads?: boolean | null; + /** Override: enable many-to-many relationships (NULL = inherit from database_settings) */ + enableManyToMany?: boolean | null; + /** Override: enable connection filter (NULL = inherit from database_settings) */ + enableConnectionFilter?: boolean | null; + /** Override: enable ltree hierarchical data type (NULL = inherit from database_settings) */ + enableLtree?: boolean | null; + /** Override: enable LLM/AI integration features (NULL = inherit from database_settings) */ + enableLlm?: boolean | null; + /** Extensible JSON for additional per-API settings that do not have dedicated columns */ + options?: Record | null; +} export interface ConnectedAccountsModule { id: string; databaseId?: string | null; @@ -1101,7 +1160,16 @@ export interface LimitsModule { limitDecrementTrigger?: string | null; limitUpdateTrigger?: string | null; limitCheckFunction?: string | null; + limitCreditsTableId?: string | null; + eventsTableId?: string | null; + creditCodesTableId?: string | null; + creditCodeItemsTableId?: string | null; + creditRedemptionsTableId?: string | null; aggregateTableId?: string | null; + limitCapsTableId?: string | null; + limitCapsDefaultsTableId?: string | null; + capCheckTrigger?: string | null; + resolveCapFunction?: string | null; prefix?: string | null; membershipType?: number | null; entityTableId?: string | null; @@ -1370,11 +1438,20 @@ export interface StorageModule { provider?: string | null; allowedOrigins?: string[] | null; restrictReads?: boolean | null; + hasPathShares?: boolean | null; + pathSharesTableId?: string | null; uploadUrlExpirySeconds?: number | null; downloadUrlExpirySeconds?: number | null; defaultMaxFileSize?: string | null; maxFilenameLength?: number | null; cacheTtlSeconds?: number | null; + maxBulkFiles?: number | null; + maxBulkTotalSize?: string | null; + hasVersioning?: boolean | null; + hasContentHash?: boolean | null; + hasCustomKeys?: boolean | null; + hasAuditLog?: boolean | null; + fileEventsTableId?: string | null; } /** * Provisions a new membership entity type. Each INSERT creates an entity table, registers a membership type, @@ -1566,6 +1643,7 @@ export interface EntityTypeProvision { outBucketsTableId?: string | null; /** Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. */ outFilesTableId?: string | null; + outPathSharesTableId?: string | null; /** * Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. * NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING @@ -1849,6 +1927,46 @@ export interface AppLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; +} +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface AppLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} +/** Items within a credit code — each row grants credits for a specific limit definition */ +export interface AppLimitCreditCodeItem { + id: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string | null; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string | null; + /** Number of credits this item grants per redemption */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; +} +/** Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits */ +export interface AppLimitCreditRedemption { + id: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string | null; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string | null; } /** Tracks per-actor usage counts against configurable maximum limits */ export interface OrgLimit { @@ -1867,8 +1985,30 @@ export interface OrgLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; entityId?: string | null; } +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface OrgLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ export interface OrgLimitAggregate { id: string; @@ -1886,6 +2026,14 @@ export interface OrgLimitAggregate { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string | null; } /** Log of individual user actions toward level requirements; every single step ever taken is recorded here */ export interface AppStep { @@ -2196,6 +2344,54 @@ export interface AppPermissionDefault { /** Default permission bitmask applied to new members */ permissions?: string | null; } +/** Redeemable credit codes managed by admins with the add_credits permission */ +export interface AppLimitCreditCode { + id: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string | null; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number | null; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number | null; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface AppLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface OrgLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface AppLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface OrgLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} /** Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) */ export interface MembershipType { /** Integer identifier for the membership type (1=App, 2=Organization, 3=Group) */ @@ -2283,6 +2479,27 @@ export interface Commit { treeId?: string | null; date?: string | null; } +/** Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries */ +export interface PubkeySetting { + /** Unique identifier for this pubkey settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing the crypto auth functions (FK to metaschema_public.schema) */ + schemaId?: string | null; + /** Crypto network for key derivation (e.g. cosmos, ethereum) */ + cryptoNetwork?: string | null; + /** Field name used to identify the user in crypto auth functions */ + userField?: string | null; + /** Reference to the sign-up-with-key function (FK to metaschema_public.function) */ + signUpWithKeyFunctionId?: string | null; + /** Reference to the sign-in challenge request function (FK to metaschema_public.function) */ + signInRequestChallengeFunctionId?: string | null; + /** Reference to the sign-in failure recording function (FK to metaschema_public.function) */ + signInRecordFailureFunctionId?: string | null; + /** Reference to the sign-in-with-challenge function (FK to metaschema_public.function) */ + signInWithChallengeFunctionId?: string | null; +} export interface RateLimitsModule { id: string; databaseId?: string | null; @@ -2318,6 +2535,29 @@ export interface OrgMembershipDefault { /** References the entity these membership defaults apply to */ entityId?: string | null; } +/** Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries */ +export interface RlsSetting { + /** Unique identifier for this RLS settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) */ + authenticateSchemaId?: string | null; + /** Schema containing current_role and related functions (FK to metaschema_public.schema) */ + roleSchemaId?: string | null; + /** Reference to the authenticate function (FK to metaschema_public.function) */ + authenticateFunctionId?: string | null; + /** Reference to the strict authenticate function (FK to metaschema_public.function) */ + authenticateStrictFunctionId?: string | null; + /** Reference to the current_role function (FK to metaschema_public.function) */ + currentRoleFunctionId?: string | null; + /** Reference to the current_role_id function (FK to metaschema_public.function) */ + currentRoleIdFunctionId?: string | null; + /** Reference to the current_user_agent function (FK to metaschema_public.function) */ + currentUserAgentFunctionId?: string | null; + /** Reference to the current_ip_address function (FK to metaschema_public.function) */ + currentIpAddressFunctionId?: string | null; +} /** Append-only log of limit events for historical reporting and audit */ export interface AppLimitEvent { /** Limit name this event applies to */ @@ -2360,19 +2600,6 @@ export interface OrgLimitEvent { /** Optional reason or source: achievement, invite, plan_change, purchase, etc. */ reason?: string | null; } -export interface PlansModule { - id: string; - databaseId?: string | null; - schemaId?: string | null; - privateSchemaId?: string | null; - plansTableId?: string | null; - plansTableName?: string | null; - planLimitsTableId?: string | null; - planLimitsTableName?: string | null; - applyPlanFunction?: string | null; - applyPlanAggregateFunction?: string | null; - prefix?: string | null; -} export interface RlsModule { id: string; databaseId?: string | null; @@ -2386,6 +2613,48 @@ export interface RlsModule { currentRole?: string | null; currentRoleId?: string | null; } +/** Database-wide feature flags and settings; controls which platform features are available to all APIs in this database */ +export interface DatabaseSetting { + /** Unique identifier for this settings record */ + id: string; + /** Reference to the metaschema database these settings apply to */ + databaseId?: string | null; + /** Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API */ + enableAggregates?: boolean | null; + /** Enable PostGIS spatial types and operators in the GraphQL API */ + enablePostgis?: boolean | null; + /** Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API */ + enableSearch?: boolean | null; + /** Enable direct (multipart) file upload mutations in the GraphQL API */ + enableDirectUploads?: boolean | null; + /** Enable presigned URL upload flow for S3/MinIO storage */ + enablePresignedUploads?: boolean | null; + /** Enable many-to-many relationship queries in the GraphQL API */ + enableManyToMany?: boolean | null; + /** Enable connection filter (where argument) in the GraphQL API */ + enableConnectionFilter?: boolean | null; + /** Enable ltree hierarchical data type support in the GraphQL API */ + enableLtree?: boolean | null; + /** Enable LLM/AI integration features in the GraphQL API */ + enableLlm?: boolean | null; + /** Extensible JSON for additional settings that do not have dedicated columns */ + options?: Record | null; +} +export interface PlansModule { + id: string; + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + plansTableId?: string | null; + plansTableName?: string | null; + planLimitsTableId?: string | null; + planLimitsTableName?: string | null; + planPricingTableId?: string | null; + planOverridesTableId?: string | null; + applyPlanFunction?: string | null; + applyPlanAggregateFunction?: string | null; + prefix?: string | null; +} export interface SqlAction { id: number; name?: string | null; @@ -2474,6 +2743,45 @@ export interface OrgMembershipSetting { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string | null; } +/** Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries */ +export interface WebauthnSetting { + /** Unique identifier for this WebAuthn settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) */ + schemaId?: string | null; + /** Schema of the webauthn_credentials table (FK to metaschema_public.schema) */ + credentialsSchemaId?: string | null; + /** Schema of the sessions table (FK to metaschema_public.schema) */ + sessionsSchemaId?: string | null; + /** Schema of the session_secrets table (FK to metaschema_public.schema) */ + sessionSecretsSchemaId?: string | null; + /** Reference to the webauthn_credentials table (FK to metaschema_public.table) */ + credentialsTableId?: string | null; + /** Reference to the sessions table (FK to metaschema_public.table) */ + sessionsTableId?: string | null; + /** Reference to the session_credentials table (FK to metaschema_public.table) */ + sessionCredentialsTableId?: string | null; + /** Reference to the session_secrets table (FK to metaschema_public.table) */ + sessionSecretsTableId?: string | null; + /** Reference to the user field on webauthn_credentials (FK to metaschema_public.field) */ + userFieldId?: string | null; + /** WebAuthn Relying Party ID (typically the domain name) */ + rpId?: string | null; + /** WebAuthn Relying Party display name */ + rpName?: string | null; + /** Allowed origins for WebAuthn registration and authentication */ + originAllowlist?: string[] | null; + /** Attestation conveyance preference (none, indirect, direct, enterprise) */ + attestationType?: string | null; + /** Whether to require user verification (biometric/PIN) during auth */ + requireUserVerification?: boolean | null; + /** Resident key requirement (discouraged, preferred, required) */ + residentKey?: string | null; + /** Challenge TTL in seconds (default 300 = 5 minutes) */ + challengeExpirySeconds?: string | null; +} /** Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status */ export interface AppMembership { id: string; @@ -2503,6 +2811,28 @@ export interface AppMembership { actorId?: string | null; profileId?: string | null; } +export interface BillingProviderModule { + id: string; + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + provider?: string | null; + productsTableId?: string | null; + pricesTableId?: string | null; + subscriptionsTableId?: string | null; + billingCustomersTableId?: string | null; + billingCustomersTableName?: string | null; + billingProductsTableId?: string | null; + billingProductsTableName?: string | null; + billingPricesTableId?: string | null; + billingPricesTableName?: string | null; + billingSubscriptionsTableId?: string | null; + billingSubscriptionsTableName?: string | null; + billingWebhookEventsTableId?: string | null; + billingWebhookEventsTableName?: string | null; + processBillingEventFunction?: string | null; + prefix?: string | null; +} export interface HierarchyModule { id: string; databaseId?: string | null; @@ -2547,12 +2877,17 @@ export interface ObjectRelations {} export interface AppLevelRequirementRelations {} export interface DatabaseRelations { owner?: User | null; + databaseSetting?: DatabaseSetting | null; + rlsSetting?: RlsSetting | null; + pubkeySetting?: PubkeySetting | null; + webauthnSetting?: WebauthnSetting | null; rlsModule?: RlsModule | null; hierarchyModule?: HierarchyModule | null; rateLimitsModule?: RateLimitsModule | null; devicesModule?: DevicesModule | null; plansModule?: PlansModule | null; billingModule?: BillingModule | null; + billingProviderModule?: BillingProviderModule | null; schemas?: ConnectionResult; tables?: ConnectionResult; checkConstraints?: ConnectionResult; @@ -2574,7 +2909,9 @@ export interface DatabaseRelations { enums?: ConnectionResult; embeddingChunks?: ConnectionResult; spatialRelations?: ConnectionResult; + functions?: ConnectionResult; databaseTransfers?: ConnectionResult; + partitions?: ConnectionResult; apis?: ConnectionResult; apiModules?: ConnectionResult; apiSchemas?: ConnectionResult; @@ -2584,6 +2921,8 @@ export interface DatabaseRelations { siteMetadata?: ConnectionResult; siteModules?: ConnectionResult; siteThemes?: ConnectionResult; + apiSettings?: ConnectionResult; + corsSettings?: ConnectionResult; connectedAccountsModules?: ConnectionResult; cryptoAddressesModules?: ConnectionResult; cryptoAuthModules?: ConnectionResult; @@ -2623,6 +2962,7 @@ export interface SchemaRelations { views?: ConnectionResult; defaultPrivileges?: ConnectionResult; enums?: ConnectionResult; + functions?: ConnectionResult; apiSchemas?: ConnectionResult; sessionSecretsModules?: ConnectionResult; identityProvidersModulesByPrivateSchemaId?: ConnectionResult; @@ -2632,6 +2972,7 @@ export interface TableRelations { database?: Database | null; schema?: Schema | null; inherits?: Table | null; + partition?: Partition | null; checkConstraints?: ConnectionResult; fields?: ConnectionResult; foreignKeyConstraints?: ConnectionResult; @@ -2664,6 +3005,7 @@ export interface FieldRelations { table?: Table | null; spatialRelations?: ConnectionResult; spatialRelationsByRefFieldId?: ConnectionResult; + partitionsByPartitionKeyId?: ConnectionResult; } export interface SpatialRelationRelations { database?: Database | null; @@ -2672,6 +3014,11 @@ export interface SpatialRelationRelations { refTable?: Table | null; table?: Table | null; } +export interface PartitionRelations { + database?: Database | null; + partitionKey?: Field | null; + table?: Table | null; +} export interface ForeignKeyConstraintRelations { database?: Database | null; refTable?: Table | null; @@ -2766,6 +3113,10 @@ export interface EnumRelations { database?: Database | null; schema?: Schema | null; } +export interface FunctionRelations { + database?: Database | null; + schema?: Schema | null; +} export interface ApiSchemaRelations { api?: Api | null; database?: Database | null; @@ -2792,6 +3143,10 @@ export interface SiteThemeRelations { database?: Database | null; site?: Site | null; } +export interface CorsSettingRelations { + api?: Api | null; + database?: Database | null; +} export interface TriggerFunctionRelations { database?: Database | null; } @@ -2800,9 +3155,11 @@ export interface DatabaseTransferRelations { } export interface ApiRelations { database?: Database | null; + apiSetting?: ApiSetting | null; apiModules?: ConnectionResult; apiSchemas?: ConnectionResult; domains?: ConnectionResult; + corsSettings?: ConnectionResult; } export interface SiteRelations { database?: Database | null; @@ -2816,6 +3173,10 @@ export interface AppRelations { site?: Site | null; database?: Database | null; } +export interface ApiSettingRelations { + api?: Api | null; + database?: Database | null; +} export interface ConnectedAccountsModuleRelations { database?: Database | null; ownerTable?: Table | null; @@ -2884,9 +3245,16 @@ export interface LevelsModuleRelations { export interface LimitsModuleRelations { actorTable?: Table | null; aggregateTable?: Table | null; + creditCodeItemsTable?: Table | null; + creditCodesTable?: Table | null; + creditRedemptionsTable?: Table | null; database?: Database | null; defaultTable?: Table | null; entityTable?: Table | null; + eventsTable?: Table | null; + limitCapsDefaultsTable?: Table | null; + limitCapsTable?: Table | null; + limitCreditsTable?: Table | null; privateSchema?: Schema | null; schema?: Schema | null; table?: Table | null; @@ -2991,7 +3359,9 @@ export interface StorageModuleRelations { bucketsTable?: Table | null; database?: Database | null; entityTable?: Table | null; + fileEventsTable?: Table | null; filesTable?: Table | null; + pathSharesTable?: Table | null; privateSchema?: Schema | null; schema?: Schema | null; } @@ -3089,10 +3459,26 @@ export interface OrgPermissionDefaultRelations { export interface AppLimitRelations { actor?: User | null; } +export interface AppLimitCreditRelations { + actor?: User | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditCodeItemRelations { + creditCode?: AppLimitCreditCode | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditRedemptionRelations { + creditCode?: AppLimitCreditCode | null; +} export interface OrgLimitRelations { actor?: User | null; entity?: User | null; } +export interface OrgLimitCreditRelations { + actor?: User | null; + defaultLimit?: OrgLimitDefault | null; + entity?: User | null; +} export interface OrgLimitAggregateRelations { entity?: User | null; } @@ -3156,6 +3542,14 @@ export interface IdentityProviderRelations {} export interface RefRelations {} export interface StoreRelations {} export interface AppPermissionDefaultRelations {} +export interface AppLimitCreditCodeRelations { + appLimitCreditCodeItemsByCreditCodeId?: ConnectionResult; + appLimitCreditRedemptionsByCreditCodeId?: ConnectionResult; +} +export interface AppLimitCapsDefaultRelations {} +export interface OrgLimitCapsDefaultRelations {} +export interface AppLimitCapRelations {} +export interface OrgLimitCapRelations {} export interface MembershipTypeRelations {} export interface MigrateFileRelations {} export interface DevicesModuleRelations { @@ -3165,10 +3559,23 @@ export interface DevicesModuleRelations { userDevicesTableByUserDevicesTableId?: Table | null; } export interface NodeTypeRegistryRelations {} -export interface AppLimitDefaultRelations {} -export interface OrgLimitDefaultRelations {} +export interface AppLimitDefaultRelations { + appLimitCreditsByDefaultLimitId?: ConnectionResult; + appLimitCreditCodeItemsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitDefaultRelations { + orgLimitCreditsByDefaultLimitId?: ConnectionResult; +} export interface UserConnectedAccountRelations {} export interface CommitRelations {} +export interface PubkeySettingRelations { + database?: Database | null; + schema?: Schema | null; + signInRecordFailureFunction?: Function | null; + signInRequestChallengeFunction?: Function | null; + signInWithChallengeFunction?: Function | null; + signUpWithKeyFunction?: Function | null; +} export interface RateLimitsModuleRelations { database?: Database | null; ipRateLimitsTableByIpRateLimitsTableId?: Table | null; @@ -3180,15 +3587,19 @@ export interface AppMembershipDefaultRelations {} export interface OrgMembershipDefaultRelations { entity?: User | null; } -export interface AppLimitEventRelations {} -export interface OrgLimitEventRelations {} -export interface PlansModuleRelations { +export interface RlsSettingRelations { + authenticateFunction?: Function | null; + authenticateSchema?: Schema | null; + authenticateStrictFunction?: Function | null; + currentIpAddressFunction?: Function | null; + currentRoleFunction?: Function | null; + currentRoleIdFunction?: Function | null; + currentUserAgentFunction?: Function | null; database?: Database | null; - planLimitsTable?: Table | null; - plansTable?: Table | null; - privateSchema?: Schema | null; - schema?: Schema | null; + roleSchema?: Schema | null; } +export interface AppLimitEventRelations {} +export interface OrgLimitEventRelations {} export interface RlsModuleRelations { database?: Database | null; privateSchema?: Schema | null; @@ -3197,6 +3608,18 @@ export interface RlsModuleRelations { sessionsTable?: Table | null; usersTable?: Table | null; } +export interface DatabaseSettingRelations { + database?: Database | null; +} +export interface PlansModuleRelations { + database?: Database | null; + planLimitsTable?: Table | null; + planOverridesTable?: Table | null; + planPricingTable?: Table | null; + plansTable?: Table | null; + privateSchema?: Schema | null; + schema?: Schema | null; +} export interface SqlActionRelations {} export interface BillingModuleRelations { balancesTable?: Table | null; @@ -3244,8 +3667,11 @@ export interface UserRelations { childOrgChartEdgeGrants?: ConnectionResult; orgPermissionDefaultsByEntityId?: ConnectionResult; appLimitsByActorId?: ConnectionResult; + appLimitCreditsByActorId?: ConnectionResult; orgLimitsByActorId?: ConnectionResult; orgLimitsByEntityId?: ConnectionResult; + orgLimitCreditsByActorId?: ConnectionResult; + orgLimitCreditsByEntityId?: ConnectionResult; orgLimitAggregatesByEntityId?: ConnectionResult; appStepsByActorId?: ConnectionResult; appAchievementsByActorId?: ConnectionResult; @@ -3272,9 +3698,34 @@ export interface UserRelations { export interface OrgMembershipSettingRelations { entity?: User | null; } +export interface WebauthnSettingRelations { + credentialsSchema?: Schema | null; + credentialsTable?: Table | null; + database?: Database | null; + schema?: Schema | null; + sessionCredentialsTable?: Table | null; + sessionSecretsSchema?: Schema | null; + sessionSecretsTable?: Table | null; + sessionsSchema?: Schema | null; + sessionsTable?: Table | null; + userField?: Field | null; +} export interface AppMembershipRelations { actor?: User | null; } +export interface BillingProviderModuleRelations { + billingCustomersTable?: Table | null; + billingPricesTable?: Table | null; + billingProductsTable?: Table | null; + billingSubscriptionsTable?: Table | null; + billingWebhookEventsTable?: Table | null; + database?: Database | null; + pricesTable?: Table | null; + privateSchema?: Schema | null; + productsTable?: Table | null; + schema?: Schema | null; + subscriptionsTable?: Table | null; +} export interface HierarchyModuleRelations { chartEdgeGrantsTable?: Table | null; chartEdgesTable?: Table | null; @@ -3301,6 +3752,7 @@ export type TableWithRelations = Table & TableRelations; export type CheckConstraintWithRelations = CheckConstraint & CheckConstraintRelations; export type FieldWithRelations = Field & FieldRelations; export type SpatialRelationWithRelations = SpatialRelation & SpatialRelationRelations; +export type PartitionWithRelations = Partition & PartitionRelations; export type ForeignKeyConstraintWithRelations = ForeignKeyConstraint & ForeignKeyConstraintRelations; export type FullTextSearchWithRelations = FullTextSearch & FullTextSearchRelations; @@ -3326,17 +3778,20 @@ export type IdentityProvidersModuleWithRelations = IdentityProvidersModule & export type SchemaGrantWithRelations = SchemaGrant & SchemaGrantRelations; export type DefaultPrivilegeWithRelations = DefaultPrivilege & DefaultPrivilegeRelations; export type EnumWithRelations = Enum & EnumRelations; +export type FunctionWithRelations = Function & FunctionRelations; export type ApiSchemaWithRelations = ApiSchema & ApiSchemaRelations; export type ApiModuleWithRelations = ApiModule & ApiModuleRelations; export type DomainWithRelations = Domain & DomainRelations; export type SiteMetadatumWithRelations = SiteMetadatum & SiteMetadatumRelations; export type SiteModuleWithRelations = SiteModule & SiteModuleRelations; export type SiteThemeWithRelations = SiteTheme & SiteThemeRelations; +export type CorsSettingWithRelations = CorsSetting & CorsSettingRelations; export type TriggerFunctionWithRelations = TriggerFunction & TriggerFunctionRelations; export type DatabaseTransferWithRelations = DatabaseTransfer & DatabaseTransferRelations; export type ApiWithRelations = Api & ApiRelations; export type SiteWithRelations = Site & SiteRelations; export type AppWithRelations = App & AppRelations; +export type ApiSettingWithRelations = ApiSetting & ApiSettingRelations; export type ConnectedAccountsModuleWithRelations = ConnectedAccountsModule & ConnectedAccountsModuleRelations; export type CryptoAddressesModuleWithRelations = CryptoAddressesModule & @@ -3387,7 +3842,13 @@ export type OrgChartEdgeGrantWithRelations = OrgChartEdgeGrant & OrgChartEdgeGra export type OrgPermissionDefaultWithRelations = OrgPermissionDefault & OrgPermissionDefaultRelations; export type AppLimitWithRelations = AppLimit & AppLimitRelations; +export type AppLimitCreditWithRelations = AppLimitCredit & AppLimitCreditRelations; +export type AppLimitCreditCodeItemWithRelations = AppLimitCreditCodeItem & + AppLimitCreditCodeItemRelations; +export type AppLimitCreditRedemptionWithRelations = AppLimitCreditRedemption & + AppLimitCreditRedemptionRelations; export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; +export type OrgLimitCreditWithRelations = OrgLimitCredit & OrgLimitCreditRelations; export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; export type AppStepWithRelations = AppStep & AppStepRelations; export type AppAchievementWithRelations = AppAchievement & AppAchievementRelations; @@ -3410,6 +3871,11 @@ export type RefWithRelations = Ref & RefRelations; export type StoreWithRelations = Store & StoreRelations; export type AppPermissionDefaultWithRelations = AppPermissionDefault & AppPermissionDefaultRelations; +export type AppLimitCreditCodeWithRelations = AppLimitCreditCode & AppLimitCreditCodeRelations; +export type AppLimitCapsDefaultWithRelations = AppLimitCapsDefault & AppLimitCapsDefaultRelations; +export type OrgLimitCapsDefaultWithRelations = OrgLimitCapsDefault & OrgLimitCapsDefaultRelations; +export type AppLimitCapWithRelations = AppLimitCap & AppLimitCapRelations; +export type OrgLimitCapWithRelations = OrgLimitCap & OrgLimitCapRelations; export type MembershipTypeWithRelations = MembershipType & MembershipTypeRelations; export type MigrateFileWithRelations = MigrateFile & MigrateFileRelations; export type DevicesModuleWithRelations = DevicesModule & DevicesModuleRelations; @@ -3419,22 +3885,28 @@ export type OrgLimitDefaultWithRelations = OrgLimitDefault & OrgLimitDefaultRela export type UserConnectedAccountWithRelations = UserConnectedAccount & UserConnectedAccountRelations; export type CommitWithRelations = Commit & CommitRelations; +export type PubkeySettingWithRelations = PubkeySetting & PubkeySettingRelations; export type RateLimitsModuleWithRelations = RateLimitsModule & RateLimitsModuleRelations; export type AppMembershipDefaultWithRelations = AppMembershipDefault & AppMembershipDefaultRelations; export type OrgMembershipDefaultWithRelations = OrgMembershipDefault & OrgMembershipDefaultRelations; +export type RlsSettingWithRelations = RlsSetting & RlsSettingRelations; export type AppLimitEventWithRelations = AppLimitEvent & AppLimitEventRelations; export type OrgLimitEventWithRelations = OrgLimitEvent & OrgLimitEventRelations; -export type PlansModuleWithRelations = PlansModule & PlansModuleRelations; export type RlsModuleWithRelations = RlsModule & RlsModuleRelations; +export type DatabaseSettingWithRelations = DatabaseSetting & DatabaseSettingRelations; +export type PlansModuleWithRelations = PlansModule & PlansModuleRelations; export type SqlActionWithRelations = SqlAction & SqlActionRelations; export type BillingModuleWithRelations = BillingModule & BillingModuleRelations; export type AstMigrationWithRelations = AstMigration & AstMigrationRelations; export type UserWithRelations = User & UserRelations; export type OrgMembershipSettingWithRelations = OrgMembershipSetting & OrgMembershipSettingRelations; +export type WebauthnSettingWithRelations = WebauthnSetting & WebauthnSettingRelations; export type AppMembershipWithRelations = AppMembership & AppMembershipRelations; +export type BillingProviderModuleWithRelations = BillingProviderModule & + BillingProviderModuleRelations; export type HierarchyModuleWithRelations = HierarchyModule & HierarchyModuleRelations; // ============ Entity Select Types ============ export type OrgGetManagersRecordSelect = { @@ -3495,6 +3967,18 @@ export type DatabaseSelect = { owner?: { select: UserSelect; }; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + rlsSetting?: { + select: RlsSettingSelect; + }; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; rlsModule?: { select: RlsModuleSelect; }; @@ -3513,6 +3997,9 @@ export type DatabaseSelect = { billingModule?: { select: BillingModuleSelect; }; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; schemas?: { select: SchemaSelect; first?: number; @@ -3639,12 +4126,24 @@ export type DatabaseSelect = { filter?: SpatialRelationFilter; orderBy?: SpatialRelationOrderBy[]; }; + functions?: { + select: FunctionSelect; + first?: number; + filter?: FunctionFilter; + orderBy?: FunctionOrderBy[]; + }; databaseTransfers?: { select: DatabaseTransferSelect; first?: number; filter?: DatabaseTransferFilter; orderBy?: DatabaseTransferOrderBy[]; }; + partitions?: { + select: PartitionSelect; + first?: number; + filter?: PartitionFilter; + orderBy?: PartitionOrderBy[]; + }; apis?: { select: ApiSelect; first?: number; @@ -3699,6 +4198,18 @@ export type DatabaseSelect = { filter?: SiteThemeFilter; orderBy?: SiteThemeOrderBy[]; }; + apiSettings?: { + select: ApiSettingSelect; + first?: number; + filter?: ApiSettingFilter; + orderBy?: ApiSettingOrderBy[]; + }; + corsSettings?: { + select: CorsSettingSelect; + first?: number; + filter?: CorsSettingFilter; + orderBy?: CorsSettingOrderBy[]; + }; connectedAccountsModules?: { select: ConnectedAccountsModuleSelect; first?: number; @@ -3934,6 +4445,12 @@ export type SchemaSelect = { filter?: EnumFilter; orderBy?: EnumOrderBy[]; }; + functions?: { + select: FunctionSelect; + first?: number; + filter?: FunctionFilter; + orderBy?: FunctionOrderBy[]; + }; apiSchemas?: { select: ApiSchemaSelect; first?: number; @@ -3988,6 +4505,9 @@ export type TableSelect = { inherits?: { select: TableSelect; }; + partition?: { + select: PartitionSelect; + }; checkConstraints?: { select: CheckConstraintSelect; first?: number; @@ -4186,6 +4706,12 @@ export type FieldSelect = { filter?: SpatialRelationFilter; orderBy?: SpatialRelationOrderBy[]; }; + partitionsByPartitionKeyId?: { + select: PartitionSelect; + first?: number; + filter?: PartitionFilter; + orderBy?: PartitionOrderBy[]; + }; }; export type SpatialRelationSelect = { id?: boolean; @@ -4219,6 +4745,28 @@ export type SpatialRelationSelect = { select: TableSelect; }; }; +export type PartitionSelect = { + id?: boolean; + databaseId?: boolean; + tableId?: boolean; + strategy?: boolean; + partitionKeyId?: boolean; + interval?: boolean; + retention?: boolean; + lookahead?: boolean; + namingPattern?: boolean; + createdAt?: boolean; + updatedAt?: boolean; + database?: { + select: DatabaseSelect; + }; + partitionKey?: { + select: FieldSelect; + }; + table?: { + select: TableSelect; + }; +}; export type ForeignKeyConstraintSelect = { id?: boolean; databaseId?: boolean; @@ -4665,6 +5213,18 @@ export type EnumSelect = { select: SchemaSelect; }; }; +export type FunctionSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + name?: boolean; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; +}; export type ApiSchemaSelect = { id?: boolean; databaseId?: boolean; @@ -4749,6 +5309,18 @@ export type SiteThemeSelect = { select: SiteSelect; }; }; +export type CorsSettingSelect = { + id?: boolean; + databaseId?: boolean; + apiId?: boolean; + allowedOrigins?: boolean; + api?: { + select: ApiSelect; + }; + database?: { + select: DatabaseSelect; + }; +}; export type TriggerFunctionSelect = { id?: boolean; databaseId?: boolean; @@ -4790,6 +5362,9 @@ export type ApiSelect = { database?: { select: DatabaseSelect; }; + apiSetting?: { + select: ApiSettingSelect; + }; apiModules?: { select: ApiModuleSelect; first?: number; @@ -4808,6 +5383,12 @@ export type ApiSelect = { filter?: DomainFilter; orderBy?: DomainOrderBy[]; }; + corsSettings?: { + select: CorsSettingSelect; + first?: number; + filter?: CorsSettingFilter; + orderBy?: CorsSettingOrderBy[]; + }; }; export type SiteSelect = { id?: boolean; @@ -4867,6 +5448,27 @@ export type AppSelect = { select: DatabaseSelect; }; }; +export type ApiSettingSelect = { + id?: boolean; + databaseId?: boolean; + apiId?: boolean; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: boolean; + api?: { + select: ApiSelect; + }; + database?: { + select: DatabaseSelect; + }; +}; export type ConnectedAccountsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -5136,7 +5738,16 @@ export type LimitsModuleSelect = { limitDecrementTrigger?: boolean; limitUpdateTrigger?: boolean; limitCheckFunction?: boolean; + limitCreditsTableId?: boolean; + eventsTableId?: boolean; + creditCodesTableId?: boolean; + creditCodeItemsTableId?: boolean; + creditRedemptionsTableId?: boolean; aggregateTableId?: boolean; + limitCapsTableId?: boolean; + limitCapsDefaultsTableId?: boolean; + capCheckTrigger?: boolean; + resolveCapFunction?: boolean; prefix?: boolean; membershipType?: boolean; entityTableId?: boolean; @@ -5147,6 +5758,15 @@ export type LimitsModuleSelect = { aggregateTable?: { select: TableSelect; }; + creditCodeItemsTable?: { + select: TableSelect; + }; + creditCodesTable?: { + select: TableSelect; + }; + creditRedemptionsTable?: { + select: TableSelect; + }; database?: { select: DatabaseSelect; }; @@ -5156,6 +5776,18 @@ export type LimitsModuleSelect = { entityTable?: { select: TableSelect; }; + eventsTable?: { + select: TableSelect; + }; + limitCapsDefaultsTable?: { + select: TableSelect; + }; + limitCapsTable?: { + select: TableSelect; + }; + limitCreditsTable?: { + select: TableSelect; + }; privateSchema?: { select: SchemaSelect; }; @@ -5608,11 +6240,20 @@ export type StorageModuleSelect = { provider?: boolean; allowedOrigins?: boolean; restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: boolean; uploadUrlExpirySeconds?: boolean; downloadUrlExpirySeconds?: boolean; defaultMaxFileSize?: boolean; maxFilenameLength?: boolean; cacheTtlSeconds?: boolean; + maxBulkFiles?: boolean; + maxBulkTotalSize?: boolean; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: boolean; bucketsTable?: { select: TableSelect; }; @@ -5622,9 +6263,15 @@ export type StorageModuleSelect = { entityTable?: { select: TableSelect; }; + fileEventsTable?: { + select: TableSelect; + }; filesTable?: { select: TableSelect; }; + pathSharesTable?: { + select: TableSelect; + }; privateSchema?: { select: SchemaSelect; }; @@ -5656,6 +6303,7 @@ export type EntityTypeProvisionSelect = { outStorageModuleId?: boolean; outBucketsTableId?: boolean; outFilesTableId?: boolean; + outPathSharesTableId?: boolean; outInvitesModuleId?: boolean; database?: { select: DatabaseSelect; @@ -6018,10 +6666,48 @@ export type AppLimitSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; actor?: { select: UserSelect; }; }; +export type AppLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + actor?: { + select: UserSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditCodeItemSelect = { + id?: boolean; + creditCodeId?: boolean; + defaultLimitId?: boolean; + amount?: boolean; + creditType?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditRedemptionSelect = { + id?: boolean; + creditCodeId?: boolean; + entityId?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; +}; export type OrgLimitSelect = { id?: boolean; name?: boolean; @@ -6031,6 +6717,9 @@ export type OrgLimitSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; entityId?: boolean; actor?: { select: UserSelect; @@ -6039,6 +6728,24 @@ export type OrgLimitSelect = { select: UserSelect; }; }; +export type OrgLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + entityId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + actor?: { + select: UserSelect; + }; + defaultLimit?: { + select: OrgLimitDefaultSelect; + }; + entity?: { + select: UserSelect; + }; +}; export type OrgLimitAggregateSelect = { id?: boolean; name?: boolean; @@ -6048,6 +6755,10 @@ export type OrgLimitAggregateSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + reserved?: boolean; entity?: { select: UserSelect; }; @@ -6327,6 +7038,47 @@ export type AppPermissionDefaultSelect = { id?: boolean; permissions?: boolean; }; +export type AppLimitCreditCodeSelect = { + id?: boolean; + code?: boolean; + maxRedemptions?: boolean; + currentRedemptions?: boolean; + expiresAt?: boolean; + appLimitCreditCodeItemsByCreditCodeId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; + appLimitCreditRedemptionsByCreditCodeId?: { + select: AppLimitCreditRedemptionSelect; + first?: number; + filter?: AppLimitCreditRedemptionFilter; + orderBy?: AppLimitCreditRedemptionOrderBy[]; + }; +}; +export type AppLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type OrgLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type AppLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; +export type OrgLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; export type MembershipTypeSelect = { id?: boolean; name?: boolean; @@ -6375,12 +7127,30 @@ export type AppLimitDefaultSelect = { name?: boolean; max?: boolean; softMax?: boolean; + appLimitCreditsByDefaultLimitId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; + appLimitCreditCodeItemsByDefaultLimitId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; }; export type OrgLimitDefaultSelect = { id?: boolean; name?: boolean; max?: boolean; softMax?: boolean; + orgLimitCreditsByDefaultLimitId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; }; export type UserConnectedAccountSelect = { id?: boolean; @@ -6403,6 +7173,35 @@ export type CommitSelect = { treeId?: boolean; date?: boolean; }; +export type PubkeySettingSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + cryptoNetwork?: boolean; + userField?: boolean; + signUpWithKeyFunctionId?: boolean; + signInRequestChallengeFunctionId?: boolean; + signInRecordFailureFunctionId?: boolean; + signInWithChallengeFunctionId?: boolean; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; + signInRecordFailureFunction?: { + select: FunctionSelect; + }; + signInRequestChallengeFunction?: { + select: FunctionSelect; + }; + signInWithChallengeFunction?: { + select: FunctionSelect; + }; + signUpWithKeyFunction?: { + select: FunctionSelect; + }; +}; export type RateLimitsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -6450,6 +7249,45 @@ export type OrgMembershipDefaultSelect = { select: UserSelect; }; }; +export type RlsSettingSelect = { + id?: boolean; + databaseId?: boolean; + authenticateSchemaId?: boolean; + roleSchemaId?: boolean; + authenticateFunctionId?: boolean; + authenticateStrictFunctionId?: boolean; + currentRoleFunctionId?: boolean; + currentRoleIdFunctionId?: boolean; + currentUserAgentFunctionId?: boolean; + currentIpAddressFunctionId?: boolean; + authenticateFunction?: { + select: FunctionSelect; + }; + authenticateSchema?: { + select: SchemaSelect; + }; + authenticateStrictFunction?: { + select: FunctionSelect; + }; + currentIpAddressFunction?: { + select: FunctionSelect; + }; + currentRoleFunction?: { + select: FunctionSelect; + }; + currentRoleIdFunction?: { + select: FunctionSelect; + }; + currentUserAgentFunction?: { + select: FunctionSelect; + }; + database?: { + select: DatabaseSelect; + }; + roleSchema?: { + select: SchemaSelect; + }; +}; export type AppLimitEventSelect = { name?: boolean; actorId?: boolean; @@ -6472,34 +7310,6 @@ export type OrgLimitEventSelect = { maxAtEvent?: boolean; reason?: boolean; }; -export type PlansModuleSelect = { - id?: boolean; - databaseId?: boolean; - schemaId?: boolean; - privateSchemaId?: boolean; - plansTableId?: boolean; - plansTableName?: boolean; - planLimitsTableId?: boolean; - planLimitsTableName?: boolean; - applyPlanFunction?: boolean; - applyPlanAggregateFunction?: boolean; - prefix?: boolean; - database?: { - select: DatabaseSelect; - }; - planLimitsTable?: { - select: TableSelect; - }; - plansTable?: { - select: TableSelect; - }; - privateSchema?: { - select: SchemaSelect; - }; - schema?: { - select: SchemaSelect; - }; -}; export type RlsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -6531,6 +7341,59 @@ export type RlsModuleSelect = { select: TableSelect; }; }; +export type DatabaseSettingSelect = { + id?: boolean; + databaseId?: boolean; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: boolean; + database?: { + select: DatabaseSelect; + }; +}; +export type PlansModuleSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + privateSchemaId?: boolean; + plansTableId?: boolean; + plansTableName?: boolean; + planLimitsTableId?: boolean; + planLimitsTableName?: boolean; + planPricingTableId?: boolean; + planOverridesTableId?: boolean; + applyPlanFunction?: boolean; + applyPlanAggregateFunction?: boolean; + prefix?: boolean; + database?: { + select: DatabaseSelect; + }; + planLimitsTable?: { + select: TableSelect; + }; + planOverridesTable?: { + select: TableSelect; + }; + planPricingTable?: { + select: TableSelect; + }; + plansTable?: { + select: TableSelect; + }; + privateSchema?: { + select: SchemaSelect; + }; + schema?: { + select: SchemaSelect; + }; +}; export type SqlActionSelect = { id?: boolean; name?: boolean; @@ -6808,6 +7671,12 @@ export type UserSelect = { filter?: AppLimitFilter; orderBy?: AppLimitOrderBy[]; }; + appLimitCreditsByActorId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; orgLimitsByActorId?: { select: OrgLimitSelect; first?: number; @@ -6820,6 +7689,18 @@ export type UserSelect = { filter?: OrgLimitFilter; orderBy?: OrgLimitOrderBy[]; }; + orgLimitCreditsByActorId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; + orgLimitCreditsByEntityId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; orgLimitAggregatesByEntityId?: { select: OrgLimitAggregateSelect; first?: number; @@ -6972,6 +7853,56 @@ export type OrgMembershipSettingSelect = { select: UserSelect; }; }; +export type WebauthnSettingSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + credentialsSchemaId?: boolean; + sessionsSchemaId?: boolean; + sessionSecretsSchemaId?: boolean; + credentialsTableId?: boolean; + sessionsTableId?: boolean; + sessionCredentialsTableId?: boolean; + sessionSecretsTableId?: boolean; + userFieldId?: boolean; + rpId?: boolean; + rpName?: boolean; + originAllowlist?: boolean; + attestationType?: boolean; + requireUserVerification?: boolean; + residentKey?: boolean; + challengeExpirySeconds?: boolean; + credentialsSchema?: { + select: SchemaSelect; + }; + credentialsTable?: { + select: TableSelect; + }; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; + sessionCredentialsTable?: { + select: TableSelect; + }; + sessionSecretsSchema?: { + select: SchemaSelect; + }; + sessionSecretsTable?: { + select: TableSelect; + }; + sessionsSchema?: { + select: SchemaSelect; + }; + sessionsTable?: { + select: TableSelect; + }; + userField?: { + select: FieldSelect; + }; +}; export type AppMembershipSelect = { id?: boolean; createdAt?: boolean; @@ -6993,6 +7924,61 @@ export type AppMembershipSelect = { select: UserSelect; }; }; +export type BillingProviderModuleSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + privateSchemaId?: boolean; + provider?: boolean; + productsTableId?: boolean; + pricesTableId?: boolean; + subscriptionsTableId?: boolean; + billingCustomersTableId?: boolean; + billingCustomersTableName?: boolean; + billingProductsTableId?: boolean; + billingProductsTableName?: boolean; + billingPricesTableId?: boolean; + billingPricesTableName?: boolean; + billingSubscriptionsTableId?: boolean; + billingSubscriptionsTableName?: boolean; + billingWebhookEventsTableId?: boolean; + billingWebhookEventsTableName?: boolean; + processBillingEventFunction?: boolean; + prefix?: boolean; + billingCustomersTable?: { + select: TableSelect; + }; + billingPricesTable?: { + select: TableSelect; + }; + billingProductsTable?: { + select: TableSelect; + }; + billingSubscriptionsTable?: { + select: TableSelect; + }; + billingWebhookEventsTable?: { + select: TableSelect; + }; + database?: { + select: DatabaseSelect; + }; + pricesTable?: { + select: TableSelect; + }; + privateSchema?: { + select: SchemaSelect; + }; + productsTable?: { + select: TableSelect; + }; + schema?: { + select: SchemaSelect; + }; + subscriptionsTable?: { + select: TableSelect; + }; +}; export type HierarchyModuleSelect = { id?: boolean; databaseId?: boolean; @@ -7254,10 +8240,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -7294,6 +8288,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -7438,6 +8456,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -7500,6 +8522,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -7634,6 +8660,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -7766,6 +8796,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } export interface SpatialRelationFilter { /** Filter by the object’s `id` field. */ @@ -7815,6 +8849,42 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} export interface ForeignKeyConstraintFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8567,6 +9637,26 @@ export interface EnumFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} export interface ApiSchemaFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8703,6 +9793,28 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} export interface TriggerFunctionFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8798,6 +9910,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } export interface SiteFilter { /** Filter by the object’s `id` field. */ @@ -8877,6 +9997,44 @@ export interface AppFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} export interface ConnectedAccountsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -9266,8 +10424,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -9288,6 +10464,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -9296,6 +10484,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -9948,6 +11152,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -9958,6 +11166,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -9972,8 +11194,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -10026,6 +11256,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -10622,6 +11854,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -10631,6 +11869,70 @@ export interface AppLimitFilter { /** Filter by the object’s `actor` relation. */ actor?: UserFilter; } +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} export interface OrgLimitFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -10648,6 +11950,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -10661,6 +11969,38 @@ export interface OrgLimitFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} export interface OrgLimitAggregateFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -10678,6 +12018,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -11215,6 +12563,92 @@ export interface AppPermissionDefaultFilter { /** Negates the expression. */ not?: AppPermissionDefaultFilter; } +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} export interface MembershipTypeFilter { /** Filter by the object’s `id` field. */ id?: IntFilter; @@ -11316,6 +12750,14 @@ export interface AppLimitDefaultFilter { or?: AppLimitDefaultFilter[]; /** Negates the expression. */ not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; } export interface OrgLimitDefaultFilter { /** Filter by the object’s `id` field. */ @@ -11332,6 +12774,10 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; } export interface UserConnectedAccountFilter { /** Filter by the object’s `id` field. */ @@ -11383,6 +12829,54 @@ export interface CommitFilter { /** Negates the expression. */ not?: CommitFilter; } +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} export interface RateLimitsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -11465,6 +12959,68 @@ export interface OrgMembershipDefaultFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface RlsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} export interface AppLimitEventFilter { /** Filter by the object’s `name` field. */ name?: StringFilter; @@ -11517,46 +13073,6 @@ export interface OrgLimitEventFilter { /** Negates the expression. */ not?: OrgLimitEventFilter; } -export interface PlansModuleFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `databaseId` field. */ - databaseId?: UUIDFilter; - /** Filter by the object’s `schemaId` field. */ - schemaId?: UUIDFilter; - /** Filter by the object’s `privateSchemaId` field. */ - privateSchemaId?: UUIDFilter; - /** Filter by the object’s `plansTableId` field. */ - plansTableId?: UUIDFilter; - /** Filter by the object’s `plansTableName` field. */ - plansTableName?: StringFilter; - /** Filter by the object’s `planLimitsTableId` field. */ - planLimitsTableId?: UUIDFilter; - /** Filter by the object’s `planLimitsTableName` field. */ - planLimitsTableName?: StringFilter; - /** Filter by the object’s `applyPlanFunction` field. */ - applyPlanFunction?: StringFilter; - /** Filter by the object’s `applyPlanAggregateFunction` field. */ - applyPlanAggregateFunction?: StringFilter; - /** Filter by the object’s `prefix` field. */ - prefix?: StringFilter; - /** Checks for all expressions in this list. */ - and?: PlansModuleFilter[]; - /** Checks for any expressions in this list. */ - or?: PlansModuleFilter[]; - /** Negates the expression. */ - not?: PlansModuleFilter; - /** Filter by the object’s `database` relation. */ - database?: DatabaseFilter; - /** Filter by the object’s `planLimitsTable` relation. */ - planLimitsTable?: TableFilter; - /** Filter by the object’s `plansTable` relation. */ - plansTable?: TableFilter; - /** Filter by the object’s `privateSchema` relation. */ - privateSchema?: SchemaFilter; - /** Filter by the object’s `schema` relation. */ - schema?: SchemaFilter; -} export interface RlsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -11599,6 +13115,92 @@ export interface RlsModuleFilter { /** Filter by the object’s `usersTable` relation. */ usersTable?: TableFilter; } +export interface DatabaseSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: DatabaseSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: DatabaseSettingFilter[]; + /** Negates the expression. */ + not?: DatabaseSettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +export interface PlansModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `plansTableId` field. */ + plansTableId?: UUIDFilter; + /** Filter by the object’s `plansTableName` field. */ + plansTableName?: StringFilter; + /** Filter by the object’s `planLimitsTableId` field. */ + planLimitsTableId?: UUIDFilter; + /** Filter by the object’s `planLimitsTableName` field. */ + planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; + /** Filter by the object’s `applyPlanFunction` field. */ + applyPlanFunction?: StringFilter; + /** Filter by the object’s `applyPlanAggregateFunction` field. */ + applyPlanAggregateFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: PlansModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: PlansModuleFilter[]; + /** Negates the expression. */ + not?: PlansModuleFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `planLimitsTable` relation. */ + planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; + /** Filter by the object’s `plansTable` relation. */ + plansTable?: TableFilter; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} export interface SqlActionFilter { /** Filter by the object’s `id` field. */ id?: IntFilter; @@ -11876,6 +13478,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -11884,6 +13490,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -12022,6 +13636,88 @@ export interface OrgMembershipSettingFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} export interface AppMembershipFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -12064,6 +13760,82 @@ export interface AppMembershipFilter { /** Filter by the object’s `actor` relation. */ actor?: UserFilter; } +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} export interface HierarchyModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -12431,6 +14203,32 @@ export type SpatialRelationOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type PartitionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'TABLE_ID_ASC' + | 'TABLE_ID_DESC' + | 'STRATEGY_ASC' + | 'STRATEGY_DESC' + | 'PARTITION_KEY_ID_ASC' + | 'PARTITION_KEY_ID_DESC' + | 'INTERVAL_ASC' + | 'INTERVAL_DESC' + | 'RETENTION_ASC' + | 'RETENTION_DESC' + | 'LOOKAHEAD_ASC' + | 'LOOKAHEAD_DESC' + | 'NAMING_PATTERN_ASC' + | 'NAMING_PATTERN_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; export type ForeignKeyConstraintOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -12981,6 +14779,18 @@ export type EnumOrderBy = | 'SCOPE_DESC' | 'TAGS_ASC' | 'TAGS_DESC'; +export type FunctionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC'; export type ApiSchemaOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13065,6 +14875,18 @@ export type SiteThemeOrderBy = | 'SITE_ID_DESC' | 'THEME_ASC' | 'THEME_DESC'; +export type CorsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ALLOWED_ORIGINS_ASC' + | 'ALLOWED_ORIGINS_DESC'; export type TriggerFunctionOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13175,6 +14997,36 @@ export type AppOrderBy = | 'APP_ID_PREFIX_DESC' | 'PLAY_STORE_LINK_ASC' | 'PLAY_STORE_LINK_DESC'; +export type ApiSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; export type ConnectedAccountsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13433,8 +15285,26 @@ export type LimitsModuleOrderBy = | 'LIMIT_UPDATE_TRIGGER_DESC' | 'LIMIT_CHECK_FUNCTION_ASC' | 'LIMIT_CHECK_FUNCTION_DESC' + | 'LIMIT_CREDITS_TABLE_ID_ASC' + | 'LIMIT_CREDITS_TABLE_ID_DESC' + | 'EVENTS_TABLE_ID_ASC' + | 'EVENTS_TABLE_ID_DESC' + | 'CREDIT_CODES_TABLE_ID_ASC' + | 'CREDIT_CODES_TABLE_ID_DESC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_ASC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_DESC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_ASC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_DESC' | 'AGGREGATE_TABLE_ID_ASC' | 'AGGREGATE_TABLE_ID_DESC' + | 'LIMIT_CAPS_TABLE_ID_ASC' + | 'LIMIT_CAPS_TABLE_ID_DESC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_ASC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_DESC' + | 'CAP_CHECK_TRIGGER_ASC' + | 'CAP_CHECK_TRIGGER_DESC' + | 'RESOLVE_CAP_FUNCTION_ASC' + | 'RESOLVE_CAP_FUNCTION_DESC' | 'PREFIX_ASC' | 'PREFIX_DESC' | 'MEMBERSHIP_TYPE_ASC' @@ -13879,6 +15749,10 @@ export type StorageModuleOrderBy = | 'ALLOWED_ORIGINS_DESC' | 'RESTRICT_READS_ASC' | 'RESTRICT_READS_DESC' + | 'HAS_PATH_SHARES_ASC' + | 'HAS_PATH_SHARES_DESC' + | 'PATH_SHARES_TABLE_ID_ASC' + | 'PATH_SHARES_TABLE_ID_DESC' | 'UPLOAD_URL_EXPIRY_SECONDS_ASC' | 'UPLOAD_URL_EXPIRY_SECONDS_DESC' | 'DOWNLOAD_URL_EXPIRY_SECONDS_ASC' @@ -13888,7 +15762,21 @@ export type StorageModuleOrderBy = | 'MAX_FILENAME_LENGTH_ASC' | 'MAX_FILENAME_LENGTH_DESC' | 'CACHE_TTL_SECONDS_ASC' - | 'CACHE_TTL_SECONDS_DESC'; + | 'CACHE_TTL_SECONDS_DESC' + | 'MAX_BULK_FILES_ASC' + | 'MAX_BULK_FILES_DESC' + | 'MAX_BULK_TOTAL_SIZE_ASC' + | 'MAX_BULK_TOTAL_SIZE_DESC' + | 'HAS_VERSIONING_ASC' + | 'HAS_VERSIONING_DESC' + | 'HAS_CONTENT_HASH_ASC' + | 'HAS_CONTENT_HASH_DESC' + | 'HAS_CUSTOM_KEYS_ASC' + | 'HAS_CUSTOM_KEYS_DESC' + | 'HAS_AUDIT_LOG_ASC' + | 'HAS_AUDIT_LOG_DESC' + | 'FILE_EVENTS_TABLE_ID_ASC' + | 'FILE_EVENTS_TABLE_ID_DESC'; export type EntityTypeProvisionOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13939,6 +15827,8 @@ export type EntityTypeProvisionOrderBy = | 'OUT_BUCKETS_TABLE_ID_DESC' | 'OUT_FILES_TABLE_ID_ASC' | 'OUT_FILES_TABLE_ID_DESC' + | 'OUT_PATH_SHARES_TABLE_ID_ASC' + | 'OUT_PATH_SHARES_TABLE_ID_DESC' | 'OUT_INVITES_MODULE_ID_ASC' | 'OUT_INVITES_MODULE_ID_DESC'; export type WebauthnCredentialsModuleOrderBy = @@ -14320,7 +16210,53 @@ export type AppLimitOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; export type OrgLimitOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14341,8 +16277,32 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgLimitAggregateOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14362,7 +16322,15 @@ export type OrgLimitAggregateOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; export type AppStepOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14749,6 +16717,64 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; export type MembershipTypeOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14873,6 +16899,28 @@ export type CommitOrderBy = | 'TREE_ID_DESC' | 'DATE_ASC' | 'DATE_DESC'; +export type PubkeySettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CRYPTO_NETWORK_ASC' + | 'CRYPTO_NETWORK_DESC' + | 'USER_FIELD_ASC' + | 'USER_FIELD_DESC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_ASC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_DESC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_DESC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_ASC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_DESC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_DESC'; export type RateLimitsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14931,6 +16979,30 @@ export type OrgMembershipDefaultOrderBy = | 'IS_APPROVED_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +export type RlsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'AUTHENTICATE_SCHEMA_ID_ASC' + | 'AUTHENTICATE_SCHEMA_ID_DESC' + | 'ROLE_SCHEMA_ID_ASC' + | 'ROLE_SCHEMA_ID_DESC' + | 'AUTHENTICATE_FUNCTION_ID_ASC' + | 'AUTHENTICATE_FUNCTION_ID_DESC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_ASC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_DESC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_ASC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_DESC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_ASC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_DESC'; export type AppLimitEventOrderBy = | 'NATURAL' | 'NAME_ASC' @@ -14971,32 +17043,6 @@ export type OrgLimitEventOrderBy = | 'MAX_AT_EVENT_DESC' | 'REASON_ASC' | 'REASON_DESC'; -export type PlansModuleOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'DATABASE_ID_ASC' - | 'DATABASE_ID_DESC' - | 'SCHEMA_ID_ASC' - | 'SCHEMA_ID_DESC' - | 'PRIVATE_SCHEMA_ID_ASC' - | 'PRIVATE_SCHEMA_ID_DESC' - | 'PLANS_TABLE_ID_ASC' - | 'PLANS_TABLE_ID_DESC' - | 'PLANS_TABLE_NAME_ASC' - | 'PLANS_TABLE_NAME_DESC' - | 'PLAN_LIMITS_TABLE_ID_ASC' - | 'PLAN_LIMITS_TABLE_ID_DESC' - | 'PLAN_LIMITS_TABLE_NAME_ASC' - | 'PLAN_LIMITS_TABLE_NAME_DESC' - | 'APPLY_PLAN_FUNCTION_ASC' - | 'APPLY_PLAN_FUNCTION_DESC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' - | 'PREFIX_ASC' - | 'PREFIX_DESC'; export type RlsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15023,6 +17069,64 @@ export type RlsModuleOrderBy = | 'CURRENT_ROLE_DESC' | 'CURRENT_ROLE_ID_ASC' | 'CURRENT_ROLE_ID_DESC'; +export type DatabaseSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; +export type PlansModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PLANS_TABLE_ID_ASC' + | 'PLANS_TABLE_ID_DESC' + | 'PLANS_TABLE_NAME_ASC' + | 'PLANS_TABLE_NAME_DESC' + | 'PLAN_LIMITS_TABLE_ID_ASC' + | 'PLAN_LIMITS_TABLE_ID_DESC' + | 'PLAN_LIMITS_TABLE_NAME_ASC' + | 'PLAN_LIMITS_TABLE_NAME_DESC' + | 'PLAN_PRICING_TABLE_ID_ASC' + | 'PLAN_PRICING_TABLE_ID_DESC' + | 'PLAN_OVERRIDES_TABLE_ID_ASC' + | 'PLAN_OVERRIDES_TABLE_ID_DESC' + | 'APPLY_PLAN_FUNCTION_ASC' + | 'APPLY_PLAN_FUNCTION_DESC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; export type SqlActionOrderBy = | 'NATURAL' | 'ID_ASC' @@ -15169,6 +17273,46 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +export type WebauthnSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CREDENTIALS_SCHEMA_ID_ASC' + | 'CREDENTIALS_SCHEMA_ID_DESC' + | 'SESSIONS_SCHEMA_ID_ASC' + | 'SESSIONS_SCHEMA_ID_DESC' + | 'SESSION_SECRETS_SCHEMA_ID_ASC' + | 'SESSION_SECRETS_SCHEMA_ID_DESC' + | 'CREDENTIALS_TABLE_ID_ASC' + | 'CREDENTIALS_TABLE_ID_DESC' + | 'SESSIONS_TABLE_ID_ASC' + | 'SESSIONS_TABLE_ID_DESC' + | 'SESSION_CREDENTIALS_TABLE_ID_ASC' + | 'SESSION_CREDENTIALS_TABLE_ID_DESC' + | 'SESSION_SECRETS_TABLE_ID_ASC' + | 'SESSION_SECRETS_TABLE_ID_DESC' + | 'USER_FIELD_ID_ASC' + | 'USER_FIELD_ID_DESC' + | 'RP_ID_ASC' + | 'RP_ID_DESC' + | 'RP_NAME_ASC' + | 'RP_NAME_DESC' + | 'ORIGIN_ALLOWLIST_ASC' + | 'ORIGIN_ALLOWLIST_DESC' + | 'ATTESTATION_TYPE_ASC' + | 'ATTESTATION_TYPE_DESC' + | 'REQUIRE_USER_VERIFICATION_ASC' + | 'REQUIRE_USER_VERIFICATION_DESC' + | 'RESIDENT_KEY_ASC' + | 'RESIDENT_KEY_DESC' + | 'CHALLENGE_EXPIRY_SECONDS_ASC' + | 'CHALLENGE_EXPIRY_SECONDS_DESC'; export type AppMembershipOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15205,6 +17349,50 @@ export type AppMembershipOrderBy = | 'ACTOR_ID_DESC' | 'PROFILE_ID_ASC' | 'PROFILE_ID_DESC'; +export type BillingProviderModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PROVIDER_ASC' + | 'PROVIDER_DESC' + | 'PRODUCTS_TABLE_ID_ASC' + | 'PRODUCTS_TABLE_ID_DESC' + | 'PRICES_TABLE_ID_ASC' + | 'PRICES_TABLE_ID_DESC' + | 'SUBSCRIPTIONS_TABLE_ID_ASC' + | 'SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_ID_ASC' + | 'BILLING_CUSTOMERS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_NAME_ASC' + | 'BILLING_CUSTOMERS_TABLE_NAME_DESC' + | 'BILLING_PRODUCTS_TABLE_ID_ASC' + | 'BILLING_PRODUCTS_TABLE_ID_DESC' + | 'BILLING_PRODUCTS_TABLE_NAME_ASC' + | 'BILLING_PRODUCTS_TABLE_NAME_DESC' + | 'BILLING_PRICES_TABLE_ID_ASC' + | 'BILLING_PRICES_TABLE_ID_DESC' + | 'BILLING_PRICES_TABLE_NAME_ASC' + | 'BILLING_PRICES_TABLE_NAME_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_DESC' + | 'PROCESS_BILLING_EVENT_FUNCTION_ASC' + | 'PROCESS_BILLING_EVENT_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; export type HierarchyModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15658,6 +17846,38 @@ export interface DeleteSpatialRelationInput { clientMutationId?: string; id: string; } +export interface CreatePartitionInput { + clientMutationId?: string; + partition: { + databaseId: string; + tableId: string; + strategy: string; + partitionKeyId: string; + interval?: string; + retention?: string; + lookahead?: number; + namingPattern?: string; + }; +} +export interface PartitionPatch { + databaseId?: string | null; + tableId?: string | null; + strategy?: string | null; + partitionKeyId?: string | null; + interval?: string | null; + retention?: string | null; + lookahead?: number | null; + namingPattern?: string | null; +} +export interface UpdatePartitionInput { + clientMutationId?: string; + id: string; + partitionPatch: PartitionPatch; +} +export interface DeletePartitionInput { + clientMutationId?: string; + id: string; +} export interface CreateForeignKeyConstraintInput { clientMutationId?: string; foreignKeyConstraint: { @@ -16368,6 +18588,28 @@ export interface DeleteEnumInput { clientMutationId?: string; id: string; } +export interface CreateFunctionInput { + clientMutationId?: string; + function: { + databaseId: string; + schemaId: string; + name: string; + }; +} +export interface FunctionPatch { + databaseId?: string | null; + schemaId?: string | null; + name?: string | null; +} +export interface UpdateFunctionInput { + clientMutationId?: string; + id: string; + functionPatch: FunctionPatch; +} +export interface DeleteFunctionInput { + clientMutationId?: string; + id: string; +} export interface CreateApiSchemaInput { clientMutationId?: string; apiSchema: { @@ -16513,6 +18755,28 @@ export interface DeleteSiteThemeInput { clientMutationId?: string; id: string; } +export interface CreateCorsSettingInput { + clientMutationId?: string; + corsSetting: { + databaseId: string; + apiId?: string; + allowedOrigins?: string[]; + }; +} +export interface CorsSettingPatch { + databaseId?: string | null; + apiId?: string | null; + allowedOrigins?: string[] | null; +} +export interface UpdateCorsSettingInput { + clientMutationId?: string; + id: string; + corsSettingPatch: CorsSettingPatch; +} +export interface DeleteCorsSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateTriggerFunctionInput { clientMutationId?: string; triggerFunction: { @@ -16670,6 +18934,46 @@ export interface DeleteAppInput { clientMutationId?: string; id: string; } +export interface CreateApiSettingInput { + clientMutationId?: string; + apiSetting: { + databaseId: string; + apiId: string; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: Record; + }; +} +export interface ApiSettingPatch { + databaseId?: string | null; + apiId?: string | null; + enableAggregates?: boolean | null; + enablePostgis?: boolean | null; + enableSearch?: boolean | null; + enableDirectUploads?: boolean | null; + enablePresignedUploads?: boolean | null; + enableManyToMany?: boolean | null; + enableConnectionFilter?: boolean | null; + enableLtree?: boolean | null; + enableLlm?: boolean | null; + options?: Record | null; +} +export interface UpdateApiSettingInput { + clientMutationId?: string; + id: string; + apiSettingPatch: ApiSettingPatch; +} +export interface DeleteApiSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateConnectedAccountsModuleInput { clientMutationId?: string; connectedAccountsModule: { @@ -17002,7 +19306,16 @@ export interface CreateLimitsModuleInput { limitDecrementTrigger?: string; limitUpdateTrigger?: string; limitCheckFunction?: string; + limitCreditsTableId?: string; + eventsTableId?: string; + creditCodesTableId?: string; + creditCodeItemsTableId?: string; + creditRedemptionsTableId?: string; aggregateTableId?: string; + limitCapsTableId?: string; + limitCapsDefaultsTableId?: string; + capCheckTrigger?: string; + resolveCapFunction?: string; prefix?: string; membershipType: number; entityTableId?: string; @@ -17023,7 +19336,16 @@ export interface LimitsModulePatch { limitDecrementTrigger?: string | null; limitUpdateTrigger?: string | null; limitCheckFunction?: string | null; + limitCreditsTableId?: string | null; + eventsTableId?: string | null; + creditCodesTableId?: string | null; + creditCodeItemsTableId?: string | null; + creditRedemptionsTableId?: string | null; aggregateTableId?: string | null; + limitCapsTableId?: string | null; + limitCapsDefaultsTableId?: string | null; + capCheckTrigger?: string | null; + resolveCapFunction?: string | null; prefix?: string | null; membershipType?: number | null; entityTableId?: string | null; @@ -17563,11 +19885,20 @@ export interface CreateStorageModuleInput { provider?: string; allowedOrigins?: string[]; restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: string; uploadUrlExpirySeconds?: number; downloadUrlExpirySeconds?: number; defaultMaxFileSize?: string; maxFilenameLength?: number; cacheTtlSeconds?: number; + maxBulkFiles?: number; + maxBulkTotalSize?: string; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: string; }; } export interface StorageModulePatch { @@ -17587,11 +19918,20 @@ export interface StorageModulePatch { provider?: string | null; allowedOrigins?: string[] | null; restrictReads?: boolean | null; + hasPathShares?: boolean | null; + pathSharesTableId?: string | null; uploadUrlExpirySeconds?: number | null; downloadUrlExpirySeconds?: number | null; defaultMaxFileSize?: string | null; maxFilenameLength?: number | null; cacheTtlSeconds?: number | null; + maxBulkFiles?: number | null; + maxBulkTotalSize?: string | null; + hasVersioning?: boolean | null; + hasContentHash?: boolean | null; + hasCustomKeys?: boolean | null; + hasAuditLog?: boolean | null; + fileEventsTableId?: string | null; } export interface UpdateStorageModuleInput { clientMutationId?: string; @@ -17627,6 +19967,7 @@ export interface CreateEntityTypeProvisionInput { outStorageModuleId?: string; outBucketsTableId?: string; outFilesTableId?: string; + outPathSharesTableId?: string; outInvitesModuleId?: string; }; } @@ -17653,6 +19994,7 @@ export interface EntityTypeProvisionPatch { outStorageModuleId?: string | null; outBucketsTableId?: string | null; outFilesTableId?: string | null; + outPathSharesTableId?: string | null; outInvitesModuleId?: string | null; } export interface UpdateEntityTypeProvisionInput { @@ -18153,6 +20495,9 @@ export interface CreateAppLimitInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; }; } export interface AppLimitPatch { @@ -18163,6 +20508,9 @@ export interface AppLimitPatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; } export interface UpdateAppLimitInput { clientMutationId?: string; @@ -18173,6 +20521,76 @@ export interface DeleteAppLimitInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + appLimitCredit: { + defaultLimitId: string; + actorId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface AppLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + appLimitCreditPatch: AppLimitCreditPatch; +} +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + appLimitCreditCodeItem: { + creditCodeId: string; + defaultLimitId: string; + amount: string; + creditType?: string; + }; +} +export interface AppLimitCreditCodeItemPatch { + creditCodeId?: string | null; + defaultLimitId?: string | null; + amount?: string | null; + creditType?: string | null; +} +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + appLimitCreditRedemption: { + creditCodeId: string; + entityId: string; + }; +} +export interface AppLimitCreditRedemptionPatch { + creditCodeId?: string | null; + entityId?: string | null; +} +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgLimitInput { clientMutationId?: string; orgLimit: { @@ -18183,6 +20601,9 @@ export interface CreateOrgLimitInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; entityId: string; }; } @@ -18194,6 +20615,9 @@ export interface OrgLimitPatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; entityId?: string | null; } export interface UpdateOrgLimitInput { @@ -18205,6 +20629,34 @@ export interface DeleteOrgLimitInput { clientMutationId?: string; id: string; } +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + orgLimitCredit: { + defaultLimitId: string; + actorId?: string; + entityId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface OrgLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + entityId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgLimitAggregateInput { clientMutationId?: string; orgLimitAggregate: { @@ -18215,6 +20667,10 @@ export interface CreateOrgLimitAggregateInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + reserved?: string; }; } export interface OrgLimitAggregatePatch { @@ -18225,6 +20681,10 @@ export interface OrgLimitAggregatePatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + reserved?: string | null; } export interface UpdateOrgLimitAggregateInput { clientMutationId?: string; @@ -18766,6 +21226,114 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + appLimitCreditCode: { + code: string; + maxRedemptions?: number; + currentRedemptions?: number; + expiresAt?: string; + }; +} +export interface AppLimitCreditCodePatch { + code?: string | null; + maxRedemptions?: number | null; + currentRedemptions?: number | null; + expiresAt?: string | null; +} +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + appLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface AppLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + orgLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface OrgLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + appLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface AppLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + appLimitCapPatch: AppLimitCapPatch; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + orgLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface OrgLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + orgLimitCapPatch: OrgLimitCapPatch; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface CreateMembershipTypeInput { clientMutationId?: string; membershipType: { @@ -18972,6 +21540,38 @@ export interface DeleteCommitInput { clientMutationId?: string; id: string; } +export interface CreatePubkeySettingInput { + clientMutationId?: string; + pubkeySetting: { + databaseId: string; + schemaId?: string; + cryptoNetwork?: string; + userField?: string; + signUpWithKeyFunctionId?: string; + signInRequestChallengeFunctionId?: string; + signInRecordFailureFunctionId?: string; + signInWithChallengeFunctionId?: string; + }; +} +export interface PubkeySettingPatch { + databaseId?: string | null; + schemaId?: string | null; + cryptoNetwork?: string | null; + userField?: string | null; + signUpWithKeyFunctionId?: string | null; + signInRequestChallengeFunctionId?: string | null; + signInRecordFailureFunctionId?: string | null; + signInWithChallengeFunctionId?: string | null; +} +export interface UpdatePubkeySettingInput { + clientMutationId?: string; + id: string; + pubkeySettingPatch: PubkeySettingPatch; +} +export interface DeletePubkeySettingInput { + clientMutationId?: string; + id: string; +} export interface CreateRateLimitsModuleInput { clientMutationId?: string; rateLimitsModule: { @@ -19052,6 +21652,40 @@ export interface DeleteOrgMembershipDefaultInput { clientMutationId?: string; id: string; } +export interface CreateRlsSettingInput { + clientMutationId?: string; + rlsSetting: { + databaseId: string; + authenticateSchemaId?: string; + roleSchemaId?: string; + authenticateFunctionId?: string; + authenticateStrictFunctionId?: string; + currentRoleFunctionId?: string; + currentRoleIdFunctionId?: string; + currentUserAgentFunctionId?: string; + currentIpAddressFunctionId?: string; + }; +} +export interface RlsSettingPatch { + databaseId?: string | null; + authenticateSchemaId?: string | null; + roleSchemaId?: string | null; + authenticateFunctionId?: string | null; + authenticateStrictFunctionId?: string | null; + currentRoleFunctionId?: string | null; + currentRoleIdFunctionId?: string | null; + currentUserAgentFunctionId?: string | null; + currentIpAddressFunctionId?: string | null; +} +export interface UpdateRlsSettingInput { + clientMutationId?: string; + id: string; + rlsSettingPatch: RlsSettingPatch; +} +export interface DeleteRlsSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateAppLimitEventInput { clientMutationId?: string; appLimitEvent: { @@ -19120,42 +21754,6 @@ export interface DeleteOrgLimitEventInput { clientMutationId?: string; id: string; } -export interface CreatePlansModuleInput { - clientMutationId?: string; - plansModule: { - databaseId: string; - schemaId?: string; - privateSchemaId?: string; - plansTableId?: string; - plansTableName?: string; - planLimitsTableId?: string; - planLimitsTableName?: string; - applyPlanFunction?: string; - applyPlanAggregateFunction?: string; - prefix?: string; - }; -} -export interface PlansModulePatch { - databaseId?: string | null; - schemaId?: string | null; - privateSchemaId?: string | null; - plansTableId?: string | null; - plansTableName?: string | null; - planLimitsTableId?: string | null; - planLimitsTableName?: string | null; - applyPlanFunction?: string | null; - applyPlanAggregateFunction?: string | null; - prefix?: string | null; -} -export interface UpdatePlansModuleInput { - clientMutationId?: string; - id: string; - plansModulePatch: PlansModulePatch; -} -export interface DeletePlansModuleInput { - clientMutationId?: string; - id: string; -} export interface CreateRlsModuleInput { clientMutationId?: string; rlsModule: { @@ -19192,6 +21790,84 @@ export interface DeleteRlsModuleInput { clientMutationId?: string; id: string; } +export interface CreateDatabaseSettingInput { + clientMutationId?: string; + databaseSetting: { + databaseId: string; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: Record; + }; +} +export interface DatabaseSettingPatch { + databaseId?: string | null; + enableAggregates?: boolean | null; + enablePostgis?: boolean | null; + enableSearch?: boolean | null; + enableDirectUploads?: boolean | null; + enablePresignedUploads?: boolean | null; + enableManyToMany?: boolean | null; + enableConnectionFilter?: boolean | null; + enableLtree?: boolean | null; + enableLlm?: boolean | null; + options?: Record | null; +} +export interface UpdateDatabaseSettingInput { + clientMutationId?: string; + id: string; + databaseSettingPatch: DatabaseSettingPatch; +} +export interface DeleteDatabaseSettingInput { + clientMutationId?: string; + id: string; +} +export interface CreatePlansModuleInput { + clientMutationId?: string; + plansModule: { + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + plansTableId?: string; + plansTableName?: string; + planLimitsTableId?: string; + planLimitsTableName?: string; + planPricingTableId?: string; + planOverridesTableId?: string; + applyPlanFunction?: string; + applyPlanAggregateFunction?: string; + prefix?: string; + }; +} +export interface PlansModulePatch { + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + plansTableId?: string | null; + plansTableName?: string | null; + planLimitsTableId?: string | null; + planLimitsTableName?: string | null; + planPricingTableId?: string | null; + planOverridesTableId?: string | null; + applyPlanFunction?: string | null; + applyPlanAggregateFunction?: string | null; + prefix?: string | null; +} +export interface UpdatePlansModuleInput { + clientMutationId?: string; + id: string; + plansModulePatch: PlansModulePatch; +} +export interface DeletePlansModuleInput { + clientMutationId?: string; + id: string; +} export interface CreateSqlActionInput { clientMutationId?: string; sqlAction: { @@ -19373,6 +22049,56 @@ export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } +export interface CreateWebauthnSettingInput { + clientMutationId?: string; + webauthnSetting: { + databaseId: string; + schemaId?: string; + credentialsSchemaId?: string; + sessionsSchemaId?: string; + sessionSecretsSchemaId?: string; + credentialsTableId?: string; + sessionsTableId?: string; + sessionCredentialsTableId?: string; + sessionSecretsTableId?: string; + userFieldId?: string; + rpId?: string; + rpName?: string; + originAllowlist?: string[]; + attestationType?: string; + requireUserVerification?: boolean; + residentKey?: string; + challengeExpirySeconds?: string; + }; +} +export interface WebauthnSettingPatch { + databaseId?: string | null; + schemaId?: string | null; + credentialsSchemaId?: string | null; + sessionsSchemaId?: string | null; + sessionSecretsSchemaId?: string | null; + credentialsTableId?: string | null; + sessionsTableId?: string | null; + sessionCredentialsTableId?: string | null; + sessionSecretsTableId?: string | null; + userFieldId?: string | null; + rpId?: string | null; + rpName?: string | null; + originAllowlist?: string[] | null; + attestationType?: string | null; + requireUserVerification?: boolean | null; + residentKey?: string | null; + challengeExpirySeconds?: string | null; +} +export interface UpdateWebauthnSettingInput { + clientMutationId?: string; + id: string; + webauthnSettingPatch: WebauthnSettingPatch; +} +export interface DeleteWebauthnSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateAppMembershipInput { clientMutationId?: string; appMembership: { @@ -19415,6 +22141,60 @@ export interface DeleteAppMembershipInput { clientMutationId?: string; id: string; } +export interface CreateBillingProviderModuleInput { + clientMutationId?: string; + billingProviderModule: { + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + provider?: string; + productsTableId?: string; + pricesTableId?: string; + subscriptionsTableId?: string; + billingCustomersTableId?: string; + billingCustomersTableName?: string; + billingProductsTableId?: string; + billingProductsTableName?: string; + billingPricesTableId?: string; + billingPricesTableName?: string; + billingSubscriptionsTableId?: string; + billingSubscriptionsTableName?: string; + billingWebhookEventsTableId?: string; + billingWebhookEventsTableName?: string; + processBillingEventFunction?: string; + prefix?: string; + }; +} +export interface BillingProviderModulePatch { + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + provider?: string | null; + productsTableId?: string | null; + pricesTableId?: string | null; + subscriptionsTableId?: string | null; + billingCustomersTableId?: string | null; + billingCustomersTableName?: string | null; + billingProductsTableId?: string | null; + billingProductsTableName?: string | null; + billingPricesTableId?: string | null; + billingPricesTableName?: string | null; + billingSubscriptionsTableId?: string | null; + billingSubscriptionsTableName?: string | null; + billingWebhookEventsTableId?: string | null; + billingWebhookEventsTableName?: string | null; + processBillingEventFunction?: string | null; + prefix?: string | null; +} +export interface UpdateBillingProviderModuleInput { + clientMutationId?: string; + id: string; + billingProviderModulePatch: BillingProviderModulePatch; +} +export interface DeleteBillingProviderModuleInput { + clientMutationId?: string; + id: string; +} export interface CreateHierarchyModuleInput { clientMutationId?: string; hierarchyModule: { @@ -19491,7 +22271,9 @@ export const connectionFieldsMap = { enums: 'Enum', embeddingChunks: 'EmbeddingChunk', spatialRelations: 'SpatialRelation', + functions: 'Function', databaseTransfers: 'DatabaseTransfer', + partitions: 'Partition', apis: 'Api', apiModules: 'ApiModule', apiSchemas: 'ApiSchema', @@ -19501,6 +22283,8 @@ export const connectionFieldsMap = { siteMetadata: 'SiteMetadatum', siteModules: 'SiteModule', siteThemes: 'SiteTheme', + apiSettings: 'ApiSetting', + corsSettings: 'CorsSetting', connectedAccountsModules: 'ConnectedAccountsModule', cryptoAddressesModules: 'CryptoAddressesModule', cryptoAuthModules: 'CryptoAuthModule', @@ -19539,6 +22323,7 @@ export const connectionFieldsMap = { views: 'View', defaultPrivileges: 'DefaultPrivilege', enums: 'Enum', + functions: 'Function', apiSchemas: 'ApiSchema', sessionSecretsModules: 'SessionSecretsModule', identityProvidersModulesByPrivateSchemaId: 'IdentityProvidersModule', @@ -19571,6 +22356,7 @@ export const connectionFieldsMap = { Field: { spatialRelations: 'SpatialRelation', spatialRelationsByRefFieldId: 'SpatialRelation', + partitionsByPartitionKeyId: 'Partition', }, View: { viewTables: 'ViewTable', @@ -19581,6 +22367,7 @@ export const connectionFieldsMap = { apiModules: 'ApiModule', apiSchemas: 'ApiSchema', domains: 'Domain', + corsSettings: 'CorsSetting', }, Site: { domains: 'Domain', @@ -19599,6 +22386,17 @@ export const connectionFieldsMap = { agentMessagesByThreadId: 'AgentMessage', agentTasksByThreadId: 'AgentTask', }, + AppLimitCreditCode: { + appLimitCreditCodeItemsByCreditCodeId: 'AppLimitCreditCodeItem', + appLimitCreditRedemptionsByCreditCodeId: 'AppLimitCreditRedemption', + }, + AppLimitDefault: { + appLimitCreditsByDefaultLimitId: 'AppLimitCredit', + appLimitCreditCodeItemsByDefaultLimitId: 'AppLimitCreditCodeItem', + }, + OrgLimitDefault: { + orgLimitCreditsByDefaultLimitId: 'OrgLimitCredit', + }, User: { ownedDatabases: 'Database', appAdminGrantsByActorId: 'AppAdminGrant', @@ -19631,8 +22429,11 @@ export const connectionFieldsMap = { childOrgChartEdgeGrants: 'OrgChartEdgeGrant', orgPermissionDefaultsByEntityId: 'OrgPermissionDefault', appLimitsByActorId: 'AppLimit', + appLimitCreditsByActorId: 'AppLimitCredit', orgLimitsByActorId: 'OrgLimit', orgLimitsByEntityId: 'OrgLimit', + orgLimitCreditsByActorId: 'OrgLimitCredit', + orgLimitCreditsByEntityId: 'OrgLimitCredit', orgLimitAggregatesByEntityId: 'OrgLimitAggregate', appStepsByActorId: 'AppStep', appAchievementsByActorId: 'AppAchievement', @@ -19788,6 +22589,11 @@ export interface SetFieldOrderInput { clientMutationId?: string; fieldIds?: string[]; } +export interface AppendSmartTagsInput { + clientMutationId?: string; + pTableId?: string; + pTags?: Record; +} export interface ProvisionUniqueConstraintInput { clientMutationId?: string; databaseId?: string; @@ -19963,25 +22769,6 @@ export interface ProvisionTableInput { uniqueConstraints?: Record; description?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -20180,6 +22967,15 @@ export interface DatabaseToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where at least one related entity matches. */ @@ -20189,6 +22985,15 @@ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where no related entity matches. */ none?: DatabaseTransferFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `Api` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyApiFilter { /** Filters to entities where at least one related entity matches. */ @@ -20270,6 +23075,24 @@ export interface DatabaseToManySiteThemeFilter { /** Filters to entities where no related entity matches. */ none?: SiteThemeFilter; } +/** A filter to be used against many `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyApiSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: ApiSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: ApiSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: ApiSettingFilter; +} +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} /** A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyConnectedAccountsModuleFilter { /** Filters to entities where at least one related entity matches. */ @@ -20619,6 +23442,15 @@ export interface SchemaToManyEnumFilter { /** Filters to entities where no related entity matches. */ none?: EnumFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface SchemaToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ */ export interface SchemaToManyApiSchemaFilter { /** Filters to entities where at least one related entity matches. */ @@ -20817,6 +23649,15 @@ export interface FieldToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface FieldToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ */ export interface ViewToManyViewTableFilter { /** Filters to entities where at least one related entity matches. */ @@ -21022,6 +23863,15 @@ export interface ApiToManyDomainFilter { /** Filters to entities where no related entity matches. */ none?: DomainFilter; } +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} /** A filter to be used against ConstructiveInternalTypeAttachment fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeAttachmentFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21453,6 +24303,24 @@ export interface AgentThreadToManyAgentTaskFilter { /** Filters to entities where no related entity matches. */ none?: AgentTaskFilter; } +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} /** A filter to be used against ConstructiveInternalTypeUpload fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeUploadFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21488,6 +24356,33 @@ export interface ConstructiveInternalTypeUploadFilter { /** Contained by the specified JSON. */ containedBy?: ConstructiveInternalTypeUpload; } +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against String fields with pg_trgm support. All fields are combined with a logical ‘and.’ */ export interface StringTrgmFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21695,6 +24590,15 @@ export interface UserToManyAppLimitFilter { /** Filters to entities where no related entity matches. */ none?: AppLimitFilter; } +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} /** A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitFilter { /** Filters to entities where at least one related entity matches. */ @@ -21704,6 +24608,15 @@ export interface UserToManyOrgLimitFilter { /** Filters to entities where no related entity matches. */ none?: OrgLimitFilter; } +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against many `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitAggregateFilter { /** Filters to entities where at least one related entity matches. */ @@ -21932,6 +24845,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -22067,6 +24984,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -22201,6 +25122,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } /** A filter to be used against `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ */ export interface ForeignKeyConstraintFilter { @@ -22867,6 +25792,27 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +/** A filter to be used against `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} /** A filter to be used against `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseTransferFilter { /** Filter by the object’s `id` field. */ @@ -22906,6 +25852,43 @@ export interface DatabaseTransferFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +/** A filter to be used against `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} /** A filter to be used against `Api` object types. All fields are combined with a logical ‘and.’ */ export interface ApiFilter { /** Filter by the object’s `id` field. */ @@ -22942,6 +25925,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } /** A filter to be used against `ApiModule` object types. All fields are combined with a logical ‘and.’ */ export interface ApiModuleFilter { @@ -23165,6 +26156,68 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +/** A filter to be used against `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} /** A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ export interface ConnectedAccountsModuleFilter { /** Filter by the object’s `id` field. */ @@ -23564,8 +26617,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -23586,6 +26657,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -23594,6 +26677,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -24298,6 +27397,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -24308,6 +27411,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -24322,8 +27439,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -24377,6 +27502,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -24796,6 +27923,106 @@ export interface AgentTaskFilter { /** Filter by the object’s `thread` relation. */ thread?: AgentThreadFilter; } +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} /** A filter to be used against `Database` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseFilter { /** Filter by the object’s `id` field. */ @@ -24908,10 +28135,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -24948,6 +28183,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -25092,6 +28351,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -25493,6 +28756,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -25520,6 +28789,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -25551,6 +28826,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -26465,6 +29748,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -26473,6 +29760,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -26573,6 +29868,309 @@ export interface UserFilter { */ unifiedSearch?: string; } +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `DatabaseSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: DatabaseSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: DatabaseSettingFilter[]; + /** Negates the expression. */ + not?: DatabaseSettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against `RlsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface RlsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} +/** A filter to be used against `PubkeySetting` object types. All fields are combined with a logical ‘and.’ */ +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} +/** A filter to be used against `WebauthnSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} /** A filter to be used against `RlsModule` object types. All fields are combined with a logical ‘and.’ */ export interface RlsModuleFilter { /** Filter by the object’s `id` field. */ @@ -26767,6 +30365,10 @@ export interface PlansModuleFilter { planLimitsTableId?: UUIDFilter; /** Filter by the object’s `planLimitsTableName` field. */ planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; /** Filter by the object’s `applyPlanFunction` field. */ applyPlanFunction?: StringFilter; /** Filter by the object’s `applyPlanAggregateFunction` field. */ @@ -26783,6 +30385,14 @@ export interface PlansModuleFilter { database?: DatabaseFilter; /** Filter by the object’s `planLimitsTable` relation. */ planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; /** Filter by the object’s `plansTable` relation. */ plansTable?: TableFilter; /** Filter by the object’s `privateSchema` relation. */ @@ -26841,6 +30451,83 @@ export interface BillingModuleFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +/** A filter to be used against `BillingProviderModule` object types. All fields are combined with a logical ‘and.’ */ +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} /** A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ */ export interface BitStringFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -27317,6 +31004,12 @@ export interface SetFieldOrderPayload { export type SetFieldOrderPayloadSelect = { clientMutationId?: boolean; }; +export interface AppendSmartTagsPayload { + clientMutationId?: string | null; +} +export type AppendSmartTagsPayloadSelect = { + clientMutationId?: boolean; +}; export interface ProvisionUniqueConstraintPayload { clientMutationId?: string | null; } @@ -27495,25 +31188,6 @@ export type ProvisionTablePayloadSelect = { select: ProvisionTableRecordSelect; }; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -27986,6 +31660,51 @@ export type DeleteSpatialRelationPayloadSelect = { select: SpatialRelationEdgeSelect; }; }; +export interface CreatePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was created by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type CreatePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; +export interface UpdatePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was updated by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type UpdatePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; +export interface DeletePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was deleted by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type DeletePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; export interface CreateForeignKeyConstraintPayload { clientMutationId?: string | null; /** The `ForeignKeyConstraint` that was created by this mutation. */ @@ -28886,6 +32605,51 @@ export type DeleteEnumPayloadSelect = { select: EnumEdgeSelect; }; }; +export interface CreateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was created by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type CreateFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; +export interface UpdateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was updated by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type UpdateFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; +export interface DeleteFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was deleted by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type DeleteFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; export interface CreateApiSchemaPayload { clientMutationId?: string | null; /** The `ApiSchema` that was created by this mutation. */ @@ -29156,6 +32920,51 @@ export type DeleteSiteThemePayloadSelect = { select: SiteThemeEdgeSelect; }; }; +export interface CreateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was created by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type CreateCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; +export interface UpdateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was updated by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type UpdateCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; +export interface DeleteCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was deleted by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type DeleteCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; export interface CreateTriggerFunctionPayload { clientMutationId?: string | null; /** The `TriggerFunction` that was created by this mutation. */ @@ -29381,6 +33190,51 @@ export type DeleteAppPayloadSelect = { select: AppEdgeSelect; }; }; +export interface CreateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was created by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type CreateApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; +export interface UpdateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was updated by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type UpdateApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; +export interface DeleteApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was deleted by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type DeleteApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; export interface CreateConnectedAccountsModulePayload { clientMutationId?: string | null; /** The `ConnectedAccountsModule` that was created by this mutation. */ @@ -31226,6 +35080,141 @@ export type DeleteAppLimitPayloadSelect = { select: AppLimitEdgeSelect; }; }; +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type CreateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type UpdateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type DeleteAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type CreateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type UpdateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type DeleteAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type CreateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type UpdateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type DeleteAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; export interface CreateOrgLimitPayload { clientMutationId?: string | null; /** The `OrgLimit` that was created by this mutation. */ @@ -31271,6 +35260,51 @@ export type DeleteOrgLimitPayloadSelect = { select: OrgLimitEdgeSelect; }; }; +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type CreateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type UpdateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type DeleteOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; export interface CreateOrgLimitAggregatePayload { clientMutationId?: string | null; /** The `OrgLimitAggregate` that was created by this mutation. */ @@ -32182,6 +36216,231 @@ export type DeleteAppPermissionDefaultPayloadSelect = { select: AppPermissionDefaultEdgeSelect; }; }; +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type CreateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type UpdateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type DeleteAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type CreateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type UpdateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type DeleteAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type CreateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type UpdateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type DeleteOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type CreateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type UpdateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type DeleteAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type CreateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type UpdateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type DeleteOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; export interface CreateMembershipTypePayload { clientMutationId?: string | null; /** The `MembershipType` that was created by this mutation. */ @@ -32474,6 +36733,51 @@ export type DeleteCommitPayloadSelect = { select: CommitEdgeSelect; }; }; +export interface CreatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was created by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type CreatePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; +export interface UpdatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was updated by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type UpdatePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; +export interface DeletePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was deleted by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type DeletePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; export interface CreateRateLimitsModulePayload { clientMutationId?: string | null; /** The `RateLimitsModule` that was created by this mutation. */ @@ -32609,6 +36913,51 @@ export type DeleteOrgMembershipDefaultPayloadSelect = { select: OrgMembershipDefaultEdgeSelect; }; }; +export interface CreateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was created by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type CreateRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; +export interface UpdateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was updated by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type UpdateRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; +export interface DeleteRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was deleted by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type DeleteRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; export interface CreateAppLimitEventPayload { clientMutationId?: string | null; /** The `AppLimitEvent` that was created by this mutation. */ @@ -32631,51 +36980,6 @@ export type CreateOrgLimitEventPayloadSelect = { select: OrgLimitEventSelect; }; }; -export interface CreatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was created by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type CreatePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; -export interface UpdatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was updated by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type UpdatePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; -export interface DeletePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was deleted by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type DeletePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; export interface CreateRlsModulePayload { clientMutationId?: string | null; /** The `RlsModule` that was created by this mutation. */ @@ -32721,6 +37025,96 @@ export type DeleteRlsModulePayloadSelect = { select: RlsModuleEdgeSelect; }; }; +export interface CreateDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was created by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type CreateDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface UpdateDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was updated by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type UpdateDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface DeleteDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was deleted by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type DeleteDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface CreatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was created by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type CreatePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; +export interface UpdatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was updated by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type UpdatePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; +export interface DeletePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was deleted by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type DeletePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; export interface CreateSqlActionPayload { clientMutationId?: string | null; /** The `SqlAction` that was created by this mutation. */ @@ -32878,6 +37272,51 @@ export type DeleteOrgMembershipSettingPayloadSelect = { select: OrgMembershipSettingEdgeSelect; }; }; +export interface CreateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was created by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type CreateWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; +export interface UpdateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was updated by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type UpdateWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; +export interface DeleteWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was deleted by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type DeleteWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; export interface CreateAppMembershipPayload { clientMutationId?: string | null; /** The `AppMembership` that was created by this mutation. */ @@ -32923,6 +37362,51 @@ export type DeleteAppMembershipPayloadSelect = { select: AppMembershipEdgeSelect; }; }; +export interface CreateBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was created by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type CreateBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; +export interface UpdateBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was updated by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type UpdateBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; +export interface DeleteBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was deleted by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type DeleteBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; export interface CreateHierarchyModulePayload { clientMutationId?: string | null; /** The `HierarchyModule` that was created by this mutation. */ @@ -33225,6 +37709,18 @@ export type SpatialRelationEdgeSelect = { select: SpatialRelationSelect; }; }; +/** A `Partition` edge in the connection. */ +export interface PartitionEdge { + cursor?: string | null; + /** The `Partition` at the end of the edge. */ + node?: Partition | null; +} +export type PartitionEdgeSelect = { + cursor?: boolean; + node?: { + select: PartitionSelect; + }; +}; /** A `ForeignKeyConstraint` edge in the connection. */ export interface ForeignKeyConstraintEdge { cursor?: string | null; @@ -33465,6 +37961,18 @@ export type EnumEdgeSelect = { select: EnumSelect; }; }; +/** A `Function` edge in the connection. */ +export interface FunctionEdge { + cursor?: string | null; + /** The `Function` at the end of the edge. */ + node?: Function | null; +} +export type FunctionEdgeSelect = { + cursor?: boolean; + node?: { + select: FunctionSelect; + }; +}; /** A `ApiSchema` edge in the connection. */ export interface ApiSchemaEdge { cursor?: string | null; @@ -33537,6 +38045,18 @@ export type SiteThemeEdgeSelect = { select: SiteThemeSelect; }; }; +/** A `CorsSetting` edge in the connection. */ +export interface CorsSettingEdge { + cursor?: string | null; + /** The `CorsSetting` at the end of the edge. */ + node?: CorsSetting | null; +} +export type CorsSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: CorsSettingSelect; + }; +}; /** A `TriggerFunction` edge in the connection. */ export interface TriggerFunctionEdge { cursor?: string | null; @@ -33597,6 +38117,18 @@ export type AppEdgeSelect = { select: AppSelect; }; }; +/** A `ApiSetting` edge in the connection. */ +export interface ApiSettingEdge { + cursor?: string | null; + /** The `ApiSetting` at the end of the edge. */ + node?: ApiSetting | null; +} +export type ApiSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: ApiSettingSelect; + }; +}; /** A `ConnectedAccountsModule` edge in the connection. */ export interface ConnectedAccountsModuleEdge { cursor?: string | null; @@ -34089,6 +38621,42 @@ export type AppLimitEdgeSelect = { select: AppLimitSelect; }; }; +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +export type AppLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditSelect; + }; +}; +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +export type AppLimitCreditCodeItemEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeItemSelect; + }; +}; +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +export type AppLimitCreditRedemptionEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditRedemptionSelect; + }; +}; /** A `OrgLimit` edge in the connection. */ export interface OrgLimitEdge { cursor?: string | null; @@ -34101,6 +38669,18 @@ export type OrgLimitEdgeSelect = { select: OrgLimitSelect; }; }; +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} +export type OrgLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCreditSelect; + }; +}; /** A `OrgLimitAggregate` edge in the connection. */ export interface OrgLimitAggregateEdge { cursor?: string | null; @@ -34341,6 +38921,66 @@ export type AppPermissionDefaultEdgeSelect = { select: AppPermissionDefaultSelect; }; }; +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} +export type AppLimitCreditCodeEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeSelect; + }; +}; +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +export type AppLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapsDefaultSelect; + }; +}; +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +export type OrgLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapsDefaultSelect; + }; +}; +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +export type AppLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapSelect; + }; +}; +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} +export type OrgLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapSelect; + }; +}; /** A `MembershipType` edge in the connection. */ export interface MembershipTypeEdge { cursor?: string | null; @@ -34413,6 +39053,18 @@ export type CommitEdgeSelect = { select: CommitSelect; }; }; +/** A `PubkeySetting` edge in the connection. */ +export interface PubkeySettingEdge { + cursor?: string | null; + /** The `PubkeySetting` at the end of the edge. */ + node?: PubkeySetting | null; +} +export type PubkeySettingEdgeSelect = { + cursor?: boolean; + node?: { + select: PubkeySettingSelect; + }; +}; /** A `RateLimitsModule` edge in the connection. */ export interface RateLimitsModuleEdge { cursor?: string | null; @@ -34449,16 +39101,16 @@ export type OrgMembershipDefaultEdgeSelect = { select: OrgMembershipDefaultSelect; }; }; -/** A `PlansModule` edge in the connection. */ -export interface PlansModuleEdge { +/** A `RlsSetting` edge in the connection. */ +export interface RlsSettingEdge { cursor?: string | null; - /** The `PlansModule` at the end of the edge. */ - node?: PlansModule | null; + /** The `RlsSetting` at the end of the edge. */ + node?: RlsSetting | null; } -export type PlansModuleEdgeSelect = { +export type RlsSettingEdgeSelect = { cursor?: boolean; node?: { - select: PlansModuleSelect; + select: RlsSettingSelect; }; }; /** A `RlsModule` edge in the connection. */ @@ -34473,6 +39125,30 @@ export type RlsModuleEdgeSelect = { select: RlsModuleSelect; }; }; +/** A `DatabaseSetting` edge in the connection. */ +export interface DatabaseSettingEdge { + cursor?: string | null; + /** The `DatabaseSetting` at the end of the edge. */ + node?: DatabaseSetting | null; +} +export type DatabaseSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: DatabaseSettingSelect; + }; +}; +/** A `PlansModule` edge in the connection. */ +export interface PlansModuleEdge { + cursor?: string | null; + /** The `PlansModule` at the end of the edge. */ + node?: PlansModule | null; +} +export type PlansModuleEdgeSelect = { + cursor?: boolean; + node?: { + select: PlansModuleSelect; + }; +}; /** A `BillingModule` edge in the connection. */ export interface BillingModuleEdge { cursor?: string | null; @@ -34509,6 +39185,18 @@ export type OrgMembershipSettingEdgeSelect = { select: OrgMembershipSettingSelect; }; }; +/** A `WebauthnSetting` edge in the connection. */ +export interface WebauthnSettingEdge { + cursor?: string | null; + /** The `WebauthnSetting` at the end of the edge. */ + node?: WebauthnSetting | null; +} +export type WebauthnSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: WebauthnSettingSelect; + }; +}; /** A `AppMembership` edge in the connection. */ export interface AppMembershipEdge { cursor?: string | null; @@ -34521,6 +39209,18 @@ export type AppMembershipEdgeSelect = { select: AppMembershipSelect; }; }; +/** A `BillingProviderModule` edge in the connection. */ +export interface BillingProviderModuleEdge { + cursor?: string | null; + /** The `BillingProviderModule` at the end of the edge. */ + node?: BillingProviderModule | null; +} +export type BillingProviderModuleEdgeSelect = { + cursor?: boolean; + node?: { + select: BillingProviderModuleSelect; + }; +}; /** A `HierarchyModule` edge in the connection. */ export interface HierarchyModuleEdge { cursor?: string | null; diff --git a/sdk/constructive-cli/src/public/orm/models/apiSetting.ts b/sdk/constructive-cli/src/public/orm/models/apiSetting.ts new file mode 100644 index 000000000..a7aeb908f --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/apiSetting.ts @@ -0,0 +1,237 @@ +/** + * ApiSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + ApiSetting, + ApiSettingWithRelations, + ApiSettingSelect, + ApiSettingFilter, + ApiSettingOrderBy, + CreateApiSettingInput, + UpdateApiSettingInput, + ApiSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class ApiSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'ApiSettingFilter', + 'ApiSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: args?.where, + }, + 'ApiSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'ApiSettingFilter', + 'ApiSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSetting', + document, + variables, + transform: (data: { + apiSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + apiSetting: data.apiSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'ApiSetting', + 'createApiSetting', + 'apiSetting', + args.select, + args.data, + 'CreateApiSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'createApiSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + ApiSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'ApiSetting', + 'updateApiSetting', + 'apiSetting', + args.select, + args.where.id, + args.data, + 'UpdateApiSettingInput', + 'id', + 'apiSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'updateApiSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'ApiSetting', + 'deleteApiSetting', + 'apiSetting', + { + id: args.where.id, + }, + 'DeleteApiSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'deleteApiSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/appLimitCap.ts b/sdk/constructive-cli/src/public/orm/models/appLimitCap.ts new file mode 100644 index 000000000..b40f02904 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/appLimitCap.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCap, + AppLimitCapWithRelations, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, + CreateAppLimitCapInput, + UpdateAppLimitCapInput, + AppLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + }, + 'AppLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCap', + document, + variables, + transform: (data: { + appLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCap: data.appLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCap', + 'createAppLimitCap', + 'appLimitCap', + args.select, + args.data, + 'CreateAppLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'createAppLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCap', + 'updateAppLimitCap', + 'appLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapInput', + 'id', + 'appLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'updateAppLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCap', + 'deleteAppLimitCap', + 'appLimitCap', + { + id: args.where.id, + }, + 'DeleteAppLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'deleteAppLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/appLimitCapsDefault.ts b/sdk/constructive-cli/src/public/orm/models/appLimitCapsDefault.ts new file mode 100644 index 000000000..b0ea0fcef --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/appLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCapsDefault, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, + CreateAppLimitCapsDefaultInput, + UpdateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'AppLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefault', + document, + variables, + transform: (data: { + appLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCapsDefault: data.appLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCapsDefault', + 'createAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.data, + 'CreateAppLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'createAppLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCapsDefault', + 'updateAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapsDefaultInput', + 'id', + 'appLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'updateAppLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCapsDefault', + 'deleteAppLimitCapsDefault', + 'appLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteAppLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'deleteAppLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/appLimitCredit.ts b/sdk/constructive-cli/src/public/orm/models/appLimitCredit.ts new file mode 100644 index 000000000..392072a13 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/appLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCredit, + AppLimitCreditWithRelations, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, + CreateAppLimitCreditInput, + UpdateAppLimitCreditInput, + AppLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredit', + document, + variables, + transform: (data: { + appLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCredit: data.appLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCredit', + 'createAppLimitCredit', + 'appLimitCredit', + args.select, + args.data, + 'CreateAppLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'createAppLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCredit', + 'updateAppLimitCredit', + 'appLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditInput', + 'id', + 'appLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'updateAppLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCredit', + 'deleteAppLimitCredit', + 'appLimitCredit', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'deleteAppLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/appLimitCreditCode.ts b/sdk/constructive-cli/src/public/orm/models/appLimitCreditCode.ts new file mode 100644 index 000000000..75a9d825a --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/appLimitCreditCode.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCreditCode model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCode, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, + CreateAppLimitCreditCodeInput, + UpdateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCode: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCode', + document, + variables, + transform: (data: { + appLimitCreditCodes?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCode: data.appLimitCreditCodes?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCode', + 'createAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.data, + 'CreateAppLimitCreditCodeInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'createAppLimitCreditCode', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCode', + 'updateAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeInput', + 'id', + 'appLimitCreditCodePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'updateAppLimitCreditCode', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCode', + 'deleteAppLimitCreditCode', + 'appLimitCreditCode', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'deleteAppLimitCreditCode', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/appLimitCreditCodeItem.ts b/sdk/constructive-cli/src/public/orm/models/appLimitCreditCodeItem.ts new file mode 100644 index 000000000..381660fad --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/appLimitCreditCodeItem.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditCodeItem model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCodeItem, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, + CreateAppLimitCreditCodeItemInput, + UpdateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeItemModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeItemFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItem: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItem', + document, + variables, + transform: (data: { + appLimitCreditCodeItems?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCodeItem: data.appLimitCreditCodeItems?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCodeItem', + 'createAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.data, + 'CreateAppLimitCreditCodeItemInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'createAppLimitCreditCodeItem', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodeItemPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCodeItem', + 'updateAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeItemInput', + 'id', + 'appLimitCreditCodeItemPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'updateAppLimitCreditCodeItem', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCodeItem', + 'deleteAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeItemInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'deleteAppLimitCreditCodeItem', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/appLimitCreditRedemption.ts b/sdk/constructive-cli/src/public/orm/models/appLimitCreditRedemption.ts new file mode 100644 index 000000000..fd3676073 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/appLimitCreditRedemption.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditRedemption model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditRedemption, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, + CreateAppLimitCreditRedemptionInput, + UpdateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditRedemptionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditRedemptionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemption: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemption', + document, + variables, + transform: (data: { + appLimitCreditRedemptions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditRedemption: data.appLimitCreditRedemptions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditRedemption', + 'createAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.data, + 'CreateAppLimitCreditRedemptionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'createAppLimitCreditRedemption', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditRedemptionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditRedemption', + 'updateAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditRedemptionInput', + 'id', + 'appLimitCreditRedemptionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'updateAppLimitCreditRedemption', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditRedemption', + 'deleteAppLimitCreditRedemption', + 'appLimitCreditRedemption', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditRedemptionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'deleteAppLimitCreditRedemption', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/billingProviderModule.ts b/sdk/constructive-cli/src/public/orm/models/billingProviderModule.ts new file mode 100644 index 000000000..c29877b65 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/billingProviderModule.ts @@ -0,0 +1,239 @@ +/** + * BillingProviderModule model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + BillingProviderModule, + BillingProviderModuleWithRelations, + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy, + CreateBillingProviderModuleInput, + UpdateBillingProviderModuleInput, + BillingProviderModulePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class BillingProviderModuleModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModules: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'BillingProviderModuleFilter', + 'BillingProviderModuleOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModules', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModules: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: args?.where, + }, + 'BillingProviderModuleFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModules', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModule: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'BillingProviderModuleFilter', + 'BillingProviderModuleOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModule', + document, + variables, + transform: (data: { + billingProviderModules?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + billingProviderModule: data.billingProviderModules?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'BillingProviderModule', + 'createBillingProviderModule', + 'billingProviderModule', + args.select, + args.data, + 'CreateBillingProviderModuleInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'createBillingProviderModule', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + BillingProviderModulePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'BillingProviderModule', + 'updateBillingProviderModule', + 'billingProviderModule', + args.select, + args.where.id, + args.data, + 'UpdateBillingProviderModuleInput', + 'id', + 'billingProviderModulePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'updateBillingProviderModule', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'BillingProviderModule', + 'deleteBillingProviderModule', + 'billingProviderModule', + { + id: args.where.id, + }, + 'DeleteBillingProviderModuleInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'deleteBillingProviderModule', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/corsSetting.ts b/sdk/constructive-cli/src/public/orm/models/corsSetting.ts new file mode 100644 index 000000000..be377becc --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/corsSetting.ts @@ -0,0 +1,237 @@ +/** + * CorsSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + CorsSetting, + CorsSettingWithRelations, + CorsSettingSelect, + CorsSettingFilter, + CorsSettingOrderBy, + CreateCorsSettingInput, + UpdateCorsSettingInput, + CorsSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class CorsSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'CorsSettingFilter', + 'CorsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: args?.where, + }, + 'CorsSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'CorsSettingFilter', + 'CorsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSetting', + document, + variables, + transform: (data: { + corsSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + corsSetting: data.corsSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'CorsSetting', + 'createCorsSetting', + 'corsSetting', + args.select, + args.data, + 'CreateCorsSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'createCorsSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + CorsSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'CorsSetting', + 'updateCorsSetting', + 'corsSetting', + args.select, + args.where.id, + args.data, + 'UpdateCorsSettingInput', + 'id', + 'corsSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'updateCorsSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'CorsSetting', + 'deleteCorsSetting', + 'corsSetting', + { + id: args.where.id, + }, + 'DeleteCorsSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'deleteCorsSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/databaseSetting.ts b/sdk/constructive-cli/src/public/orm/models/databaseSetting.ts new file mode 100644 index 000000000..9f2c563fa --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/databaseSetting.ts @@ -0,0 +1,237 @@ +/** + * DatabaseSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + DatabaseSetting, + DatabaseSettingWithRelations, + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy, + CreateDatabaseSettingInput, + UpdateDatabaseSettingInput, + DatabaseSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class DatabaseSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'DatabaseSettingFilter', + 'DatabaseSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: args?.where, + }, + 'DatabaseSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'DatabaseSettingFilter', + 'DatabaseSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSetting', + document, + variables, + transform: (data: { + databaseSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + databaseSetting: data.databaseSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'DatabaseSetting', + 'createDatabaseSetting', + 'databaseSetting', + args.select, + args.data, + 'CreateDatabaseSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'createDatabaseSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + DatabaseSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'DatabaseSetting', + 'updateDatabaseSetting', + 'databaseSetting', + args.select, + args.where.id, + args.data, + 'UpdateDatabaseSettingInput', + 'id', + 'databaseSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'updateDatabaseSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'DatabaseSetting', + 'deleteDatabaseSetting', + 'databaseSetting', + { + id: args.where.id, + }, + 'DeleteDatabaseSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'deleteDatabaseSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/function.ts b/sdk/constructive-cli/src/public/orm/models/function.ts new file mode 100644 index 000000000..a67b4a1e8 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/function.ts @@ -0,0 +1,237 @@ +/** + * Function model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + Function, + FunctionWithRelations, + FunctionSelect, + FunctionFilter, + FunctionOrderBy, + CreateFunctionInput, + UpdateFunctionInput, + FunctionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class FunctionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + functions: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'Function', + 'functions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'FunctionFilter', + 'FunctionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'functions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + functions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'Function', + 'functions', + args.select, + { + where: args?.where, + }, + 'FunctionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'functions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + function: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'Function', + 'functions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'FunctionFilter', + 'FunctionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'function', + document, + variables, + transform: (data: { + functions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + function: data.functions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'Function', + 'createFunction', + 'function', + args.select, + args.data, + 'CreateFunctionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'createFunction', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + FunctionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'Function', + 'updateFunction', + 'function', + args.select, + args.where.id, + args.data, + 'UpdateFunctionInput', + 'id', + 'functionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'updateFunction', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'Function', + 'deleteFunction', + 'function', + { + id: args.where.id, + }, + 'DeleteFunctionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'deleteFunction', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/index.ts b/sdk/constructive-cli/src/public/orm/models/index.ts index aa7f94162..f2ff7a2ef 100644 --- a/sdk/constructive-cli/src/public/orm/models/index.ts +++ b/sdk/constructive-cli/src/public/orm/models/index.ts @@ -16,6 +16,7 @@ export { TableModel } from './table'; export { CheckConstraintModel } from './checkConstraint'; export { FieldModel } from './field'; export { SpatialRelationModel } from './spatialRelation'; +export { PartitionModel } from './partition'; export { ForeignKeyConstraintModel } from './foreignKeyConstraint'; export { FullTextSearchModel } from './fullTextSearch'; export { IndexModel } from './indexModel'; @@ -36,17 +37,20 @@ export { IdentityProvidersModuleModel } from './identityProvidersModule'; export { SchemaGrantModel } from './schemaGrant'; export { DefaultPrivilegeModel } from './defaultPrivilege'; export { EnumModel } from './enum'; +export { FunctionModel } from './function'; export { ApiSchemaModel } from './apiSchema'; export { ApiModuleModel } from './apiModule'; export { DomainModel } from './domain'; export { SiteMetadatumModel } from './siteMetadatum'; export { SiteModuleModel } from './siteModule'; export { SiteThemeModel } from './siteTheme'; +export { CorsSettingModel } from './corsSetting'; export { TriggerFunctionModel } from './triggerFunction'; export { DatabaseTransferModel } from './databaseTransfer'; export { ApiModel } from './api'; export { SiteModel } from './site'; export { AppModel } from './app'; +export { ApiSettingModel } from './apiSetting'; export { ConnectedAccountsModuleModel } from './connectedAccountsModule'; export { CryptoAddressesModuleModel } from './cryptoAddressesModule'; export { CryptoAuthModuleModel } from './cryptoAuthModule'; @@ -88,7 +92,11 @@ export { OrgChartEdgeModel } from './orgChartEdge'; export { OrgChartEdgeGrantModel } from './orgChartEdgeGrant'; export { OrgPermissionDefaultModel } from './orgPermissionDefault'; export { AppLimitModel } from './appLimit'; +export { AppLimitCreditModel } from './appLimitCredit'; +export { AppLimitCreditCodeItemModel } from './appLimitCreditCodeItem'; +export { AppLimitCreditRedemptionModel } from './appLimitCreditRedemption'; export { OrgLimitModel } from './orgLimit'; +export { OrgLimitCreditModel } from './orgLimitCredit'; export { OrgLimitAggregateModel } from './orgLimitAggregate'; export { AppStepModel } from './appStep'; export { AppAchievementModel } from './appAchievement'; @@ -110,6 +118,11 @@ export { IdentityProviderModel } from './identityProvider'; export { RefModel } from './ref'; export { StoreModel } from './store'; export { AppPermissionDefaultModel } from './appPermissionDefault'; +export { AppLimitCreditCodeModel } from './appLimitCreditCode'; +export { AppLimitCapsDefaultModel } from './appLimitCapsDefault'; +export { OrgLimitCapsDefaultModel } from './orgLimitCapsDefault'; +export { AppLimitCapModel } from './appLimitCap'; +export { OrgLimitCapModel } from './orgLimitCap'; export { MembershipTypeModel } from './membershipType'; export { MigrateFileModel } from './migrateFile'; export { DevicesModuleModel } from './devicesModule'; @@ -118,17 +131,22 @@ export { AppLimitDefaultModel } from './appLimitDefault'; export { OrgLimitDefaultModel } from './orgLimitDefault'; export { UserConnectedAccountModel } from './userConnectedAccount'; export { CommitModel } from './commit'; +export { PubkeySettingModel } from './pubkeySetting'; export { RateLimitsModuleModel } from './rateLimitsModule'; export { AppMembershipDefaultModel } from './appMembershipDefault'; export { OrgMembershipDefaultModel } from './orgMembershipDefault'; +export { RlsSettingModel } from './rlsSetting'; export { AppLimitEventModel } from './appLimitEvent'; export { OrgLimitEventModel } from './orgLimitEvent'; -export { PlansModuleModel } from './plansModule'; export { RlsModuleModel } from './rlsModule'; +export { DatabaseSettingModel } from './databaseSetting'; +export { PlansModuleModel } from './plansModule'; export { SqlActionModel } from './sqlAction'; export { BillingModuleModel } from './billingModule'; export { AstMigrationModel } from './astMigration'; export { UserModel } from './user'; export { OrgMembershipSettingModel } from './orgMembershipSetting'; +export { WebauthnSettingModel } from './webauthnSetting'; export { AppMembershipModel } from './appMembership'; +export { BillingProviderModuleModel } from './billingProviderModule'; export { HierarchyModuleModel } from './hierarchyModule'; diff --git a/sdk/constructive-cli/src/public/orm/models/orgLimitCap.ts b/sdk/constructive-cli/src/public/orm/models/orgLimitCap.ts new file mode 100644 index 000000000..0cb635912 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/orgLimitCap.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCap, + OrgLimitCapWithRelations, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, + CreateOrgLimitCapInput, + UpdateOrgLimitCapInput, + OrgLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCap', + document, + variables, + transform: (data: { + orgLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCap: data.orgLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCap', + 'createOrgLimitCap', + 'orgLimitCap', + args.select, + args.data, + 'CreateOrgLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'createOrgLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCap', + 'updateOrgLimitCap', + 'orgLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapInput', + 'id', + 'orgLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'updateOrgLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCap', + 'deleteOrgLimitCap', + 'orgLimitCap', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'deleteOrgLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/orgLimitCapsDefault.ts b/sdk/constructive-cli/src/public/orm/models/orgLimitCapsDefault.ts new file mode 100644 index 000000000..722bb185f --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/orgLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCapsDefault, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, + CreateOrgLimitCapsDefaultInput, + UpdateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefault', + document, + variables, + transform: (data: { + orgLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCapsDefault: data.orgLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCapsDefault', + 'createOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.data, + 'CreateOrgLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'createOrgLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCapsDefault', + 'updateOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapsDefaultInput', + 'id', + 'orgLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'updateOrgLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCapsDefault', + 'deleteOrgLimitCapsDefault', + 'orgLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'deleteOrgLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/orgLimitCredit.ts b/sdk/constructive-cli/src/public/orm/models/orgLimitCredit.ts new file mode 100644 index 000000000..68e631fa7 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/orgLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCredit, + OrgLimitCreditWithRelations, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, + CreateOrgLimitCreditInput, + UpdateOrgLimitCreditInput, + OrgLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + }, + 'OrgLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredit', + document, + variables, + transform: (data: { + orgLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCredit: data.orgLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCredit', + 'createOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.data, + 'CreateOrgLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'createOrgLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCredit', + 'updateOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCreditInput', + 'id', + 'orgLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'updateOrgLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCredit', + 'deleteOrgLimitCredit', + 'orgLimitCredit', + { + id: args.where.id, + }, + 'DeleteOrgLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'deleteOrgLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/partition.ts b/sdk/constructive-cli/src/public/orm/models/partition.ts new file mode 100644 index 000000000..d445663ca --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/partition.ts @@ -0,0 +1,237 @@ +/** + * Partition model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + Partition, + PartitionWithRelations, + PartitionSelect, + PartitionFilter, + PartitionOrderBy, + CreatePartitionInput, + UpdatePartitionInput, + PartitionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class PartitionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + partitions: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'Partition', + 'partitions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'PartitionFilter', + 'PartitionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partitions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + partitions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'Partition', + 'partitions', + args.select, + { + where: args?.where, + }, + 'PartitionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partitions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + partition: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'Partition', + 'partitions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'PartitionFilter', + 'PartitionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partition', + document, + variables, + transform: (data: { + partitions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + partition: data.partitions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createPartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'Partition', + 'createPartition', + 'partition', + args.select, + args.data, + 'CreatePartitionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'createPartition', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + PartitionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updatePartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'Partition', + 'updatePartition', + 'partition', + args.select, + args.where.id, + args.data, + 'UpdatePartitionInput', + 'id', + 'partitionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'updatePartition', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deletePartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'Partition', + 'deletePartition', + 'partition', + { + id: args.where.id, + }, + 'DeletePartitionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'deletePartition', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/pubkeySetting.ts b/sdk/constructive-cli/src/public/orm/models/pubkeySetting.ts new file mode 100644 index 000000000..be3fd5a2e --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/pubkeySetting.ts @@ -0,0 +1,237 @@ +/** + * PubkeySetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + PubkeySetting, + PubkeySettingWithRelations, + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy, + CreatePubkeySettingInput, + UpdatePubkeySettingInput, + PubkeySettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class PubkeySettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'PubkeySettingFilter', + 'PubkeySettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: args?.where, + }, + 'PubkeySettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'PubkeySettingFilter', + 'PubkeySettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySetting', + document, + variables, + transform: (data: { + pubkeySettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + pubkeySetting: data.pubkeySettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createPubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'PubkeySetting', + 'createPubkeySetting', + 'pubkeySetting', + args.select, + args.data, + 'CreatePubkeySettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'createPubkeySetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + PubkeySettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updatePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'PubkeySetting', + 'updatePubkeySetting', + 'pubkeySetting', + args.select, + args.where.id, + args.data, + 'UpdatePubkeySettingInput', + 'id', + 'pubkeySettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'updatePubkeySetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deletePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'PubkeySetting', + 'deletePubkeySetting', + 'pubkeySetting', + { + id: args.where.id, + }, + 'DeletePubkeySettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'deletePubkeySetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/rlsSetting.ts b/sdk/constructive-cli/src/public/orm/models/rlsSetting.ts new file mode 100644 index 000000000..d87cd8673 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/rlsSetting.ts @@ -0,0 +1,237 @@ +/** + * RlsSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + RlsSetting, + RlsSettingWithRelations, + RlsSettingSelect, + RlsSettingFilter, + RlsSettingOrderBy, + CreateRlsSettingInput, + UpdateRlsSettingInput, + RlsSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class RlsSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'RlsSettingFilter', + 'RlsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: args?.where, + }, + 'RlsSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'RlsSettingFilter', + 'RlsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSetting', + document, + variables, + transform: (data: { + rlsSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + rlsSetting: data.rlsSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'RlsSetting', + 'createRlsSetting', + 'rlsSetting', + args.select, + args.data, + 'CreateRlsSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'createRlsSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + RlsSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'RlsSetting', + 'updateRlsSetting', + 'rlsSetting', + args.select, + args.where.id, + args.data, + 'UpdateRlsSettingInput', + 'id', + 'rlsSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'updateRlsSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'RlsSetting', + 'deleteRlsSetting', + 'rlsSetting', + { + id: args.where.id, + }, + 'DeleteRlsSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'deleteRlsSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/models/webauthnSetting.ts b/sdk/constructive-cli/src/public/orm/models/webauthnSetting.ts new file mode 100644 index 000000000..7e4453c37 --- /dev/null +++ b/sdk/constructive-cli/src/public/orm/models/webauthnSetting.ts @@ -0,0 +1,237 @@ +/** + * WebauthnSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + WebauthnSetting, + WebauthnSettingWithRelations, + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy, + CreateWebauthnSettingInput, + UpdateWebauthnSettingInput, + WebauthnSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class WebauthnSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'WebauthnSettingFilter', + 'WebauthnSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: args?.where, + }, + 'WebauthnSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'WebauthnSettingFilter', + 'WebauthnSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSetting', + document, + variables, + transform: (data: { + webauthnSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + webauthnSetting: data.webauthnSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'WebauthnSetting', + 'createWebauthnSetting', + 'webauthnSetting', + args.select, + args.data, + 'CreateWebauthnSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'createWebauthnSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + WebauthnSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'WebauthnSetting', + 'updateWebauthnSetting', + 'webauthnSetting', + args.select, + args.where.id, + args.data, + 'UpdateWebauthnSettingInput', + 'id', + 'webauthnSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'updateWebauthnSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'WebauthnSetting', + 'deleteWebauthnSetting', + 'webauthnSetting', + { + id: args.where.id, + }, + 'DeleteWebauthnSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'deleteWebauthnSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-cli/src/public/orm/mutation/index.ts b/sdk/constructive-cli/src/public/orm/mutation/index.ts index 3ca6964aa..d993e9065 100644 --- a/sdk/constructive-cli/src/public/orm/mutation/index.ts +++ b/sdk/constructive-cli/src/public/orm/mutation/index.ts @@ -33,6 +33,7 @@ import type { ProvisionSpatialRelationInput, BootstrapUserInput, SetFieldOrderInput, + AppendSmartTagsInput, ProvisionUniqueConstraintInput, ProvisionFullTextSearchInput, ProvisionIndexInput, @@ -54,7 +55,6 @@ import type { RequestCrossOriginTokenInput, SignInInput, ProvisionTableInput, - RequestUploadUrlInput, ProvisionBucketInput, SendAccountDeletionEmailPayload, SignOutPayload, @@ -82,6 +82,7 @@ import type { ProvisionSpatialRelationPayload, BootstrapUserPayload, SetFieldOrderPayload, + AppendSmartTagsPayload, ProvisionUniqueConstraintPayload, ProvisionFullTextSearchPayload, ProvisionIndexPayload, @@ -103,7 +104,6 @@ import type { RequestCrossOriginTokenPayload, SignInPayload, ProvisionTablePayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SendAccountDeletionEmailPayloadSelect, SignOutPayloadSelect, @@ -131,6 +131,7 @@ import type { ProvisionSpatialRelationPayloadSelect, BootstrapUserPayloadSelect, SetFieldOrderPayloadSelect, + AppendSmartTagsPayloadSelect, ProvisionUniqueConstraintPayloadSelect, ProvisionFullTextSearchPayloadSelect, ProvisionIndexPayloadSelect, @@ -152,7 +153,6 @@ import type { RequestCrossOriginTokenPayloadSelect, SignInPayloadSelect, ProvisionTablePayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -246,6 +246,9 @@ export interface BootstrapUserVariables { export interface SetFieldOrderVariables { input: SetFieldOrderInput; } +export interface AppendSmartTagsVariables { + input: AppendSmartTagsInput; +} /** * Variables for provisionUniqueConstraint * Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -348,16 +351,6 @@ export interface SignInVariables { export interface ProvisionTableVariables { input: ProvisionTableInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -1124,6 +1117,35 @@ export function createMutationOperations(client: OrmClient) { 'SetFieldOrderPayload' ), }), + appendSmartTags: ( + args: AppendSmartTagsVariables, + options: { + select: S; + } & StrictSelect + ) => + new QueryBuilder<{ + appendSmartTags: InferSelectResult | null; + }>({ + client, + operation: 'mutation', + operationName: 'AppendSmartTags', + fieldName: 'appendSmartTags', + ...buildCustomDocument( + 'mutation', + 'AppendSmartTags', + 'appendSmartTags', + options.select, + args, + [ + { + name: 'input', + type: 'AppendSmartTagsInput!', + }, + ], + connectionFieldsMap, + 'AppendSmartTagsPayload' + ), + }), provisionUniqueConstraint: ( args: ProvisionUniqueConstraintVariables, options: { @@ -1733,35 +1755,6 @@ export function createMutationOperations(client: OrmClient) { 'ProvisionTablePayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-cli/src/public/orm/query-builder.ts b/sdk/constructive-cli/src/public/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-cli/src/public/orm/query-builder.ts +++ b/sdk/constructive-cli/src/public/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-react/src/admin/README.md b/sdk/constructive-react/src/admin/README.md index f0c229f10..cff88fcdf 100644 --- a/sdk/constructive-react/src/admin/README.md +++ b/sdk/constructive-react/src/admin/README.md @@ -8,9 +8,9 @@ ## Overview -- **Tables:** 37 +- **Tables:** 46 - **Custom queries:** 11 -- **Custom mutations:** 4 +- **Custom mutations:** 3 **Generators:** ORM, React Query diff --git a/sdk/constructive-react/src/admin/hooks/README.md b/sdk/constructive-react/src/admin/hooks/README.md index 17bdeb96f..64e3ed2fc 100644 --- a/sdk/constructive-react/src/admin/hooks/README.md +++ b/sdk/constructive-react/src/admin/hooks/README.md @@ -51,6 +51,21 @@ function App() { | `useCreateAppLevelRequirementMutation` | Mutation | Defines the specific requirements that must be met to achieve a level | | `useUpdateAppLevelRequirementMutation` | Mutation | Defines the specific requirements that must be met to achieve a level | | `useDeleteAppLevelRequirementMutation` | Mutation | Defines the specific requirements that must be met to achieve a level | +| `useAppLimitCreditRedemptionsQuery` | Query | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useAppLimitCreditRedemptionQuery` | Query | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useCreateAppLimitCreditRedemptionMutation` | Mutation | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useUpdateAppLimitCreditRedemptionMutation` | Mutation | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useDeleteAppLimitCreditRedemptionMutation` | Mutation | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useAppLimitCreditCodeItemsQuery` | Query | Items within a credit code — each row grants credits for a specific limit definition | +| `useAppLimitCreditCodeItemQuery` | Query | Items within a credit code — each row grants credits for a specific limit definition | +| `useCreateAppLimitCreditCodeItemMutation` | Mutation | Items within a credit code — each row grants credits for a specific limit definition | +| `useUpdateAppLimitCreditCodeItemMutation` | Mutation | Items within a credit code — each row grants credits for a specific limit definition | +| `useDeleteAppLimitCreditCodeItemMutation` | Mutation | Items within a credit code — each row grants credits for a specific limit definition | +| `useAppLimitCreditsQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useAppLimitCreditQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useCreateAppLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useUpdateAppLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useDeleteAppLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | | `useOrgMembersQuery` | Query | Simplified view of active members in an entity, used for listing who belongs to an org or group | | `useOrgMemberQuery` | Query | Simplified view of active members in an entity, used for listing who belongs to an org or group | | `useCreateOrgMemberMutation` | Mutation | Simplified view of active members in an entity, used for listing who belongs to an org or group | @@ -61,6 +76,11 @@ function App() { | `useCreateAppPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | | `useUpdateAppPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | | `useDeleteAppPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | +| `useAppLimitCreditCodesQuery` | Query | Redeemable credit codes managed by admins with the add_credits permission | +| `useAppLimitCreditCodeQuery` | Query | Redeemable credit codes managed by admins with the add_credits permission | +| `useCreateAppLimitCreditCodeMutation` | Mutation | Redeemable credit codes managed by admins with the add_credits permission | +| `useUpdateAppLimitCreditCodeMutation` | Mutation | Redeemable credit codes managed by admins with the add_credits permission | +| `useDeleteAppLimitCreditCodeMutation` | Mutation | Redeemable credit codes managed by admins with the add_credits permission | | `useOrgPermissionDefaultsQuery` | Query | Stores the default permission bitmask assigned to new members upon joining | | `useOrgPermissionDefaultQuery` | Query | Stores the default permission bitmask assigned to new members upon joining | | `useCreateOrgPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | @@ -86,6 +106,26 @@ function App() { | `useCreateAppStepMutation` | Mutation | Log of individual user actions toward level requirements; every single step ever taken is recorded here | | `useUpdateAppStepMutation` | Mutation | Log of individual user actions toward level requirements; every single step ever taken is recorded here | | `useDeleteAppStepMutation` | Mutation | Log of individual user actions toward level requirements; every single step ever taken is recorded here | +| `useAppLimitCapsDefaultsQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useAppLimitCapsDefaultQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useCreateAppLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useUpdateAppLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useDeleteAppLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useOrgLimitCapsDefaultsQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useOrgLimitCapsDefaultQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useCreateOrgLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useUpdateOrgLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useDeleteOrgLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useAppLimitCapsQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useAppLimitCapQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useCreateAppLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useUpdateAppLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useDeleteAppLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useOrgLimitCapsQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useOrgLimitCapQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useCreateOrgLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useUpdateOrgLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useDeleteOrgLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | | `useOrgAdminGrantsQuery` | Query | Records of admin role grants and revocations between members | | `useOrgAdminGrantQuery` | Query | Records of admin role grants and revocations between members | | `useCreateOrgAdminGrantMutation` | Mutation | Records of admin role grants and revocations between members | @@ -111,6 +151,11 @@ function App() { | `useCreateOrgLimitDefaultMutation` | Mutation | Default maximum values for each named limit, applied when no per-actor override exists | | `useUpdateOrgLimitDefaultMutation` | Mutation | Default maximum values for each named limit, applied when no per-actor override exists | | `useDeleteOrgLimitDefaultMutation` | Mutation | Default maximum values for each named limit, applied when no per-actor override exists | +| `useOrgLimitCreditsQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useOrgLimitCreditQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useCreateOrgLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useUpdateOrgLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useDeleteOrgLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | | `useOrgChartEdgeGrantsQuery` | Query | Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table | | `useOrgChartEdgeGrantQuery` | Query | Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table | | `useCreateOrgChartEdgeGrantMutation` | Mutation | Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table | @@ -155,31 +200,21 @@ function App() { | `useCreateOrgChartEdgeMutation` | Mutation | Organizational chart edges defining parent-child reporting relationships between members within an entity | | `useUpdateOrgChartEdgeMutation` | Mutation | Organizational chart edges defining parent-child reporting relationships between members within an entity | | `useDeleteOrgChartEdgeMutation` | Mutation | Organizational chart edges defining parent-child reporting relationships between members within an entity | -| `useAppLimitsQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | -| `useAppLimitQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | -| `useCreateAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | -| `useUpdateAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | -| `useDeleteAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | -| `useOrgLimitAggregatesQuery` | Query | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | -| `useOrgLimitAggregateQuery` | Query | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | -| `useCreateOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | -| `useUpdateOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | -| `useDeleteOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | | `useOrgMemberProfilesQuery` | Query | Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) | | `useOrgMemberProfileQuery` | Query | Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) | | `useCreateOrgMemberProfileMutation` | Mutation | Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) | | `useUpdateOrgMemberProfileMutation` | Mutation | Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) | | `useDeleteOrgMemberProfileMutation` | Mutation | Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) | -| `useOrgLimitsQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | -| `useOrgLimitQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | -| `useCreateOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | -| `useUpdateOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | -| `useDeleteOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useAppLevelsQuery` | Query | Defines available levels that users can achieve by completing requirements | | `useAppLevelQuery` | Query | Defines available levels that users can achieve by completing requirements | | `useCreateAppLevelMutation` | Mutation | Defines available levels that users can achieve by completing requirements | | `useUpdateAppLevelMutation` | Mutation | Defines available levels that users can achieve by completing requirements | | `useDeleteAppLevelMutation` | Mutation | Defines available levels that users can achieve by completing requirements | +| `useAppLimitsQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | +| `useAppLimitQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | +| `useCreateAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | +| `useUpdateAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | +| `useDeleteAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useAppInvitesQuery` | Query | Invitation records sent to prospective members via email, with token-based redemption and expiration | | `useAppInviteQuery` | Query | Invitation records sent to prospective members via email, with token-based redemption and expiration | | `useCreateAppInviteMutation` | Mutation | Invitation records sent to prospective members via email, with token-based redemption and expiration | @@ -190,6 +225,16 @@ function App() { | `useCreateOrgMembershipSettingMutation` | Mutation | Per-entity settings for the memberships module | | `useUpdateOrgMembershipSettingMutation` | Mutation | Per-entity settings for the memberships module | | `useDeleteOrgMembershipSettingMutation` | Mutation | Per-entity settings for the memberships module | +| `useOrgLimitAggregatesQuery` | Query | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | +| `useOrgLimitAggregateQuery` | Query | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | +| `useCreateOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | +| `useUpdateOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | +| `useDeleteOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | +| `useOrgLimitsQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | +| `useOrgLimitQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | +| `useCreateOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | +| `useUpdateOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | +| `useDeleteOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useOrgInvitesQuery` | Query | Invitation records sent to prospective members via email, with token-based redemption and expiration | | `useOrgInviteQuery` | Query | Invitation records sent to prospective members via email, with token-based redemption and expiration | | `useCreateOrgInviteMutation` | Mutation | Invitation records sent to prospective members via email, with token-based redemption and expiration | @@ -218,10 +263,6 @@ function App() { | `useStepsRequiredQuery` | Query | Reads and enables pagination through a set of `AppLevelRequirement`. | | `useSubmitAppInviteCodeMutation` | Mutation | submitAppInviteCode | | `useSubmitOrgInviteCodeMutation` | Mutation | submitOrgInviteCode | -| `useRequestUploadUrlMutation` | Mutation | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `useProvisionBucketMutation` | Mutation | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -322,6 +363,69 @@ const { mutate: create } = useCreateAppLevelRequirementMutation({ create({ name: '', level: '', description: '', requiredCount: '', priority: '' }); ``` +### AppLimitCreditRedemption + +```typescript +// List all appLimitCreditRedemptions +const { data, isLoading } = useAppLimitCreditRedemptionsQuery({ + selection: { fields: { id: true, creditCodeId: true, entityId: true } }, +}); + +// Get one appLimitCreditRedemption +const { data: item } = useAppLimitCreditRedemptionQuery({ + id: '', + selection: { fields: { id: true, creditCodeId: true, entityId: true } }, +}); + +// Create a appLimitCreditRedemption +const { mutate: create } = useCreateAppLimitCreditRedemptionMutation({ + selection: { fields: { id: true } }, +}); +create({ creditCodeId: '', entityId: '' }); +``` + +### AppLimitCreditCodeItem + +```typescript +// List all appLimitCreditCodeItems +const { data, isLoading } = useAppLimitCreditCodeItemsQuery({ + selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }, +}); + +// Get one appLimitCreditCodeItem +const { data: item } = useAppLimitCreditCodeItemQuery({ + id: '', + selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }, +}); + +// Create a appLimitCreditCodeItem +const { mutate: create } = useCreateAppLimitCreditCodeItemMutation({ + selection: { fields: { id: true } }, +}); +create({ creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }); +``` + +### AppLimitCredit + +```typescript +// List all appLimitCredits +const { data, isLoading } = useAppLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }, +}); + +// Get one appLimitCredit +const { data: item } = useAppLimitCreditQuery({ + id: '', + selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }, +}); + +// Create a appLimitCredit +const { mutate: create } = useCreateAppLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +create({ defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }); +``` + ### OrgMember ```typescript @@ -364,6 +468,27 @@ const { mutate: create } = useCreateAppPermissionDefaultMutation({ create({ permissions: '' }); ``` +### AppLimitCreditCode + +```typescript +// List all appLimitCreditCodes +const { data, isLoading } = useAppLimitCreditCodesQuery({ + selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }, +}); + +// Get one appLimitCreditCode +const { data: item } = useAppLimitCreditCodeQuery({ + id: '', + selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }, +}); + +// Create a appLimitCreditCode +const { mutate: create } = useCreateAppLimitCreditCodeMutation({ + selection: { fields: { id: true } }, +}); +create({ code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }); +``` + ### OrgPermissionDefault ```typescript @@ -469,6 +594,90 @@ const { mutate: create } = useCreateAppStepMutation({ create({ actorId: '', name: '', count: '' }); ``` +### AppLimitCapsDefault + +```typescript +// List all appLimitCapsDefaults +const { data, isLoading } = useAppLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Get one appLimitCapsDefault +const { data: item } = useAppLimitCapsDefaultQuery({ + id: '', + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Create a appLimitCapsDefault +const { mutate: create } = useCreateAppLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', max: '' }); +``` + +### OrgLimitCapsDefault + +```typescript +// List all orgLimitCapsDefaults +const { data, isLoading } = useOrgLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Get one orgLimitCapsDefault +const { data: item } = useOrgLimitCapsDefaultQuery({ + id: '', + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Create a orgLimitCapsDefault +const { mutate: create } = useCreateOrgLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', max: '' }); +``` + +### AppLimitCap + +```typescript +// List all appLimitCaps +const { data, isLoading } = useAppLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Get one appLimitCap +const { data: item } = useAppLimitCapQuery({ + id: '', + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Create a appLimitCap +const { mutate: create } = useCreateAppLimitCapMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', entityId: '', max: '' }); +``` + +### OrgLimitCap + +```typescript +// List all orgLimitCaps +const { data, isLoading } = useOrgLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Get one orgLimitCap +const { data: item } = useOrgLimitCapQuery({ + id: '', + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Create a orgLimitCap +const { mutate: create } = useCreateOrgLimitCapMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', entityId: '', max: '' }); +``` + ### OrgAdminGrant ```typescript @@ -574,6 +783,27 @@ const { mutate: create } = useCreateOrgLimitDefaultMutation({ create({ name: '', max: '', softMax: '' }); ``` +### OrgLimitCredit + +```typescript +// List all orgLimitCredits +const { data, isLoading } = useOrgLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }, +}); + +// Get one orgLimitCredit +const { data: item } = useOrgLimitCreditQuery({ + id: '', + selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }, +}); + +// Create a orgLimitCredit +const { mutate: create } = useCreateOrgLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +create({ defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }); +``` + ### OrgChartEdgeGrant ```typescript @@ -772,48 +1002,6 @@ const { mutate: create } = useCreateOrgChartEdgeMutation({ create({ entityId: '', childId: '', parentId: '', positionTitle: '', positionLevel: '' }); ``` -### AppLimit - -```typescript -// List all appLimits -const { data, isLoading } = useAppLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, -}); - -// Get one appLimit -const { data: item } = useAppLimitQuery({ - id: '', - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, -}); - -// Create a appLimit -const { mutate: create } = useCreateAppLimitMutation({ - selection: { fields: { id: true } }, -}); -create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); -``` - -### OrgLimitAggregate - -```typescript -// List all orgLimitAggregates -const { data, isLoading } = useOrgLimitAggregatesQuery({ - selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, -}); - -// Get one orgLimitAggregate -const { data: item } = useOrgLimitAggregateQuery({ - id: '', - selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, -}); - -// Create a orgLimitAggregate -const { mutate: create } = useCreateOrgLimitAggregateMutation({ - selection: { fields: { id: true } }, -}); -create({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); -``` - ### OrgMemberProfile ```typescript @@ -835,46 +1023,46 @@ const { mutate: create } = useCreateOrgMemberProfileMutation({ create({ membershipId: '', entityId: '', actorId: '', displayName: '', email: '', title: '', bio: '', profilePicture: '' }); ``` -### OrgLimit +### AppLevel ```typescript -// List all orgLimits -const { data, isLoading } = useOrgLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }, +// List all appLevels +const { data, isLoading } = useAppLevelsQuery({ + selection: { fields: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }, }); -// Get one orgLimit -const { data: item } = useOrgLimitQuery({ +// Get one appLevel +const { data: item } = useAppLevelQuery({ id: '', - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }, + selection: { fields: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }, }); -// Create a orgLimit -const { mutate: create } = useCreateOrgLimitMutation({ +// Create a appLevel +const { mutate: create } = useCreateAppLevelMutation({ selection: { fields: { id: true } }, }); -create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }); +create({ name: '', description: '', image: '', ownerId: '' }); ``` -### AppLevel +### AppLimit ```typescript -// List all appLevels -const { data, isLoading } = useAppLevelsQuery({ - selection: { fields: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }, +// List all appLimits +const { data, isLoading } = useAppLimitsQuery({ + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }, }); -// Get one appLevel -const { data: item } = useAppLevelQuery({ +// Get one appLimit +const { data: item } = useAppLimitQuery({ id: '', - selection: { fields: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }, }); -// Create a appLevel -const { mutate: create } = useCreateAppLevelMutation({ +// Create a appLimit +const { mutate: create } = useCreateAppLimitMutation({ selection: { fields: { id: true } }, }); -create({ name: '', description: '', image: '', ownerId: '' }); +create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }); ``` ### AppInvite @@ -919,6 +1107,48 @@ const { mutate: create } = useCreateOrgMembershipSettingMutation({ create({ createdBy: '', updatedBy: '', entityId: '', deleteMemberCascadeChildren: '', createChildCascadeOwners: '', createChildCascadeAdmins: '', createChildCascadeMembers: '', allowExternalMembers: '', inviteProfileAssignmentMode: '', populateMemberEmail: '', limitAllocationMode: '' }); ``` +### OrgLimitAggregate + +```typescript +// List all orgLimitAggregates +const { data, isLoading } = useOrgLimitAggregatesQuery({ + selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }, +}); + +// Get one orgLimitAggregate +const { data: item } = useOrgLimitAggregateQuery({ + id: '', + selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }, +}); + +// Create a orgLimitAggregate +const { mutate: create } = useCreateOrgLimitAggregateMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }); +``` + +### OrgLimit + +```typescript +// List all orgLimits +const { data, isLoading } = useOrgLimitsQuery({ + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }, +}); + +// Get one orgLimit +const { data: item } = useOrgLimitQuery({ + id: '', + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }, +}); + +// Create a orgLimit +const { mutate: create } = useCreateOrgLimitMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }); +``` + ### OrgInvite ```typescript @@ -1141,20 +1371,6 @@ submitOrgInviteCode |----------|------| | `input` | SubmitOrgInviteCodeInput (required) | -### `useRequestUploadUrlMutation` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - ### `useProvisionBucketMutation` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/admin/hooks/index.ts b/sdk/constructive-react/src/admin/hooks/index.ts index 2ad45ed47..cdbee3676 100644 --- a/sdk/constructive-react/src/admin/hooks/index.ts +++ b/sdk/constructive-react/src/admin/hooks/index.ts @@ -2,7 +2,7 @@ * GraphQL SDK * @generated by @constructive-io/graphql-codegen * - * Tables: OrgGetManagersRecord, OrgGetSubordinatesRecord, AppPermission, OrgPermission, AppLevelRequirement, OrgMember, AppPermissionDefault, OrgPermissionDefault, AppAdminGrant, AppOwnerGrant, AppAchievement, AppStep, OrgAdminGrant, OrgOwnerGrant, MembershipType, AppLimitDefault, OrgLimitDefault, OrgChartEdgeGrant, AppClaimedInvite, AppGrant, AppMembershipDefault, OrgMembershipDefault, OrgClaimedInvite, AppLimitEvent, OrgLimitEvent, OrgGrant, OrgChartEdge, AppLimit, OrgLimitAggregate, OrgMemberProfile, OrgLimit, AppLevel, AppInvite, OrgMembershipSetting, OrgInvite, AppMembership, OrgMembership + * Tables: OrgGetManagersRecord, OrgGetSubordinatesRecord, AppPermission, OrgPermission, AppLevelRequirement, AppLimitCreditRedemption, AppLimitCreditCodeItem, AppLimitCredit, OrgMember, AppPermissionDefault, AppLimitCreditCode, OrgPermissionDefault, AppAdminGrant, AppOwnerGrant, AppAchievement, AppStep, AppLimitCapsDefault, OrgLimitCapsDefault, AppLimitCap, OrgLimitCap, OrgAdminGrant, OrgOwnerGrant, MembershipType, AppLimitDefault, OrgLimitDefault, OrgLimitCredit, OrgChartEdgeGrant, AppClaimedInvite, AppGrant, AppMembershipDefault, OrgMembershipDefault, OrgClaimedInvite, AppLimitEvent, OrgLimitEvent, OrgGrant, OrgChartEdge, OrgMemberProfile, AppLevel, AppLimit, AppInvite, OrgMembershipSetting, OrgLimitAggregate, OrgLimit, OrgInvite, AppMembership, OrgMembership * * Usage: * diff --git a/sdk/constructive-react/src/admin/hooks/invalidation.ts b/sdk/constructive-react/src/admin/hooks/invalidation.ts index 00327671d..26459bc7c 100644 --- a/sdk/constructive-react/src/admin/hooks/invalidation.ts +++ b/sdk/constructive-react/src/admin/hooks/invalidation.ts @@ -20,18 +20,27 @@ import { appPermissionKeys, orgPermissionKeys, appLevelRequirementKeys, + appLimitCreditRedemptionKeys, + appLimitCreditCodeItemKeys, + appLimitCreditKeys, orgMemberKeys, appPermissionDefaultKeys, + appLimitCreditCodeKeys, orgPermissionDefaultKeys, appAdminGrantKeys, appOwnerGrantKeys, appAchievementKeys, appStepKeys, + appLimitCapsDefaultKeys, + orgLimitCapsDefaultKeys, + appLimitCapKeys, + orgLimitCapKeys, orgAdminGrantKeys, orgOwnerGrantKeys, membershipTypeKeys, appLimitDefaultKeys, orgLimitDefaultKeys, + orgLimitCreditKeys, orgChartEdgeGrantKeys, appClaimedInviteKeys, appGrantKeys, @@ -42,13 +51,13 @@ import { orgLimitEventKeys, orgGrantKeys, orgChartEdgeKeys, - appLimitKeys, - orgLimitAggregateKeys, orgMemberProfileKeys, - orgLimitKeys, appLevelKeys, + appLimitKeys, appInviteKeys, orgMembershipSettingKeys, + orgLimitAggregateKeys, + orgLimitKeys, orgInviteKeys, appMembershipKeys, orgMembershipKeys, @@ -158,6 +167,57 @@ export const invalidate = { queryKey: appLevelRequirementKeys.detail(id), }), }, + /** Invalidate appLimitCreditRedemption queries */ appLimitCreditRedemption: { + /** Invalidate all appLimitCreditRedemption queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.all, + }), + /** Invalidate appLimitCreditRedemption list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }), + /** Invalidate a specific appLimitCreditRedemption */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(id), + }), + }, + /** Invalidate appLimitCreditCodeItem queries */ appLimitCreditCodeItem: { + /** Invalidate all appLimitCreditCodeItem queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.all, + }), + /** Invalidate appLimitCreditCodeItem list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }), + /** Invalidate a specific appLimitCreditCodeItem */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(id), + }), + }, + /** Invalidate appLimitCredit queries */ appLimitCredit: { + /** Invalidate all appLimitCredit queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.all, + }), + /** Invalidate appLimitCredit list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }), + /** Invalidate a specific appLimitCredit */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.detail(id), + }), + }, /** Invalidate orgMember queries */ orgMember: { /** Invalidate all orgMember queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -192,6 +252,23 @@ export const invalidate = { queryKey: appPermissionDefaultKeys.detail(id), }), }, + /** Invalidate appLimitCreditCode queries */ appLimitCreditCode: { + /** Invalidate all appLimitCreditCode queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.all, + }), + /** Invalidate appLimitCreditCode list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }), + /** Invalidate a specific appLimitCreditCode */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.detail(id), + }), + }, /** Invalidate orgPermissionDefault queries */ orgPermissionDefault: { /** Invalidate all orgPermissionDefault queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -274,6 +351,74 @@ export const invalidate = { queryKey: appStepKeys.detail(id), }), }, + /** Invalidate appLimitCapsDefault queries */ appLimitCapsDefault: { + /** Invalidate all appLimitCapsDefault queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.all, + }), + /** Invalidate appLimitCapsDefault list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }), + /** Invalidate a specific appLimitCapsDefault */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.detail(id), + }), + }, + /** Invalidate orgLimitCapsDefault queries */ orgLimitCapsDefault: { + /** Invalidate all orgLimitCapsDefault queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.all, + }), + /** Invalidate orgLimitCapsDefault list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }), + /** Invalidate a specific orgLimitCapsDefault */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(id), + }), + }, + /** Invalidate appLimitCap queries */ appLimitCap: { + /** Invalidate all appLimitCap queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.all, + }), + /** Invalidate appLimitCap list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }), + /** Invalidate a specific appLimitCap */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.detail(id), + }), + }, + /** Invalidate orgLimitCap queries */ orgLimitCap: { + /** Invalidate all orgLimitCap queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.all, + }), + /** Invalidate orgLimitCap list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }), + /** Invalidate a specific orgLimitCap */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.detail(id), + }), + }, /** Invalidate orgAdminGrant queries */ orgAdminGrant: { /** Invalidate all orgAdminGrant queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -359,6 +504,23 @@ export const invalidate = { queryKey: orgLimitDefaultKeys.detail(id), }), }, + /** Invalidate orgLimitCredit queries */ orgLimitCredit: { + /** Invalidate all orgLimitCredit queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.all, + }), + /** Invalidate orgLimitCredit list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }), + /** Invalidate a specific orgLimitCredit */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.detail(id), + }), + }, /** Invalidate orgChartEdgeGrant queries */ orgChartEdgeGrant: { /** Invalidate all orgChartEdgeGrant queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -523,37 +685,6 @@ export const invalidate = { queryKey: orgChartEdgeKeys.detail(id), }), }, - /** Invalidate appLimit queries */ appLimit: { - /** Invalidate all appLimit queries */ all: (queryClient: QueryClient) => - queryClient.invalidateQueries({ - queryKey: appLimitKeys.all, - }), - /** Invalidate appLimit list queries */ lists: (queryClient: QueryClient) => - queryClient.invalidateQueries({ - queryKey: appLimitKeys.lists(), - }), - /** Invalidate a specific appLimit */ detail: (queryClient: QueryClient, id: string | number) => - queryClient.invalidateQueries({ - queryKey: appLimitKeys.detail(id), - }), - }, - /** Invalidate orgLimitAggregate queries */ orgLimitAggregate: { - /** Invalidate all orgLimitAggregate queries */ all: (queryClient: QueryClient) => - queryClient.invalidateQueries({ - queryKey: orgLimitAggregateKeys.all, - }), - /** Invalidate orgLimitAggregate list queries */ lists: (queryClient: QueryClient) => - queryClient.invalidateQueries({ - queryKey: orgLimitAggregateKeys.lists(), - }), - /** Invalidate a specific orgLimitAggregate */ detail: ( - queryClient: QueryClient, - id: string | number - ) => - queryClient.invalidateQueries({ - queryKey: orgLimitAggregateKeys.detail(id), - }), - }, /** Invalidate orgMemberProfile queries */ orgMemberProfile: { /** Invalidate all orgMemberProfile queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -571,20 +702,6 @@ export const invalidate = { queryKey: orgMemberProfileKeys.detail(id), }), }, - /** Invalidate orgLimit queries */ orgLimit: { - /** Invalidate all orgLimit queries */ all: (queryClient: QueryClient) => - queryClient.invalidateQueries({ - queryKey: orgLimitKeys.all, - }), - /** Invalidate orgLimit list queries */ lists: (queryClient: QueryClient) => - queryClient.invalidateQueries({ - queryKey: orgLimitKeys.lists(), - }), - /** Invalidate a specific orgLimit */ detail: (queryClient: QueryClient, id: string | number) => - queryClient.invalidateQueries({ - queryKey: orgLimitKeys.detail(id), - }), - }, /** Invalidate appLevel queries */ appLevel: { /** Invalidate all appLevel queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -599,6 +716,20 @@ export const invalidate = { queryKey: appLevelKeys.detail(id), }), }, + /** Invalidate appLimit queries */ appLimit: { + /** Invalidate all appLimit queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitKeys.all, + }), + /** Invalidate appLimit list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitKeys.lists(), + }), + /** Invalidate a specific appLimit */ detail: (queryClient: QueryClient, id: string | number) => + queryClient.invalidateQueries({ + queryKey: appLimitKeys.detail(id), + }), + }, /** Invalidate appInvite queries */ appInvite: { /** Invalidate all appInvite queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -633,6 +764,37 @@ export const invalidate = { queryKey: orgMembershipSettingKeys.detail(id), }), }, + /** Invalidate orgLimitAggregate queries */ orgLimitAggregate: { + /** Invalidate all orgLimitAggregate queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitAggregateKeys.all, + }), + /** Invalidate orgLimitAggregate list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitAggregateKeys.lists(), + }), + /** Invalidate a specific orgLimitAggregate */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitAggregateKeys.detail(id), + }), + }, + /** Invalidate orgLimit queries */ orgLimit: { + /** Invalidate all orgLimit queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitKeys.all, + }), + /** Invalidate orgLimit list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitKeys.lists(), + }), + /** Invalidate a specific orgLimit */ detail: (queryClient: QueryClient, id: string | number) => + queryClient.invalidateQueries({ + queryKey: orgLimitKeys.detail(id), + }), + }, /** Invalidate orgInvite queries */ orgInvite: { /** Invalidate all orgInvite queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -737,6 +899,30 @@ export const remove = { queryKey: appLevelRequirementKeys.detail(id), }); }, + /** Remove appLimitCreditRedemption from cache */ appLimitCreditRedemption: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(id), + }); + }, + /** Remove appLimitCreditCodeItem from cache */ appLimitCreditCodeItem: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(id), + }); + }, + /** Remove appLimitCredit from cache */ appLimitCredit: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditKeys.detail(id), + }); + }, /** Remove orgMember from cache */ orgMember: (queryClient: QueryClient, id: string | number) => { queryClient.removeQueries({ queryKey: orgMemberKeys.detail(id), @@ -750,6 +936,14 @@ export const remove = { queryKey: appPermissionDefaultKeys.detail(id), }); }, + /** Remove appLimitCreditCode from cache */ appLimitCreditCode: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeKeys.detail(id), + }); + }, /** Remove orgPermissionDefault from cache */ orgPermissionDefault: ( queryClient: QueryClient, id: string | number @@ -787,6 +981,38 @@ export const remove = { queryKey: appStepKeys.detail(id), }); }, + /** Remove appLimitCapsDefault from cache */ appLimitCapsDefault: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCapsDefaultKeys.detail(id), + }); + }, + /** Remove orgLimitCapsDefault from cache */ orgLimitCapsDefault: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(id), + }); + }, + /** Remove appLimitCap from cache */ appLimitCap: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCapKeys.detail(id), + }); + }, + /** Remove orgLimitCap from cache */ orgLimitCap: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitCapKeys.detail(id), + }); + }, /** Remove orgAdminGrant from cache */ orgAdminGrant: ( queryClient: QueryClient, id: string | number @@ -827,6 +1053,14 @@ export const remove = { queryKey: orgLimitDefaultKeys.detail(id), }); }, + /** Remove orgLimitCredit from cache */ orgLimitCredit: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitCreditKeys.detail(id), + }); + }, /** Remove orgChartEdgeGrant from cache */ orgChartEdgeGrant: ( queryClient: QueryClient, id: string | number @@ -901,19 +1135,6 @@ export const remove = { queryKey: orgChartEdgeKeys.detail(id), }); }, - /** Remove appLimit from cache */ appLimit: (queryClient: QueryClient, id: string | number) => { - queryClient.removeQueries({ - queryKey: appLimitKeys.detail(id), - }); - }, - /** Remove orgLimitAggregate from cache */ orgLimitAggregate: ( - queryClient: QueryClient, - id: string | number - ) => { - queryClient.removeQueries({ - queryKey: orgLimitAggregateKeys.detail(id), - }); - }, /** Remove orgMemberProfile from cache */ orgMemberProfile: ( queryClient: QueryClient, id: string | number @@ -922,14 +1143,14 @@ export const remove = { queryKey: orgMemberProfileKeys.detail(id), }); }, - /** Remove orgLimit from cache */ orgLimit: (queryClient: QueryClient, id: string | number) => { + /** Remove appLevel from cache */ appLevel: (queryClient: QueryClient, id: string | number) => { queryClient.removeQueries({ - queryKey: orgLimitKeys.detail(id), + queryKey: appLevelKeys.detail(id), }); }, - /** Remove appLevel from cache */ appLevel: (queryClient: QueryClient, id: string | number) => { + /** Remove appLimit from cache */ appLimit: (queryClient: QueryClient, id: string | number) => { queryClient.removeQueries({ - queryKey: appLevelKeys.detail(id), + queryKey: appLimitKeys.detail(id), }); }, /** Remove appInvite from cache */ appInvite: (queryClient: QueryClient, id: string | number) => { @@ -945,6 +1166,19 @@ export const remove = { queryKey: orgMembershipSettingKeys.detail(id), }); }, + /** Remove orgLimitAggregate from cache */ orgLimitAggregate: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitAggregateKeys.detail(id), + }); + }, + /** Remove orgLimit from cache */ orgLimit: (queryClient: QueryClient, id: string | number) => { + queryClient.removeQueries({ + queryKey: orgLimitKeys.detail(id), + }); + }, /** Remove orgInvite from cache */ orgInvite: (queryClient: QueryClient, id: string | number) => { queryClient.removeQueries({ queryKey: orgInviteKeys.detail(id), diff --git a/sdk/constructive-react/src/admin/hooks/mutation-keys.ts b/sdk/constructive-react/src/admin/hooks/mutation-keys.ts index 79a550748..c17dfabbc 100644 --- a/sdk/constructive-react/src/admin/hooks/mutation-keys.ts +++ b/sdk/constructive-react/src/admin/hooks/mutation-keys.ts @@ -66,6 +66,39 @@ export const appLevelRequirementMutationKeys = { /** Delete appLevelRequirement mutation key */ delete: (id: string | number) => ['mutation', 'applevelrequirement', 'delete', id] as const, } as const; +export const appLimitCreditRedemptionMutationKeys = { + /** All appLimitCreditRedemption mutation keys */ all: [ + 'mutation', + 'applimitcreditredemption', + ] as const, + /** Create appLimitCreditRedemption mutation key */ create: () => + ['mutation', 'applimitcreditredemption', 'create'] as const, + /** Update appLimitCreditRedemption mutation key */ update: (id: string | number) => + ['mutation', 'applimitcreditredemption', 'update', id] as const, + /** Delete appLimitCreditRedemption mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcreditredemption', 'delete', id] as const, +} as const; +export const appLimitCreditCodeItemMutationKeys = { + /** All appLimitCreditCodeItem mutation keys */ all: [ + 'mutation', + 'applimitcreditcodeitem', + ] as const, + /** Create appLimitCreditCodeItem mutation key */ create: () => + ['mutation', 'applimitcreditcodeitem', 'create'] as const, + /** Update appLimitCreditCodeItem mutation key */ update: (id: string | number) => + ['mutation', 'applimitcreditcodeitem', 'update', id] as const, + /** Delete appLimitCreditCodeItem mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcreditcodeitem', 'delete', id] as const, +} as const; +export const appLimitCreditMutationKeys = { + /** All appLimitCredit mutation keys */ all: ['mutation', 'applimitcredit'] as const, + /** Create appLimitCredit mutation key */ create: () => + ['mutation', 'applimitcredit', 'create'] as const, + /** Update appLimitCredit mutation key */ update: (id: string | number) => + ['mutation', 'applimitcredit', 'update', id] as const, + /** Delete appLimitCredit mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcredit', 'delete', id] as const, +} as const; export const orgMemberMutationKeys = { /** All orgMember mutation keys */ all: ['mutation', 'orgmember'] as const, /** Create orgMember mutation key */ create: () => ['mutation', 'orgmember', 'create'] as const, @@ -83,6 +116,15 @@ export const appPermissionDefaultMutationKeys = { /** Delete appPermissionDefault mutation key */ delete: (id: string | number) => ['mutation', 'apppermissiondefault', 'delete', id] as const, } as const; +export const appLimitCreditCodeMutationKeys = { + /** All appLimitCreditCode mutation keys */ all: ['mutation', 'applimitcreditcode'] as const, + /** Create appLimitCreditCode mutation key */ create: () => + ['mutation', 'applimitcreditcode', 'create'] as const, + /** Update appLimitCreditCode mutation key */ update: (id: string | number) => + ['mutation', 'applimitcreditcode', 'update', id] as const, + /** Delete appLimitCreditCode mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcreditcode', 'delete', id] as const, +} as const; export const orgPermissionDefaultMutationKeys = { /** All orgPermissionDefault mutation keys */ all: ['mutation', 'orgpermissiondefault'] as const, /** Create orgPermissionDefault mutation key */ create: () => @@ -127,6 +169,42 @@ export const appStepMutationKeys = { /** Delete appStep mutation key */ delete: (id: string | number) => ['mutation', 'appstep', 'delete', id] as const, } as const; +export const appLimitCapsDefaultMutationKeys = { + /** All appLimitCapsDefault mutation keys */ all: ['mutation', 'applimitcapsdefault'] as const, + /** Create appLimitCapsDefault mutation key */ create: () => + ['mutation', 'applimitcapsdefault', 'create'] as const, + /** Update appLimitCapsDefault mutation key */ update: (id: string | number) => + ['mutation', 'applimitcapsdefault', 'update', id] as const, + /** Delete appLimitCapsDefault mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcapsdefault', 'delete', id] as const, +} as const; +export const orgLimitCapsDefaultMutationKeys = { + /** All orgLimitCapsDefault mutation keys */ all: ['mutation', 'orglimitcapsdefault'] as const, + /** Create orgLimitCapsDefault mutation key */ create: () => + ['mutation', 'orglimitcapsdefault', 'create'] as const, + /** Update orgLimitCapsDefault mutation key */ update: (id: string | number) => + ['mutation', 'orglimitcapsdefault', 'update', id] as const, + /** Delete orgLimitCapsDefault mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitcapsdefault', 'delete', id] as const, +} as const; +export const appLimitCapMutationKeys = { + /** All appLimitCap mutation keys */ all: ['mutation', 'applimitcap'] as const, + /** Create appLimitCap mutation key */ create: () => + ['mutation', 'applimitcap', 'create'] as const, + /** Update appLimitCap mutation key */ update: (id: string | number) => + ['mutation', 'applimitcap', 'update', id] as const, + /** Delete appLimitCap mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcap', 'delete', id] as const, +} as const; +export const orgLimitCapMutationKeys = { + /** All orgLimitCap mutation keys */ all: ['mutation', 'orglimitcap'] as const, + /** Create orgLimitCap mutation key */ create: () => + ['mutation', 'orglimitcap', 'create'] as const, + /** Update orgLimitCap mutation key */ update: (id: string | number) => + ['mutation', 'orglimitcap', 'update', id] as const, + /** Delete orgLimitCap mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitcap', 'delete', id] as const, +} as const; export const orgAdminGrantMutationKeys = { /** All orgAdminGrant mutation keys */ all: ['mutation', 'orgadmingrant'] as const, /** Create orgAdminGrant mutation key */ create: () => @@ -172,6 +250,15 @@ export const orgLimitDefaultMutationKeys = { /** Delete orgLimitDefault mutation key */ delete: (id: string | number) => ['mutation', 'orglimitdefault', 'delete', id] as const, } as const; +export const orgLimitCreditMutationKeys = { + /** All orgLimitCredit mutation keys */ all: ['mutation', 'orglimitcredit'] as const, + /** Create orgLimitCredit mutation key */ create: () => + ['mutation', 'orglimitcredit', 'create'] as const, + /** Update orgLimitCredit mutation key */ update: (id: string | number) => + ['mutation', 'orglimitcredit', 'update', id] as const, + /** Delete orgLimitCredit mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitcredit', 'delete', id] as const, +} as const; export const orgChartEdgeGrantMutationKeys = { /** All orgChartEdgeGrant mutation keys */ all: ['mutation', 'orgchartedgegrant'] as const, /** Create orgChartEdgeGrant mutation key */ create: () => @@ -260,23 +347,6 @@ export const orgChartEdgeMutationKeys = { /** Delete orgChartEdge mutation key */ delete: (id: string | number) => ['mutation', 'orgchartedge', 'delete', id] as const, } as const; -export const appLimitMutationKeys = { - /** All appLimit mutation keys */ all: ['mutation', 'applimit'] as const, - /** Create appLimit mutation key */ create: () => ['mutation', 'applimit', 'create'] as const, - /** Update appLimit mutation key */ update: (id: string | number) => - ['mutation', 'applimit', 'update', id] as const, - /** Delete appLimit mutation key */ delete: (id: string | number) => - ['mutation', 'applimit', 'delete', id] as const, -} as const; -export const orgLimitAggregateMutationKeys = { - /** All orgLimitAggregate mutation keys */ all: ['mutation', 'orglimitaggregate'] as const, - /** Create orgLimitAggregate mutation key */ create: () => - ['mutation', 'orglimitaggregate', 'create'] as const, - /** Update orgLimitAggregate mutation key */ update: (id: string | number) => - ['mutation', 'orglimitaggregate', 'update', id] as const, - /** Delete orgLimitAggregate mutation key */ delete: (id: string | number) => - ['mutation', 'orglimitaggregate', 'delete', id] as const, -} as const; export const orgMemberProfileMutationKeys = { /** All orgMemberProfile mutation keys */ all: ['mutation', 'orgmemberprofile'] as const, /** Create orgMemberProfile mutation key */ create: () => @@ -286,14 +356,6 @@ export const orgMemberProfileMutationKeys = { /** Delete orgMemberProfile mutation key */ delete: (id: string | number) => ['mutation', 'orgmemberprofile', 'delete', id] as const, } as const; -export const orgLimitMutationKeys = { - /** All orgLimit mutation keys */ all: ['mutation', 'orglimit'] as const, - /** Create orgLimit mutation key */ create: () => ['mutation', 'orglimit', 'create'] as const, - /** Update orgLimit mutation key */ update: (id: string | number) => - ['mutation', 'orglimit', 'update', id] as const, - /** Delete orgLimit mutation key */ delete: (id: string | number) => - ['mutation', 'orglimit', 'delete', id] as const, -} as const; export const appLevelMutationKeys = { /** All appLevel mutation keys */ all: ['mutation', 'applevel'] as const, /** Create appLevel mutation key */ create: () => ['mutation', 'applevel', 'create'] as const, @@ -302,6 +364,14 @@ export const appLevelMutationKeys = { /** Delete appLevel mutation key */ delete: (id: string | number) => ['mutation', 'applevel', 'delete', id] as const, } as const; +export const appLimitMutationKeys = { + /** All appLimit mutation keys */ all: ['mutation', 'applimit'] as const, + /** Create appLimit mutation key */ create: () => ['mutation', 'applimit', 'create'] as const, + /** Update appLimit mutation key */ update: (id: string | number) => + ['mutation', 'applimit', 'update', id] as const, + /** Delete appLimit mutation key */ delete: (id: string | number) => + ['mutation', 'applimit', 'delete', id] as const, +} as const; export const appInviteMutationKeys = { /** All appInvite mutation keys */ all: ['mutation', 'appinvite'] as const, /** Create appInvite mutation key */ create: () => ['mutation', 'appinvite', 'create'] as const, @@ -319,6 +389,23 @@ export const orgMembershipSettingMutationKeys = { /** Delete orgMembershipSetting mutation key */ delete: (id: string | number) => ['mutation', 'orgmembershipsetting', 'delete', id] as const, } as const; +export const orgLimitAggregateMutationKeys = { + /** All orgLimitAggregate mutation keys */ all: ['mutation', 'orglimitaggregate'] as const, + /** Create orgLimitAggregate mutation key */ create: () => + ['mutation', 'orglimitaggregate', 'create'] as const, + /** Update orgLimitAggregate mutation key */ update: (id: string | number) => + ['mutation', 'orglimitaggregate', 'update', id] as const, + /** Delete orgLimitAggregate mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitaggregate', 'delete', id] as const, +} as const; +export const orgLimitMutationKeys = { + /** All orgLimit mutation keys */ all: ['mutation', 'orglimit'] as const, + /** Create orgLimit mutation key */ create: () => ['mutation', 'orglimit', 'create'] as const, + /** Update orgLimit mutation key */ update: (id: string | number) => + ['mutation', 'orglimit', 'update', id] as const, + /** Delete orgLimit mutation key */ delete: (id: string | number) => + ['mutation', 'orglimit', 'delete', id] as const, +} as const; export const orgInviteMutationKeys = { /** All orgInvite mutation keys */ all: ['mutation', 'orginvite'] as const, /** Create orgInvite mutation key */ create: () => ['mutation', 'orginvite', 'create'] as const, @@ -359,10 +446,6 @@ export const customMutationKeys = { identifier ? (['mutation', 'submitOrgInviteCode', identifier] as const) : (['mutation', 'submitOrgInviteCode'] as const), - /** Mutation key for requestUploadUrl */ requestUploadUrl: (identifier?: string) => - identifier - ? (['mutation', 'requestUploadUrl', identifier] as const) - : (['mutation', 'requestUploadUrl'] as const), /** Mutation key for provisionBucket */ provisionBucket: (identifier?: string) => identifier ? (['mutation', 'provisionBucket', identifier] as const) @@ -396,18 +479,27 @@ export const mutationKeys = { appPermission: appPermissionMutationKeys, orgPermission: orgPermissionMutationKeys, appLevelRequirement: appLevelRequirementMutationKeys, + appLimitCreditRedemption: appLimitCreditRedemptionMutationKeys, + appLimitCreditCodeItem: appLimitCreditCodeItemMutationKeys, + appLimitCredit: appLimitCreditMutationKeys, orgMember: orgMemberMutationKeys, appPermissionDefault: appPermissionDefaultMutationKeys, + appLimitCreditCode: appLimitCreditCodeMutationKeys, orgPermissionDefault: orgPermissionDefaultMutationKeys, appAdminGrant: appAdminGrantMutationKeys, appOwnerGrant: appOwnerGrantMutationKeys, appAchievement: appAchievementMutationKeys, appStep: appStepMutationKeys, + appLimitCapsDefault: appLimitCapsDefaultMutationKeys, + orgLimitCapsDefault: orgLimitCapsDefaultMutationKeys, + appLimitCap: appLimitCapMutationKeys, + orgLimitCap: orgLimitCapMutationKeys, orgAdminGrant: orgAdminGrantMutationKeys, orgOwnerGrant: orgOwnerGrantMutationKeys, membershipType: membershipTypeMutationKeys, appLimitDefault: appLimitDefaultMutationKeys, orgLimitDefault: orgLimitDefaultMutationKeys, + orgLimitCredit: orgLimitCreditMutationKeys, orgChartEdgeGrant: orgChartEdgeGrantMutationKeys, appClaimedInvite: appClaimedInviteMutationKeys, appGrant: appGrantMutationKeys, @@ -418,13 +510,13 @@ export const mutationKeys = { orgLimitEvent: orgLimitEventMutationKeys, orgGrant: orgGrantMutationKeys, orgChartEdge: orgChartEdgeMutationKeys, - appLimit: appLimitMutationKeys, - orgLimitAggregate: orgLimitAggregateMutationKeys, orgMemberProfile: orgMemberProfileMutationKeys, - orgLimit: orgLimitMutationKeys, appLevel: appLevelMutationKeys, + appLimit: appLimitMutationKeys, appInvite: appInviteMutationKeys, orgMembershipSetting: orgMembershipSettingMutationKeys, + orgLimitAggregate: orgLimitAggregateMutationKeys, + orgLimit: orgLimitMutationKeys, orgInvite: orgInviteMutationKeys, appMembership: appMembershipMutationKeys, orgMembership: orgMembershipMutationKeys, diff --git a/sdk/constructive-react/src/admin/hooks/mutations/index.ts b/sdk/constructive-react/src/admin/hooks/mutations/index.ts index 6aed60bcf..92926b297 100644 --- a/sdk/constructive-react/src/admin/hooks/mutations/index.ts +++ b/sdk/constructive-react/src/admin/hooks/mutations/index.ts @@ -14,12 +14,24 @@ export * from './useDeleteOrgPermissionMutation'; export * from './useCreateAppLevelRequirementMutation'; export * from './useUpdateAppLevelRequirementMutation'; export * from './useDeleteAppLevelRequirementMutation'; +export * from './useCreateAppLimitCreditRedemptionMutation'; +export * from './useUpdateAppLimitCreditRedemptionMutation'; +export * from './useDeleteAppLimitCreditRedemptionMutation'; +export * from './useCreateAppLimitCreditCodeItemMutation'; +export * from './useUpdateAppLimitCreditCodeItemMutation'; +export * from './useDeleteAppLimitCreditCodeItemMutation'; +export * from './useCreateAppLimitCreditMutation'; +export * from './useUpdateAppLimitCreditMutation'; +export * from './useDeleteAppLimitCreditMutation'; export * from './useCreateOrgMemberMutation'; export * from './useUpdateOrgMemberMutation'; export * from './useDeleteOrgMemberMutation'; export * from './useCreateAppPermissionDefaultMutation'; export * from './useUpdateAppPermissionDefaultMutation'; export * from './useDeleteAppPermissionDefaultMutation'; +export * from './useCreateAppLimitCreditCodeMutation'; +export * from './useUpdateAppLimitCreditCodeMutation'; +export * from './useDeleteAppLimitCreditCodeMutation'; export * from './useCreateOrgPermissionDefaultMutation'; export * from './useUpdateOrgPermissionDefaultMutation'; export * from './useDeleteOrgPermissionDefaultMutation'; @@ -35,6 +47,18 @@ export * from './useDeleteAppAchievementMutation'; export * from './useCreateAppStepMutation'; export * from './useUpdateAppStepMutation'; export * from './useDeleteAppStepMutation'; +export * from './useCreateAppLimitCapsDefaultMutation'; +export * from './useUpdateAppLimitCapsDefaultMutation'; +export * from './useDeleteAppLimitCapsDefaultMutation'; +export * from './useCreateOrgLimitCapsDefaultMutation'; +export * from './useUpdateOrgLimitCapsDefaultMutation'; +export * from './useDeleteOrgLimitCapsDefaultMutation'; +export * from './useCreateAppLimitCapMutation'; +export * from './useUpdateAppLimitCapMutation'; +export * from './useDeleteAppLimitCapMutation'; +export * from './useCreateOrgLimitCapMutation'; +export * from './useUpdateOrgLimitCapMutation'; +export * from './useDeleteOrgLimitCapMutation'; export * from './useCreateOrgAdminGrantMutation'; export * from './useUpdateOrgAdminGrantMutation'; export * from './useDeleteOrgAdminGrantMutation'; @@ -50,6 +74,9 @@ export * from './useDeleteAppLimitDefaultMutation'; export * from './useCreateOrgLimitDefaultMutation'; export * from './useUpdateOrgLimitDefaultMutation'; export * from './useDeleteOrgLimitDefaultMutation'; +export * from './useCreateOrgLimitCreditMutation'; +export * from './useUpdateOrgLimitCreditMutation'; +export * from './useDeleteOrgLimitCreditMutation'; export * from './useCreateOrgChartEdgeGrantMutation'; export * from './useUpdateOrgChartEdgeGrantMutation'; export * from './useDeleteOrgChartEdgeGrantMutation'; @@ -76,27 +103,27 @@ export * from './useDeleteOrgGrantMutation'; export * from './useCreateOrgChartEdgeMutation'; export * from './useUpdateOrgChartEdgeMutation'; export * from './useDeleteOrgChartEdgeMutation'; -export * from './useCreateAppLimitMutation'; -export * from './useUpdateAppLimitMutation'; -export * from './useDeleteAppLimitMutation'; -export * from './useCreateOrgLimitAggregateMutation'; -export * from './useUpdateOrgLimitAggregateMutation'; -export * from './useDeleteOrgLimitAggregateMutation'; export * from './useCreateOrgMemberProfileMutation'; export * from './useUpdateOrgMemberProfileMutation'; export * from './useDeleteOrgMemberProfileMutation'; -export * from './useCreateOrgLimitMutation'; -export * from './useUpdateOrgLimitMutation'; -export * from './useDeleteOrgLimitMutation'; export * from './useCreateAppLevelMutation'; export * from './useUpdateAppLevelMutation'; export * from './useDeleteAppLevelMutation'; +export * from './useCreateAppLimitMutation'; +export * from './useUpdateAppLimitMutation'; +export * from './useDeleteAppLimitMutation'; export * from './useCreateAppInviteMutation'; export * from './useUpdateAppInviteMutation'; export * from './useDeleteAppInviteMutation'; export * from './useCreateOrgMembershipSettingMutation'; export * from './useUpdateOrgMembershipSettingMutation'; export * from './useDeleteOrgMembershipSettingMutation'; +export * from './useCreateOrgLimitAggregateMutation'; +export * from './useUpdateOrgLimitAggregateMutation'; +export * from './useDeleteOrgLimitAggregateMutation'; +export * from './useCreateOrgLimitMutation'; +export * from './useUpdateOrgLimitMutation'; +export * from './useDeleteOrgLimitMutation'; export * from './useCreateOrgInviteMutation'; export * from './useUpdateOrgInviteMutation'; export * from './useDeleteOrgInviteMutation'; @@ -108,5 +135,4 @@ export * from './useUpdateOrgMembershipMutation'; export * from './useDeleteOrgMembershipMutation'; export * from './useSubmitAppInviteCodeMutation'; export * from './useSubmitOrgInviteCodeMutation'; -export * from './useRequestUploadUrlMutation'; export * from './useProvisionBucketMutation'; diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCapMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCapMutation.ts new file mode 100644 index 000000000..057ed1bda --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCapMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import { appLimitCapMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapSelect, + AppLimitCapWithRelations, + CreateAppLimitCapInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapSelect, + AppLimitCapWithRelations, + CreateAppLimitCapInput, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCapMutation( + params: { + selection: { + fields: S & AppLimitCapSelect; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapInput['appLimitCap'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapInput['appLimitCap'] +>; +export function useCreateAppLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapMutationKeys.create(), + mutationFn: (data: CreateAppLimitCapInput['appLimitCap']) => + getClient() + .appLimitCap.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..deb3d56ba --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCapsDefaultMutation.ts @@ -0,0 +1,91 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import { appLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + CreateAppLimitCapsDefaultInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + CreateAppLimitCapsDefaultInput, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCapsDefaultMutation( + params: { + selection: { + fields: S & AppLimitCapsDefaultSelect; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapsDefaultInput['appLimitCapsDefault'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapsDefaultInput['appLimitCapsDefault'] +>; +export function useCreateAppLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapsDefaultMutationKeys.create(), + mutationFn: (data: CreateAppLimitCapsDefaultInput['appLimitCapsDefault']) => + getClient() + .appLimitCapsDefault.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditCodeItemMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditCodeItemMutation.ts new file mode 100644 index 000000000..5babc7b22 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditCodeItemMutation.ts @@ -0,0 +1,91 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import { appLimitCreditCodeItemMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + CreateAppLimitCreditCodeItemInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + CreateAppLimitCreditCodeItemInput, +} from '../../orm/input-types'; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditCodeItemMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditCodeItemMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeItemSelect; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem'] +>; +export function useCreateAppLimitCreditCodeItemMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeItemMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem']) => + getClient() + .appLimitCreditCodeItem.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditCodeMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditCodeMutation.ts new file mode 100644 index 000000000..0fd950f9a --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditCodeMutation.ts @@ -0,0 +1,91 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import { appLimitCreditCodeMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + CreateAppLimitCreditCodeInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + CreateAppLimitCreditCodeInput, +} from '../../orm/input-types'; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditCodeMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditCodeMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeSelect; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeInput['appLimitCreditCode'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeInput['appLimitCreditCode'] +>; +export function useCreateAppLimitCreditCodeMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditCodeInput['appLimitCreditCode']) => + getClient() + .appLimitCreditCode.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditMutation.ts new file mode 100644 index 000000000..0b731bf13 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditMutation.ts @@ -0,0 +1,91 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import { appLimitCreditMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + CreateAppLimitCreditInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + CreateAppLimitCreditInput, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditMutation( + params: { + selection: { + fields: S & AppLimitCreditSelect; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditInput['appLimitCredit'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditInput['appLimitCredit'] +>; +export function useCreateAppLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditInput['appLimitCredit']) => + getClient() + .appLimitCredit.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditRedemptionMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditRedemptionMutation.ts new file mode 100644 index 000000000..b745e34f4 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateAppLimitCreditRedemptionMutation.ts @@ -0,0 +1,91 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import { appLimitCreditRedemptionMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + CreateAppLimitCreditRedemptionInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + CreateAppLimitCreditRedemptionInput, +} from '../../orm/input-types'; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditRedemptionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditRedemptionMutation( + params: { + selection: { + fields: S & AppLimitCreditRedemptionSelect; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption'] +>; +export function useCreateAppLimitCreditRedemptionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditRedemptionMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption']) => + getClient() + .appLimitCreditRedemption.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCapMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCapMutation.ts new file mode 100644 index 000000000..b9379cd91 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCapMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import { orgLimitCapMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + CreateOrgLimitCapInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + CreateOrgLimitCapInput, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateOrgLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateOrgLimitCapMutation( + params: { + selection: { + fields: S & OrgLimitCapSelect; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapInput['orgLimitCap'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapInput['orgLimitCap'] +>; +export function useCreateOrgLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapMutationKeys.create(), + mutationFn: (data: CreateOrgLimitCapInput['orgLimitCap']) => + getClient() + .orgLimitCap.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..02eadbe20 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCapsDefaultMutation.ts @@ -0,0 +1,91 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import { orgLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + CreateOrgLimitCapsDefaultInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + CreateOrgLimitCapsDefaultInput, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateOrgLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateOrgLimitCapsDefaultMutation( + params: { + selection: { + fields: S & OrgLimitCapsDefaultSelect; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault'] +>; +export function useCreateOrgLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapsDefaultMutationKeys.create(), + mutationFn: (data: CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault']) => + getClient() + .orgLimitCapsDefault.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCreditMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCreditMutation.ts new file mode 100644 index 000000000..fc986c124 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useCreateOrgLimitCreditMutation.ts @@ -0,0 +1,91 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import { orgLimitCreditMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + CreateOrgLimitCreditInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + CreateOrgLimitCreditInput, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateOrgLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateOrgLimitCreditMutation( + params: { + selection: { + fields: S & OrgLimitCreditSelect; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCreditInput['orgLimitCredit'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCreditInput['orgLimitCredit'] +>; +export function useCreateOrgLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCreditMutationKeys.create(), + mutationFn: (data: CreateOrgLimitCreditInput['orgLimitCredit']) => + getClient() + .orgLimitCredit.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCapMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCapMutation.ts new file mode 100644 index 000000000..0e569e8ea --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCapMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import { appLimitCapMutationKeys } from '../mutation-keys'; +import type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCapMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCapMutation( + params: { + selection: { + fields: S & AppLimitCapSelect; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCap.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..ce11fa078 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCapsDefaultMutation.ts @@ -0,0 +1,104 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import { appLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCapsDefaultMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCapsDefaultMutation( + params: { + selection: { + fields: S & AppLimitCapsDefaultSelect; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapsDefaultMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCapsDefault.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditCodeItemMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditCodeItemMutation.ts new file mode 100644 index 000000000..22f5ce1ad --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditCodeItemMutation.ts @@ -0,0 +1,104 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import { appLimitCreditCodeItemMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditCodeItemMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditCodeItemMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeItemSelect; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditCodeItemMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeItemMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCreditCodeItem.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditCodeMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditCodeMutation.ts new file mode 100644 index 000000000..0d9e7d835 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditCodeMutation.ts @@ -0,0 +1,104 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import { appLimitCreditCodeMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditCodeMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditCodeMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeSelect; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditCodeMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCreditCode.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditMutation.ts new file mode 100644 index 000000000..49998d5fc --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditMutation.ts @@ -0,0 +1,98 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import { appLimitCreditMutationKeys } from '../mutation-keys'; +import type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditMutation( + params: { + selection: { + fields: S & AppLimitCreditSelect; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCredit.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditRedemptionMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditRedemptionMutation.ts new file mode 100644 index 000000000..98cb4c2e0 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteAppLimitCreditRedemptionMutation.ts @@ -0,0 +1,104 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import { appLimitCreditRedemptionMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditRedemptionMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditRedemptionMutation( + params: { + selection: { + fields: S & AppLimitCreditRedemptionSelect; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditRedemptionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditRedemptionMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCreditRedemption.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCapMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCapMutation.ts new file mode 100644 index 000000000..83d7ac598 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCapMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import { orgLimitCapMutationKeys } from '../mutation-keys'; +import type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteOrgLimitCapMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteOrgLimitCapMutation( + params: { + selection: { + fields: S & OrgLimitCapSelect; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteOrgLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .orgLimitCap.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: orgLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..f1d705fc2 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCapsDefaultMutation.ts @@ -0,0 +1,104 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import { orgLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteOrgLimitCapsDefaultMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteOrgLimitCapsDefaultMutation( + params: { + selection: { + fields: S & OrgLimitCapsDefaultSelect; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteOrgLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapsDefaultMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .orgLimitCapsDefault.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCreditMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCreditMutation.ts new file mode 100644 index 000000000..339bba9bd --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useDeleteOrgLimitCreditMutation.ts @@ -0,0 +1,98 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import { orgLimitCreditMutationKeys } from '../mutation-keys'; +import type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteOrgLimitCreditMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteOrgLimitCreditMutation( + params: { + selection: { + fields: S & OrgLimitCreditSelect; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteOrgLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCreditMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .orgLimitCredit.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: orgLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCapMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCapMutation.ts new file mode 100644 index 000000000..965a60280 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCapMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import { appLimitCapMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapPatch, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCapPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCapMutation( + params: { + selection: { + fields: S & AppLimitCapSelect; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapPatch: AppLimitCapPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapPatch: AppLimitCapPatch; + } +>; +export function useUpdateAppLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCapPatch: AppLimitCapPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapMutationKeys.all, + mutationFn: ({ id, appLimitCapPatch }: { id: string; appLimitCapPatch: AppLimitCapPatch }) => + getClient() + .appLimitCap.update({ + where: { + id, + }, + data: appLimitCapPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..f881cbfa9 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCapsDefaultMutation.ts @@ -0,0 +1,116 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import { appLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultPatch, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCapsDefaultPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCapsDefaultMutation( + params: { + selection: { + fields: S & AppLimitCapsDefaultSelect; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + } +>; +export function useUpdateAppLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapsDefaultMutationKeys.all, + mutationFn: ({ + id, + appLimitCapsDefaultPatch, + }: { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + }) => + getClient() + .appLimitCapsDefault.update({ + where: { + id, + }, + data: appLimitCapsDefaultPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditCodeItemMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditCodeItemMutation.ts new file mode 100644 index 000000000..fc06f9059 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditCodeItemMutation.ts @@ -0,0 +1,116 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import { appLimitCreditCodeItemMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemPatch, +} from '../../orm/input-types'; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditCodeItemMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditCodeItemPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditCodeItemMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeItemSelect; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + } +>; +export function useUpdateAppLimitCreditCodeItemMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeItemMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditCodeItemPatch, + }: { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + }) => + getClient() + .appLimitCreditCodeItem.update({ + where: { + id, + }, + data: appLimitCreditCodeItemPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditCodeMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditCodeMutation.ts new file mode 100644 index 000000000..2fcf15adf --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditCodeMutation.ts @@ -0,0 +1,116 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import { appLimitCreditCodeMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodePatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodePatch, +} from '../../orm/input-types'; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditCodeMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditCodePatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditCodeMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeSelect; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + } +>; +export function useUpdateAppLimitCreditCodeMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditCodePatch, + }: { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + }) => + getClient() + .appLimitCreditCode.update({ + where: { + id, + }, + data: appLimitCreditCodePatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditMutation.ts new file mode 100644 index 000000000..4283aef63 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditMutation.ts @@ -0,0 +1,116 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import { appLimitCreditMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditPatch, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditMutation( + params: { + selection: { + fields: S & AppLimitCreditSelect; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + } +>; +export function useUpdateAppLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditPatch, + }: { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + }) => + getClient() + .appLimitCredit.update({ + where: { + id, + }, + data: appLimitCreditPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditRedemptionMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditRedemptionMutation.ts new file mode 100644 index 000000000..d1181e58a --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateAppLimitCreditRedemptionMutation.ts @@ -0,0 +1,116 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import { appLimitCreditRedemptionMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionPatch, +} from '../../orm/input-types'; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditRedemptionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditRedemptionPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditRedemptionMutation( + params: { + selection: { + fields: S & AppLimitCreditRedemptionSelect; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + } +>; +export function useUpdateAppLimitCreditRedemptionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditRedemptionMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditRedemptionPatch, + }: { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + }) => + getClient() + .appLimitCreditRedemption.update({ + where: { + id, + }, + data: appLimitCreditRedemptionPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCapMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCapMutation.ts new file mode 100644 index 000000000..042098c77 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCapMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import { orgLimitCapMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapPatch, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateOrgLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', orgLimitCapPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateOrgLimitCapMutation( + params: { + selection: { + fields: S & OrgLimitCapSelect; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapPatch: OrgLimitCapPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapPatch: OrgLimitCapPatch; + } +>; +export function useUpdateOrgLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + orgLimitCapPatch: OrgLimitCapPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapMutationKeys.all, + mutationFn: ({ id, orgLimitCapPatch }: { id: string; orgLimitCapPatch: OrgLimitCapPatch }) => + getClient() + .orgLimitCap.update({ + where: { + id, + }, + data: orgLimitCapPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..9d7b74e93 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCapsDefaultMutation.ts @@ -0,0 +1,116 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import { orgLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultPatch, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateOrgLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', orgLimitCapsDefaultPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateOrgLimitCapsDefaultMutation( + params: { + selection: { + fields: S & OrgLimitCapsDefaultSelect; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + } +>; +export function useUpdateOrgLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapsDefaultMutationKeys.all, + mutationFn: ({ + id, + orgLimitCapsDefaultPatch, + }: { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + }) => + getClient() + .orgLimitCapsDefault.update({ + where: { + id, + }, + data: orgLimitCapsDefaultPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCreditMutation.ts b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCreditMutation.ts new file mode 100644 index 000000000..deb27f48d --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/mutations/useUpdateOrgLimitCreditMutation.ts @@ -0,0 +1,116 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import { orgLimitCreditMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditPatch, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateOrgLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', orgLimitCreditPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateOrgLimitCreditMutation( + params: { + selection: { + fields: S & OrgLimitCreditSelect; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + } +>; +export function useUpdateOrgLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCreditMutationKeys.all, + mutationFn: ({ + id, + orgLimitCreditPatch, + }: { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + }) => + getClient() + .orgLimitCredit.update({ + where: { + id, + }, + data: orgLimitCreditPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/index.ts b/sdk/constructive-react/src/admin/hooks/queries/index.ts index 4c2f2f3ca..e75c1600d 100644 --- a/sdk/constructive-react/src/admin/hooks/queries/index.ts +++ b/sdk/constructive-react/src/admin/hooks/queries/index.ts @@ -11,10 +11,18 @@ export * from './useOrgPermissionsQuery'; export * from './useOrgPermissionQuery'; export * from './useAppLevelRequirementsQuery'; export * from './useAppLevelRequirementQuery'; +export * from './useAppLimitCreditRedemptionsQuery'; +export * from './useAppLimitCreditRedemptionQuery'; +export * from './useAppLimitCreditCodeItemsQuery'; +export * from './useAppLimitCreditCodeItemQuery'; +export * from './useAppLimitCreditsQuery'; +export * from './useAppLimitCreditQuery'; export * from './useOrgMembersQuery'; export * from './useOrgMemberQuery'; export * from './useAppPermissionDefaultsQuery'; export * from './useAppPermissionDefaultQuery'; +export * from './useAppLimitCreditCodesQuery'; +export * from './useAppLimitCreditCodeQuery'; export * from './useOrgPermissionDefaultsQuery'; export * from './useOrgPermissionDefaultQuery'; export * from './useAppAdminGrantsQuery'; @@ -25,6 +33,14 @@ export * from './useAppAchievementsQuery'; export * from './useAppAchievementQuery'; export * from './useAppStepsQuery'; export * from './useAppStepQuery'; +export * from './useAppLimitCapsDefaultsQuery'; +export * from './useAppLimitCapsDefaultQuery'; +export * from './useOrgLimitCapsDefaultsQuery'; +export * from './useOrgLimitCapsDefaultQuery'; +export * from './useAppLimitCapsQuery'; +export * from './useAppLimitCapQuery'; +export * from './useOrgLimitCapsQuery'; +export * from './useOrgLimitCapQuery'; export * from './useOrgAdminGrantsQuery'; export * from './useOrgAdminGrantQuery'; export * from './useOrgOwnerGrantsQuery'; @@ -35,6 +51,8 @@ export * from './useAppLimitDefaultsQuery'; export * from './useAppLimitDefaultQuery'; export * from './useOrgLimitDefaultsQuery'; export * from './useOrgLimitDefaultQuery'; +export * from './useOrgLimitCreditsQuery'; +export * from './useOrgLimitCreditQuery'; export * from './useOrgChartEdgeGrantsQuery'; export * from './useOrgChartEdgeGrantQuery'; export * from './useAppClaimedInvitesQuery'; @@ -53,20 +71,20 @@ export * from './useOrgGrantsQuery'; export * from './useOrgGrantQuery'; export * from './useOrgChartEdgesQuery'; export * from './useOrgChartEdgeQuery'; -export * from './useAppLimitsQuery'; -export * from './useAppLimitQuery'; -export * from './useOrgLimitAggregatesQuery'; -export * from './useOrgLimitAggregateQuery'; export * from './useOrgMemberProfilesQuery'; export * from './useOrgMemberProfileQuery'; -export * from './useOrgLimitsQuery'; -export * from './useOrgLimitQuery'; export * from './useAppLevelsQuery'; export * from './useAppLevelQuery'; +export * from './useAppLimitsQuery'; +export * from './useAppLimitQuery'; export * from './useAppInvitesQuery'; export * from './useAppInviteQuery'; export * from './useOrgMembershipSettingsQuery'; export * from './useOrgMembershipSettingQuery'; +export * from './useOrgLimitAggregatesQuery'; +export * from './useOrgLimitAggregateQuery'; +export * from './useOrgLimitsQuery'; +export * from './useOrgLimitQuery'; export * from './useOrgInvitesQuery'; export * from './useOrgInviteQuery'; export * from './useAppMembershipsQuery'; diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapQuery.ts new file mode 100644 index 000000000..eaa378033 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapQueryKey = appLimitCapKeys.detail; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCapQuery< + S extends AppLimitCapSelect, + TData = { + appLimitCap: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCap: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchAppLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCapQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapSelect>; +}): Promise<{ + appLimitCap: InferSelectResult | null; +}>; +export async function fetchAppLimitCapQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchAppLimitCapQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapSelect>; + } +): Promise; +export async function prefetchAppLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsDefaultQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsDefaultQuery.ts new file mode 100644 index 000000000..b83e08353 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsDefaultQuery.ts @@ -0,0 +1,144 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapsDefaultQueryKey = appLimitCapsDefaultKeys.detail; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCapsDefaultQuery< + S extends AppLimitCapsDefaultSelect, + TData = { + appLimitCapsDefault: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCapsDefault: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapsDefaultQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchAppLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCapsDefaultQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; +}): Promise<{ + appLimitCapsDefault: InferSelectResult | null; +}>; +export async function fetchAppLimitCapsDefaultQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchAppLimitCapsDefaultQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchAppLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsDefaultsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsDefaultsQuery.ts new file mode 100644 index 000000000..9b50cb574 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsDefaultsQuery.ts @@ -0,0 +1,174 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapsDefaultsQueryKey = appLimitCapsDefaultKeys.list; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCapsDefaultsQuery< + S extends AppLimitCapsDefaultSelect, + TData = { + appLimitCapsDefaults: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCapsDefaults: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapsDefaultsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().appLimitCapsDefault.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchAppLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCapsDefaultsQuery(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCapsDefaultSelect>; +}): Promise<{ + appLimitCapsDefaults: ConnectionResult>; +}>; +export async function fetchAppLimitCapsDefaultsQuery(params: { + selection: ListSelectionConfig< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >(params.selection); + return getClient().appLimitCapsDefault.findMany(args).unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchAppLimitCapsDefaultsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchAppLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().appLimitCapsDefault.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsQuery.ts new file mode 100644 index 000000000..527d7116c --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCapsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapFilter, + AppLimitCapOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapFilter, + AppLimitCapOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapsQueryKey = appLimitCapKeys.list; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCapsQuery< + S extends AppLimitCapSelect, + TData = { + appLimitCaps: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCaps: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapKeys.list(args), + queryFn: () => getClient().appLimitCap.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchAppLimitCapsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCapsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCapSelect>; +}): Promise<{ + appLimitCaps: ConnectionResult>; +}>; +export async function fetchAppLimitCapsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().appLimitCap.findMany(args).unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchAppLimitCapsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCapSelect>; + } +): Promise; +export async function prefetchAppLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: appLimitCapKeys.list(args), + queryFn: () => getClient().appLimitCap.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeItemQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeItemQuery.ts new file mode 100644 index 000000000..684213c82 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeItemQuery.ts @@ -0,0 +1,146 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodeItemQueryKey = appLimitCreditCodeItemKeys.detail; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodeItemQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditCodeItemQuery< + S extends AppLimitCreditCodeItemSelect, + TData = { + appLimitCreditCodeItem: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCodeItem: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodeItemQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeItemKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCodeItem.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodeItemQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodeItemQuery< + S extends AppLimitCreditCodeItemSelect, +>(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; +}): Promise<{ + appLimitCreditCodeItem: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditCodeItemQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCreditCodeItem.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * await prefetchAppLimitCreditCodeItemQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditCodeItemQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodeItemQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeItemKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCodeItem.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeItemsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeItemsQuery.ts new file mode 100644 index 000000000..8e026ce03 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeItemsQuery.ts @@ -0,0 +1,180 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodeItemsQueryKey = appLimitCreditCodeItemKeys.list; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodeItemsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditCodeItemsQuery< + S extends AppLimitCreditCodeItemSelect, + TData = { + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodeItemsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeItemKeys.list(args), + queryFn: () => getClient().appLimitCreditCodeItem.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodeItemsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodeItemsQuery< + S extends AppLimitCreditCodeItemSelect, +>(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeItemSelect>; +}): Promise<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; +}>; +export async function fetchAppLimitCreditCodeItemsQuery(params: { + selection: ListSelectionConfig< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >(params.selection); + return getClient().appLimitCreditCodeItem.findMany(args).unwrap(); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * await prefetchAppLimitCreditCodeItemsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditCodeItemsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeItemSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodeItemsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeItemKeys.list(args), + queryFn: () => getClient().appLimitCreditCodeItem.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeQuery.ts new file mode 100644 index 000000000..4064c3a52 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodeQuery.ts @@ -0,0 +1,144 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodeQueryKey = appLimitCreditCodeKeys.detail; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodeQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditCodeQuery< + S extends AppLimitCreditCodeSelect, + TData = { + appLimitCreditCode: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCode: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodeQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCode.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodeQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodeQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeSelect>; +}): Promise<{ + appLimitCreditCode: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditCodeQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCreditCode.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * await prefetchAppLimitCreditCodeQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditCodeQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodeQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCode.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodesQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodesQuery.ts new file mode 100644 index 000000000..c69d74cd1 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditCodesQuery.ts @@ -0,0 +1,171 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodesQueryKey = appLimitCreditCodeKeys.list; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodesQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditCodesQuery< + S extends AppLimitCreditCodeSelect, + TData = { + appLimitCreditCodes: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCodes: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodesQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeKeys.list(args), + queryFn: () => getClient().appLimitCreditCode.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodesQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodesQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditCodeSelect>; +}): Promise<{ + appLimitCreditCodes: ConnectionResult>; +}>; +export async function fetchAppLimitCreditCodesQuery(params: { + selection: ListSelectionConfig< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >(params.selection); + return getClient().appLimitCreditCode.findMany(args).unwrap(); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * await prefetchAppLimitCreditCodesQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditCodesQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodesQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeKeys.list(args), + queryFn: () => getClient().appLimitCreditCode.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditQuery.ts new file mode 100644 index 000000000..126746048 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditQuery.ts @@ -0,0 +1,138 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditQueryKey = appLimitCreditKeys.detail; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditQuery< + S extends AppLimitCreditSelect, + TData = { + appLimitCredit: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCredit: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchAppLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditSelect>; +}): Promise<{ + appLimitCredit: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchAppLimitCreditQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditSelect>; + } +): Promise; +export async function prefetchAppLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditRedemptionQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditRedemptionQuery.ts new file mode 100644 index 000000000..7ab69db6a --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditRedemptionQuery.ts @@ -0,0 +1,151 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditRedemptionQueryKey = appLimitCreditRedemptionKeys.detail; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditRedemptionQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditRedemptionQuery< + S extends AppLimitCreditRedemptionSelect, + TData = { + appLimitCreditRedemption: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditRedemption: InferSelectResult< + AppLimitCreditRedemptionWithRelations, + S + > | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditRedemptionQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditRedemptionKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditRedemption.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * const data = await fetchAppLimitCreditRedemptionQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditRedemptionQuery< + S extends AppLimitCreditRedemptionSelect, +>(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; +}): Promise<{ + appLimitCreditRedemption: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditRedemptionQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCreditRedemption.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * await prefetchAppLimitCreditRedemptionQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditRedemptionQuery< + S extends AppLimitCreditRedemptionSelect, +>( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } +): Promise; +export async function prefetchAppLimitCreditRedemptionQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditRedemptionKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditRedemption.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditRedemptionsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditRedemptionsQuery.ts new file mode 100644 index 000000000..099a5d24b --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditRedemptionsQuery.ts @@ -0,0 +1,182 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditRedemptionsQueryKey = appLimitCreditRedemptionKeys.list; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditRedemptionsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditRedemptionsQuery< + S extends AppLimitCreditRedemptionSelect, + TData = { + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditRedemptionsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditRedemptionKeys.list(args), + queryFn: () => getClient().appLimitCreditRedemption.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * const data = await fetchAppLimitCreditRedemptionsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditRedemptionsQuery< + S extends AppLimitCreditRedemptionSelect, +>(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditRedemptionSelect>; +}): Promise<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; +}>; +export async function fetchAppLimitCreditRedemptionsQuery(params: { + selection: ListSelectionConfig< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >(params.selection); + return getClient().appLimitCreditRedemption.findMany(args).unwrap(); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * await prefetchAppLimitCreditRedemptionsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditRedemptionsQuery< + S extends AppLimitCreditRedemptionSelect, +>( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditRedemptionSelect>; + } +): Promise; +export async function prefetchAppLimitCreditRedemptionsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditRedemptionKeys.list(args), + queryFn: () => getClient().appLimitCreditRedemption.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditsQuery.ts new file mode 100644 index 000000000..30d99ddbe --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useAppLimitCreditsQuery.ts @@ -0,0 +1,159 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditFilter, + AppLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditFilter, + AppLimitCreditOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditsQueryKey = appLimitCreditKeys.list; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditsQuery< + S extends AppLimitCreditSelect, + TData = { + appLimitCredits: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCredits: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditKeys.list(args), + queryFn: () => getClient().appLimitCredit.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchAppLimitCreditsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditSelect>; +}): Promise<{ + appLimitCredits: ConnectionResult>; +}>; +export async function fetchAppLimitCreditsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >(params.selection); + return getClient().appLimitCredit.findMany(args).unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchAppLimitCreditsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditSelect>; + } +): Promise; +export async function prefetchAppLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditKeys.list(args), + queryFn: () => getClient().appLimitCredit.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapQuery.ts new file mode 100644 index 000000000..14f620cbe --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapQueryKey = orgLimitCapKeys.detail; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useOrgLimitCapQuery< + S extends OrgLimitCapSelect, + TData = { + orgLimitCap: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCap: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchOrgLimitCapQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapSelect>; +}): Promise<{ + orgLimitCap: InferSelectResult | null; +}>; +export async function fetchOrgLimitCapQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .orgLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchOrgLimitCapQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchOrgLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapSelect>; + } +): Promise; +export async function prefetchOrgLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsDefaultQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsDefaultQuery.ts new file mode 100644 index 000000000..d8ba258b5 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsDefaultQuery.ts @@ -0,0 +1,144 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapsDefaultQueryKey = orgLimitCapsDefaultKeys.detail; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useOrgLimitCapsDefaultQuery< + S extends OrgLimitCapsDefaultSelect, + TData = { + orgLimitCapsDefault: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCapsDefault: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapsDefaultQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchOrgLimitCapsDefaultQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; +}): Promise<{ + orgLimitCapsDefault: InferSelectResult | null; +}>; +export async function fetchOrgLimitCapsDefaultQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .orgLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchOrgLimitCapsDefaultQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchOrgLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchOrgLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsDefaultsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsDefaultsQuery.ts new file mode 100644 index 000000000..2d94c1883 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsDefaultsQuery.ts @@ -0,0 +1,174 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapsDefaultsQueryKey = orgLimitCapsDefaultKeys.list; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useOrgLimitCapsDefaultsQuery< + S extends OrgLimitCapsDefaultSelect, + TData = { + orgLimitCapsDefaults: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCapsDefaults: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapsDefaultsQuery( + params: { + selection: ListSelectionConfig< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().orgLimitCapsDefault.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchOrgLimitCapsDefaultsQuery(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, OrgLimitCapsDefaultSelect>; +}): Promise<{ + orgLimitCapsDefaults: ConnectionResult>; +}>; +export async function fetchOrgLimitCapsDefaultsQuery(params: { + selection: ListSelectionConfig< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >; +}) { + const args = buildListSelectionArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >(params.selection); + return getClient().orgLimitCapsDefault.findMany(args).unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchOrgLimitCapsDefaultsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchOrgLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, OrgLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchOrgLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().orgLimitCapsDefault.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsQuery.ts new file mode 100644 index 000000000..66139a68c --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCapsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapFilter, + OrgLimitCapOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapFilter, + OrgLimitCapOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapsQueryKey = orgLimitCapKeys.list; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useOrgLimitCapsQuery< + S extends OrgLimitCapSelect, + TData = { + orgLimitCaps: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCaps: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapKeys.list(args), + queryFn: () => getClient().orgLimitCap.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchOrgLimitCapsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCapSelect>; +}): Promise<{ + orgLimitCaps: ConnectionResult>; +}>; +export async function fetchOrgLimitCapsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().orgLimitCap.findMany(args).unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchOrgLimitCapsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchOrgLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCapSelect>; + } +): Promise; +export async function prefetchOrgLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapKeys.list(args), + queryFn: () => getClient().orgLimitCap.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCreditQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCreditQuery.ts new file mode 100644 index 000000000..b8c62a26e --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCreditQuery.ts @@ -0,0 +1,138 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCreditQueryKey = orgLimitCreditKeys.detail; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useOrgLimitCreditQuery< + S extends OrgLimitCreditSelect, + TData = { + orgLimitCredit: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCredit: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCreditQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchOrgLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchOrgLimitCreditQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCreditSelect>; +}): Promise<{ + orgLimitCredit: InferSelectResult | null; +}>; +export async function fetchOrgLimitCreditQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .orgLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchOrgLimitCreditQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchOrgLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCreditSelect>; + } +): Promise; +export async function prefetchOrgLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCreditsQuery.ts b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCreditsQuery.ts new file mode 100644 index 000000000..7f8786ae3 --- /dev/null +++ b/sdk/constructive-react/src/admin/hooks/queries/useOrgLimitCreditsQuery.ts @@ -0,0 +1,159 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCreditsQueryKey = orgLimitCreditKeys.list; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCreditsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useOrgLimitCreditsQuery< + S extends OrgLimitCreditSelect, + TData = { + orgLimitCredits: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCredits: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCreditsQuery( + params: { + selection: ListSelectionConfig< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCreditKeys.list(args), + queryFn: () => getClient().orgLimitCredit.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchOrgLimitCreditsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchOrgLimitCreditsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCreditSelect>; +}): Promise<{ + orgLimitCredits: ConnectionResult>; +}>; +export async function fetchOrgLimitCreditsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >(params.selection); + return getClient().orgLimitCredit.findMany(args).unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchOrgLimitCreditsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchOrgLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCreditSelect>; + } +): Promise; +export async function prefetchOrgLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCreditKeys.list(args), + queryFn: () => getClient().orgLimitCredit.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/admin/hooks/query-keys.ts b/sdk/constructive-react/src/admin/hooks/query-keys.ts index 649c585bc..3a4011397 100644 --- a/sdk/constructive-react/src/admin/hooks/query-keys.ts +++ b/sdk/constructive-react/src/admin/hooks/query-keys.ts @@ -64,6 +64,33 @@ export const appLevelRequirementKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appLevelRequirementKeys.details(), id] as const, } as const; +export const appLimitCreditRedemptionKeys = { + /** All appLimitCreditRedemption queries */ all: ['applimitcreditredemption'] as const, + /** List query keys */ lists: () => [...appLimitCreditRedemptionKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditRedemptionKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditRedemptionKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditRedemptionKeys.details(), id] as const, +} as const; +export const appLimitCreditCodeItemKeys = { + /** All appLimitCreditCodeItem queries */ all: ['applimitcreditcodeitem'] as const, + /** List query keys */ lists: () => [...appLimitCreditCodeItemKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditCodeItemKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditCodeItemKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditCodeItemKeys.details(), id] as const, +} as const; +export const appLimitCreditKeys = { + /** All appLimitCredit queries */ all: ['applimitcredit'] as const, + /** List query keys */ lists: () => [...appLimitCreditKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditKeys.details(), id] as const, +} as const; export const orgMemberKeys = { /** All orgMember queries */ all: ['orgmember'] as const, /** List query keys */ lists: () => [...orgMemberKeys.all, 'list'] as const, @@ -82,6 +109,15 @@ export const appPermissionDefaultKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appPermissionDefaultKeys.details(), id] as const, } as const; +export const appLimitCreditCodeKeys = { + /** All appLimitCreditCode queries */ all: ['applimitcreditcode'] as const, + /** List query keys */ lists: () => [...appLimitCreditCodeKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditCodeKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditCodeKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditCodeKeys.details(), id] as const, +} as const; export const orgPermissionDefaultKeys = { /** All orgPermissionDefault queries */ all: ['orgpermissiondefault'] as const, /** List query keys */ lists: () => [...orgPermissionDefaultKeys.all, 'list'] as const, @@ -127,6 +163,42 @@ export const appStepKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appStepKeys.details(), id] as const, } as const; +export const appLimitCapsDefaultKeys = { + /** All appLimitCapsDefault queries */ all: ['applimitcapsdefault'] as const, + /** List query keys */ lists: () => [...appLimitCapsDefaultKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCapsDefaultKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCapsDefaultKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCapsDefaultKeys.details(), id] as const, +} as const; +export const orgLimitCapsDefaultKeys = { + /** All orgLimitCapsDefault queries */ all: ['orglimitcapsdefault'] as const, + /** List query keys */ lists: () => [...orgLimitCapsDefaultKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitCapsDefaultKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitCapsDefaultKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitCapsDefaultKeys.details(), id] as const, +} as const; +export const appLimitCapKeys = { + /** All appLimitCap queries */ all: ['applimitcap'] as const, + /** List query keys */ lists: () => [...appLimitCapKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCapKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCapKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCapKeys.details(), id] as const, +} as const; +export const orgLimitCapKeys = { + /** All orgLimitCap queries */ all: ['orglimitcap'] as const, + /** List query keys */ lists: () => [...orgLimitCapKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitCapKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitCapKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitCapKeys.details(), id] as const, +} as const; export const orgAdminGrantKeys = { /** All orgAdminGrant queries */ all: ['orgadmingrant'] as const, /** List query keys */ lists: () => [...orgAdminGrantKeys.all, 'list'] as const, @@ -172,6 +244,15 @@ export const orgLimitDefaultKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgLimitDefaultKeys.details(), id] as const, } as const; +export const orgLimitCreditKeys = { + /** All orgLimitCredit queries */ all: ['orglimitcredit'] as const, + /** List query keys */ lists: () => [...orgLimitCreditKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitCreditKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitCreditKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitCreditKeys.details(), id] as const, +} as const; export const orgChartEdgeGrantKeys = { /** All orgChartEdgeGrant queries */ all: ['orgchartedgegrant'] as const, /** List query keys */ lists: () => [...orgChartEdgeGrantKeys.all, 'list'] as const, @@ -262,24 +343,6 @@ export const orgChartEdgeKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgChartEdgeKeys.details(), id] as const, } as const; -export const appLimitKeys = { - /** All appLimit queries */ all: ['applimit'] as const, - /** List query keys */ lists: () => [...appLimitKeys.all, 'list'] as const, - /** List query key with variables */ list: (variables?: object) => - [...appLimitKeys.lists(), variables] as const, - /** Detail query keys */ details: () => [...appLimitKeys.all, 'detail'] as const, - /** Detail query key for specific item */ detail: (id: string | number) => - [...appLimitKeys.details(), id] as const, -} as const; -export const orgLimitAggregateKeys = { - /** All orgLimitAggregate queries */ all: ['orglimitaggregate'] as const, - /** List query keys */ lists: () => [...orgLimitAggregateKeys.all, 'list'] as const, - /** List query key with variables */ list: (variables?: object) => - [...orgLimitAggregateKeys.lists(), variables] as const, - /** Detail query keys */ details: () => [...orgLimitAggregateKeys.all, 'detail'] as const, - /** Detail query key for specific item */ detail: (id: string | number) => - [...orgLimitAggregateKeys.details(), id] as const, -} as const; export const orgMemberProfileKeys = { /** All orgMemberProfile queries */ all: ['orgmemberprofile'] as const, /** List query keys */ lists: () => [...orgMemberProfileKeys.all, 'list'] as const, @@ -289,15 +352,6 @@ export const orgMemberProfileKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgMemberProfileKeys.details(), id] as const, } as const; -export const orgLimitKeys = { - /** All orgLimit queries */ all: ['orglimit'] as const, - /** List query keys */ lists: () => [...orgLimitKeys.all, 'list'] as const, - /** List query key with variables */ list: (variables?: object) => - [...orgLimitKeys.lists(), variables] as const, - /** Detail query keys */ details: () => [...orgLimitKeys.all, 'detail'] as const, - /** Detail query key for specific item */ detail: (id: string | number) => - [...orgLimitKeys.details(), id] as const, -} as const; export const appLevelKeys = { /** All appLevel queries */ all: ['applevel'] as const, /** List query keys */ lists: () => [...appLevelKeys.all, 'list'] as const, @@ -307,6 +361,15 @@ export const appLevelKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appLevelKeys.details(), id] as const, } as const; +export const appLimitKeys = { + /** All appLimit queries */ all: ['applimit'] as const, + /** List query keys */ lists: () => [...appLimitKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitKeys.details(), id] as const, +} as const; export const appInviteKeys = { /** All appInvite queries */ all: ['appinvite'] as const, /** List query keys */ lists: () => [...appInviteKeys.all, 'list'] as const, @@ -325,6 +388,24 @@ export const orgMembershipSettingKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgMembershipSettingKeys.details(), id] as const, } as const; +export const orgLimitAggregateKeys = { + /** All orgLimitAggregate queries */ all: ['orglimitaggregate'] as const, + /** List query keys */ lists: () => [...orgLimitAggregateKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitAggregateKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitAggregateKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitAggregateKeys.details(), id] as const, +} as const; +export const orgLimitKeys = { + /** All orgLimit queries */ all: ['orglimit'] as const, + /** List query keys */ lists: () => [...orgLimitKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitKeys.details(), id] as const, +} as const; export const orgInviteKeys = { /** All orgInvite queries */ all: ['orginvite'] as const, /** List query keys */ lists: () => [...orgInviteKeys.all, 'list'] as const, @@ -413,18 +494,27 @@ export const queryKeys = { appPermission: appPermissionKeys, orgPermission: orgPermissionKeys, appLevelRequirement: appLevelRequirementKeys, + appLimitCreditRedemption: appLimitCreditRedemptionKeys, + appLimitCreditCodeItem: appLimitCreditCodeItemKeys, + appLimitCredit: appLimitCreditKeys, orgMember: orgMemberKeys, appPermissionDefault: appPermissionDefaultKeys, + appLimitCreditCode: appLimitCreditCodeKeys, orgPermissionDefault: orgPermissionDefaultKeys, appAdminGrant: appAdminGrantKeys, appOwnerGrant: appOwnerGrantKeys, appAchievement: appAchievementKeys, appStep: appStepKeys, + appLimitCapsDefault: appLimitCapsDefaultKeys, + orgLimitCapsDefault: orgLimitCapsDefaultKeys, + appLimitCap: appLimitCapKeys, + orgLimitCap: orgLimitCapKeys, orgAdminGrant: orgAdminGrantKeys, orgOwnerGrant: orgOwnerGrantKeys, membershipType: membershipTypeKeys, appLimitDefault: appLimitDefaultKeys, orgLimitDefault: orgLimitDefaultKeys, + orgLimitCredit: orgLimitCreditKeys, orgChartEdgeGrant: orgChartEdgeGrantKeys, appClaimedInvite: appClaimedInviteKeys, appGrant: appGrantKeys, @@ -435,13 +525,13 @@ export const queryKeys = { orgLimitEvent: orgLimitEventKeys, orgGrant: orgGrantKeys, orgChartEdge: orgChartEdgeKeys, - appLimit: appLimitKeys, - orgLimitAggregate: orgLimitAggregateKeys, orgMemberProfile: orgMemberProfileKeys, - orgLimit: orgLimitKeys, appLevel: appLevelKeys, + appLimit: appLimitKeys, appInvite: appInviteKeys, orgMembershipSetting: orgMembershipSettingKeys, + orgLimitAggregate: orgLimitAggregateKeys, + orgLimit: orgLimitKeys, orgInvite: orgInviteKeys, appMembership: appMembershipKeys, orgMembership: orgMembershipKeys, diff --git a/sdk/constructive-react/src/admin/orm/README.md b/sdk/constructive-react/src/admin/orm/README.md index 99ee4b492..b4b02888a 100644 --- a/sdk/constructive-react/src/admin/orm/README.md +++ b/sdk/constructive-react/src/admin/orm/README.md @@ -26,18 +26,27 @@ const db = createClient({ | `appPermission` | findMany, findOne, create, update, delete | | `orgPermission` | findMany, findOne, create, update, delete | | `appLevelRequirement` | findMany, findOne, create, update, delete | +| `appLimitCreditRedemption` | findMany, findOne, create, update, delete | +| `appLimitCreditCodeItem` | findMany, findOne, create, update, delete | +| `appLimitCredit` | findMany, findOne, create, update, delete | | `orgMember` | findMany, findOne, create, update, delete | | `appPermissionDefault` | findMany, findOne, create, update, delete | +| `appLimitCreditCode` | findMany, findOne, create, update, delete | | `orgPermissionDefault` | findMany, findOne, create, update, delete | | `appAdminGrant` | findMany, findOne, create, update, delete | | `appOwnerGrant` | findMany, findOne, create, update, delete | | `appAchievement` | findMany, findOne, create, update, delete | | `appStep` | findMany, findOne, create, update, delete | +| `appLimitCapsDefault` | findMany, findOne, create, update, delete | +| `orgLimitCapsDefault` | findMany, findOne, create, update, delete | +| `appLimitCap` | findMany, findOne, create, update, delete | +| `orgLimitCap` | findMany, findOne, create, update, delete | | `orgAdminGrant` | findMany, findOne, create, update, delete | | `orgOwnerGrant` | findMany, findOne, create, update, delete | | `membershipType` | findMany, findOne, create, update, delete | | `appLimitDefault` | findMany, findOne, create, update, delete | | `orgLimitDefault` | findMany, findOne, create, update, delete | +| `orgLimitCredit` | findMany, findOne, create, update, delete | | `orgChartEdgeGrant` | findMany, findOne, create, update, delete | | `appClaimedInvite` | findMany, findOne, create, update, delete | | `appGrant` | findMany, findOne, create, update, delete | @@ -48,13 +57,13 @@ const db = createClient({ | `orgLimitEvent` | findMany, findOne, create, update, delete | | `orgGrant` | findMany, findOne, create, update, delete | | `orgChartEdge` | findMany, findOne, create, update, delete | -| `appLimit` | findMany, findOne, create, update, delete | -| `orgLimitAggregate` | findMany, findOne, create, update, delete | | `orgMemberProfile` | findMany, findOne, create, update, delete | -| `orgLimit` | findMany, findOne, create, update, delete | | `appLevel` | findMany, findOne, create, update, delete | +| `appLimit` | findMany, findOne, create, update, delete | | `appInvite` | findMany, findOne, create, update, delete | | `orgMembershipSetting` | findMany, findOne, create, update, delete | +| `orgLimitAggregate` | findMany, findOne, create, update, delete | +| `orgLimit` | findMany, findOne, create, update, delete | | `orgInvite` | findMany, findOne, create, update, delete | | `appMembership` | findMany, findOne, create, update, delete | | `orgMembership` | findMany, findOne, create, update, delete | @@ -223,6 +232,104 @@ const updated = await db.appLevelRequirement.update({ where: { id: '' }, d const deleted = await db.appLevelRequirement.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditRedemption` + +CRUD operations for AppLimitCreditRedemption records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditRedemption records +const items = await db.appLimitCreditRedemption.findMany({ select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditRedemption.findOne({ id: '', select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Create +const created = await db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditCodeItem` + +CRUD operations for AppLimitCreditCodeItem records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `defaultLimitId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCodeItem records +const items = await db.appLimitCreditCodeItem.findMany({ select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Create +const created = await db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCredit` + +CRUD operations for AppLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCredit records +const items = await db.appLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.appLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgMember` CRUD operations for OrgMember records. @@ -285,6 +392,39 @@ const updated = await db.appPermissionDefault.update({ where: { id: '' }, const deleted = await db.appPermissionDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditCode` + +CRUD operations for AppLimitCreditCode records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `code` | String | Yes | +| `maxRedemptions` | Int | Yes | +| `currentRedemptions` | Int | Yes | +| `expiresAt` | Datetime | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCode records +const items = await db.appLimitCreditCode.findMany({ select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCode.findOne({ id: '', select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Create +const created = await db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCode.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgPermissionDefault` CRUD operations for OrgPermissionDefault records. @@ -452,6 +592,132 @@ const updated = await db.appStep.update({ where: { id: '' }, data: { actor const deleted = await db.appStep.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCapsDefault` + +CRUD operations for AppLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCapsDefault records +const items = await db.appLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCapsDefault` + +CRUD operations for OrgLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCapsDefault records +const items = await db.orgLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCap` + +CRUD operations for AppLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCap records +const items = await db.appLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCap.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCap` + +CRUD operations for OrgLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCap records +const items = await db.orgLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCap.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgAdminGrant` CRUD operations for OrgAdminGrant records. @@ -620,6 +886,41 @@ const updated = await db.orgLimitDefault.update({ where: { id: '' }, data: const deleted = await db.orgLimitDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitCredit` + +CRUD operations for OrgLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `entityId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all orgLimitCredit records +const items = await db.orgLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgChartEdgeGrant` CRUD operations for OrgChartEdgeGrant records. @@ -977,78 +1278,6 @@ const updated = await db.orgChartEdge.update({ where: { id: '' }, data: { const deleted = await db.orgChartEdge.delete({ where: { id: '' } }).execute(); ``` -### `db.appLimit` - -CRUD operations for AppLimit records. - -**Fields:** - -| Field | Type | Editable | -|-------|------|----------| -| `id` | UUID | No | -| `name` | String | Yes | -| `actorId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | - -**Operations:** - -```typescript -// List all appLimit records -const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Get one by id -const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Create -const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); - -// Update -const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); - -// Delete -const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); -``` - -### `db.orgLimitAggregate` - -CRUD operations for OrgLimitAggregate records. - -**Fields:** - -| Field | Type | Editable | -|-------|------|----------| -| `id` | UUID | No | -| `name` | String | Yes | -| `entityId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | - -**Operations:** - -```typescript -// List all orgLimitAggregate records -const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Get one by id -const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Create -const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); - -// Update -const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); - -// Delete -const deleted = await db.orgLimitAggregate.delete({ where: { id: '' } }).execute(); -``` - ### `db.orgMemberProfile` CRUD operations for OrgMemberProfile records. @@ -1088,9 +1317,9 @@ const updated = await db.orgMemberProfile.update({ where: { id: '' }, data const deleted = await db.orgMemberProfile.delete({ where: { id: '' } }).execute(); ``` -### `db.orgLimit` +### `db.appLevel` -CRUD operations for OrgLimit records. +CRUD operations for AppLevel records. **Fields:** @@ -1098,36 +1327,34 @@ CRUD operations for OrgLimit records. |-------|------|----------| | `id` | UUID | No | | `name` | String | Yes | -| `actorId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | -| `entityId` | UUID | Yes | +| `description` | String | Yes | +| `image` | ConstructiveInternalTypeImage | Yes | +| `ownerId` | UUID | Yes | +| `createdAt` | Datetime | No | +| `updatedAt` | Datetime | No | **Operations:** ```typescript -// List all orgLimit records -const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +// List all appLevel records +const items = await db.appLevel.findMany({ select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); // Get one by id -const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const item = await db.appLevel.findOne({ id: '', select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); // Create -const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute(); +const created = await db.appLevel.create({ data: { name: '', description: '', image: '', ownerId: '' }, select: { id: true } }).execute(); // Update -const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); +const updated = await db.appLevel.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); +const deleted = await db.appLevel.delete({ where: { id: '' } }).execute(); ``` -### `db.appLevel` +### `db.appLimit` -CRUD operations for AppLevel records. +CRUD operations for AppLimit records. **Fields:** @@ -1135,29 +1362,33 @@ CRUD operations for AppLevel records. |-------|------|----------| | `id` | UUID | No | | `name` | String | Yes | -| `description` | String | Yes | -| `image` | ConstructiveInternalTypeImage | Yes | -| `ownerId` | UUID | Yes | -| `createdAt` | Datetime | No | -| `updatedAt` | Datetime | No | +| `actorId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | **Operations:** ```typescript -// List all appLevel records -const items = await db.appLevel.findMany({ select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); +// List all appLimit records +const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Get one by id -const item = await db.appLevel.findOne({ id: '', select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); +const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Create -const created = await db.appLevel.create({ data: { name: '', description: '', image: '', ownerId: '' }, select: { id: true } }).execute(); +const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); // Update -const updated = await db.appLevel.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); +const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.appLevel.delete({ where: { id: '' } }).execute(); +const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); ``` ### `db.appInvite` @@ -1243,6 +1474,86 @@ const updated = await db.orgMembershipSetting.update({ where: { id: '' }, const deleted = await db.orgMembershipSetting.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitAggregate` + +CRUD operations for OrgLimitAggregate records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `reserved` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitAggregate records +const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); + +// Get one by id +const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); + +// Create +const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitAggregate.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimit` + +CRUD operations for OrgLimit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `actorId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all orgLimit records +const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); + +// Create +const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgInvite` CRUD operations for OrgInvite records. @@ -1587,24 +1898,6 @@ submitOrgInviteCode const result = await db.mutation.submitOrgInviteCode({ input: { token: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/admin/orm/index.ts b/sdk/constructive-react/src/admin/orm/index.ts index 5a9d91c9b..6aad71d9e 100644 --- a/sdk/constructive-react/src/admin/orm/index.ts +++ b/sdk/constructive-react/src/admin/orm/index.ts @@ -10,18 +10,27 @@ import { OrgGetSubordinatesRecordModel } from './models/orgGetSubordinatesRecord import { AppPermissionModel } from './models/appPermission'; import { OrgPermissionModel } from './models/orgPermission'; import { AppLevelRequirementModel } from './models/appLevelRequirement'; +import { AppLimitCreditRedemptionModel } from './models/appLimitCreditRedemption'; +import { AppLimitCreditCodeItemModel } from './models/appLimitCreditCodeItem'; +import { AppLimitCreditModel } from './models/appLimitCredit'; import { OrgMemberModel } from './models/orgMember'; import { AppPermissionDefaultModel } from './models/appPermissionDefault'; +import { AppLimitCreditCodeModel } from './models/appLimitCreditCode'; import { OrgPermissionDefaultModel } from './models/orgPermissionDefault'; import { AppAdminGrantModel } from './models/appAdminGrant'; import { AppOwnerGrantModel } from './models/appOwnerGrant'; import { AppAchievementModel } from './models/appAchievement'; import { AppStepModel } from './models/appStep'; +import { AppLimitCapsDefaultModel } from './models/appLimitCapsDefault'; +import { OrgLimitCapsDefaultModel } from './models/orgLimitCapsDefault'; +import { AppLimitCapModel } from './models/appLimitCap'; +import { OrgLimitCapModel } from './models/orgLimitCap'; import { OrgAdminGrantModel } from './models/orgAdminGrant'; import { OrgOwnerGrantModel } from './models/orgOwnerGrant'; import { MembershipTypeModel } from './models/membershipType'; import { AppLimitDefaultModel } from './models/appLimitDefault'; import { OrgLimitDefaultModel } from './models/orgLimitDefault'; +import { OrgLimitCreditModel } from './models/orgLimitCredit'; import { OrgChartEdgeGrantModel } from './models/orgChartEdgeGrant'; import { AppClaimedInviteModel } from './models/appClaimedInvite'; import { AppGrantModel } from './models/appGrant'; @@ -32,13 +41,13 @@ import { AppLimitEventModel } from './models/appLimitEvent'; import { OrgLimitEventModel } from './models/orgLimitEvent'; import { OrgGrantModel } from './models/orgGrant'; import { OrgChartEdgeModel } from './models/orgChartEdge'; -import { AppLimitModel } from './models/appLimit'; -import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; import { OrgMemberProfileModel } from './models/orgMemberProfile'; -import { OrgLimitModel } from './models/orgLimit'; import { AppLevelModel } from './models/appLevel'; +import { AppLimitModel } from './models/appLimit'; import { AppInviteModel } from './models/appInvite'; import { OrgMembershipSettingModel } from './models/orgMembershipSetting'; +import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; +import { OrgLimitModel } from './models/orgLimit'; import { OrgInviteModel } from './models/orgInvite'; import { AppMembershipModel } from './models/appMembership'; import { OrgMembershipModel } from './models/orgMembership'; @@ -82,18 +91,27 @@ export function createClient(config: OrmClientConfig) { appPermission: new AppPermissionModel(client), orgPermission: new OrgPermissionModel(client), appLevelRequirement: new AppLevelRequirementModel(client), + appLimitCreditRedemption: new AppLimitCreditRedemptionModel(client), + appLimitCreditCodeItem: new AppLimitCreditCodeItemModel(client), + appLimitCredit: new AppLimitCreditModel(client), orgMember: new OrgMemberModel(client), appPermissionDefault: new AppPermissionDefaultModel(client), + appLimitCreditCode: new AppLimitCreditCodeModel(client), orgPermissionDefault: new OrgPermissionDefaultModel(client), appAdminGrant: new AppAdminGrantModel(client), appOwnerGrant: new AppOwnerGrantModel(client), appAchievement: new AppAchievementModel(client), appStep: new AppStepModel(client), + appLimitCapsDefault: new AppLimitCapsDefaultModel(client), + orgLimitCapsDefault: new OrgLimitCapsDefaultModel(client), + appLimitCap: new AppLimitCapModel(client), + orgLimitCap: new OrgLimitCapModel(client), orgAdminGrant: new OrgAdminGrantModel(client), orgOwnerGrant: new OrgOwnerGrantModel(client), membershipType: new MembershipTypeModel(client), appLimitDefault: new AppLimitDefaultModel(client), orgLimitDefault: new OrgLimitDefaultModel(client), + orgLimitCredit: new OrgLimitCreditModel(client), orgChartEdgeGrant: new OrgChartEdgeGrantModel(client), appClaimedInvite: new AppClaimedInviteModel(client), appGrant: new AppGrantModel(client), @@ -104,13 +122,13 @@ export function createClient(config: OrmClientConfig) { orgLimitEvent: new OrgLimitEventModel(client), orgGrant: new OrgGrantModel(client), orgChartEdge: new OrgChartEdgeModel(client), - appLimit: new AppLimitModel(client), - orgLimitAggregate: new OrgLimitAggregateModel(client), orgMemberProfile: new OrgMemberProfileModel(client), - orgLimit: new OrgLimitModel(client), appLevel: new AppLevelModel(client), + appLimit: new AppLimitModel(client), appInvite: new AppInviteModel(client), orgMembershipSetting: new OrgMembershipSettingModel(client), + orgLimitAggregate: new OrgLimitAggregateModel(client), + orgLimit: new OrgLimitModel(client), orgInvite: new OrgInviteModel(client), appMembership: new AppMembershipModel(client), orgMembership: new OrgMembershipModel(client), diff --git a/sdk/constructive-react/src/admin/orm/input-types.ts b/sdk/constructive-react/src/admin/orm/input-types.ts index a0e988480..4591edfda 100644 --- a/sdk/constructive-react/src/admin/orm/input-types.ts +++ b/sdk/constructive-react/src/admin/orm/input-types.ts @@ -282,6 +282,40 @@ export interface AppLevelRequirement { createdAt?: string | null; updatedAt?: string | null; } +/** Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits */ +export interface AppLimitCreditRedemption { + id: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string | null; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string | null; +} +/** Items within a credit code — each row grants credits for a specific limit definition */ +export interface AppLimitCreditCodeItem { + id: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string | null; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string | null; + /** Number of credits this item grants per redemption */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; +} +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface AppLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Simplified view of active members in an entity, used for listing who belongs to an org or group */ export interface OrgMember { id: string; @@ -298,6 +332,18 @@ export interface AppPermissionDefault { /** Default permission bitmask applied to new members */ permissions?: string | null; } +/** Redeemable credit codes managed by admins with the add_credits permission */ +export interface AppLimitCreditCode { + id: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string | null; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number | null; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number | null; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string | null; +} /** Stores the default permission bitmask assigned to new members upon joining */ export interface OrgPermissionDefault { id: string; @@ -350,6 +396,42 @@ export interface AppStep { createdAt?: string | null; updatedAt?: string | null; } +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface AppLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface OrgLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface AppLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface OrgLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} /** Records of admin role grants and revocations between members */ export interface OrgAdminGrant { id: string; @@ -411,6 +493,22 @@ export interface OrgLimitDefault { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string | null; } +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface OrgLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table */ export interface OrgChartEdgeGrant { id: string; @@ -566,42 +664,6 @@ export interface OrgChartEdge { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number | null; } -/** Tracks per-actor usage counts against configurable maximum limits */ -export interface AppLimit { - id: string; - /** Name identifier of the limit being tracked */ - name?: string | null; - /** User whose usage is being tracked against this limit */ - actorId?: string | null; - /** Current usage count for this actor and limit */ - num?: string | null; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string | null; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string | null; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string | null; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: string | null; -} -/** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ -export interface OrgLimitAggregate { - id: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string | null; - /** Entity (org) whose aggregate usage is being tracked */ - entityId?: string | null; - /** Current aggregate usage count for this entity and limit */ - num?: string | null; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string | null; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string | null; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string | null; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: string | null; -} /** Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) */ export interface OrgMemberProfile { id: string; @@ -624,8 +686,22 @@ export interface OrgMemberProfile { /** Profile picture visible to other entity members */ profilePicture?: ConstructiveInternalTypeImage | null; } +/** Defines available levels that users can achieve by completing requirements */ +export interface AppLevel { + id: string; + /** Unique name of the level */ + name?: string | null; + /** Human-readable description of what this level represents */ + description?: string | null; + /** Badge or icon image associated with this level */ + image?: ConstructiveInternalTypeImage | null; + /** Optional owner (actor) who created or manages this level */ + ownerId?: string | null; + createdAt?: string | null; + updatedAt?: string | null; +} /** Tracks per-actor usage counts against configurable maximum limits */ -export interface OrgLimit { +export interface AppLimit { id: string; /** Name identifier of the limit being tracked */ name?: string | null; @@ -641,21 +717,12 @@ export interface OrgLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; - entityId?: string | null; -} -/** Defines available levels that users can achieve by completing requirements */ -export interface AppLevel { - id: string; - /** Unique name of the level */ - name?: string | null; - /** Human-readable description of what this level represents */ - description?: string | null; - /** Badge or icon image associated with this level */ - image?: ConstructiveInternalTypeImage | null; - /** Optional owner (actor) who created or manages this level */ - ownerId?: string | null; - createdAt?: string | null; - updatedAt?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; } /** Invitation records sent to prospective members via email, with token-based redemption and expiration */ export interface AppInvite { @@ -709,6 +776,57 @@ export interface OrgMembershipSetting { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string | null; } +/** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ +export interface OrgLimitAggregate { + id: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string | null; + /** Entity (org) whose aggregate usage is being tracked */ + entityId?: string | null; + /** Current aggregate usage count for this entity and limit */ + num?: string | null; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string | null; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string | null; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string | null; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string | null; +} +/** Tracks per-actor usage counts against configurable maximum limits */ +export interface OrgLimit { + id: string; + /** Name identifier of the limit being tracked */ + name?: string | null; + /** User whose usage is being tracked against this limit */ + actorId?: string | null; + /** Current usage count for this actor and limit */ + num?: string | null; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string | null; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string | null; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string | null; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + entityId?: string | null; +} /** Invitation records sent to prospective members via email, with token-based redemption and expiration */ export interface OrgInvite { id: string; @@ -818,18 +936,44 @@ export interface OrgGetSubordinatesRecordRelations {} export interface AppPermissionRelations {} export interface OrgPermissionRelations {} export interface AppLevelRequirementRelations {} +export interface AppLimitCreditRedemptionRelations { + creditCode?: AppLimitCreditCode | null; +} +export interface AppLimitCreditCodeItemRelations { + creditCode?: AppLimitCreditCode | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditRelations { + defaultLimit?: AppLimitDefault | null; +} export interface OrgMemberRelations {} export interface AppPermissionDefaultRelations {} +export interface AppLimitCreditCodeRelations { + appLimitCreditCodeItemsByCreditCodeId?: ConnectionResult; + appLimitCreditRedemptionsByCreditCodeId?: ConnectionResult; +} export interface OrgPermissionDefaultRelations {} export interface AppAdminGrantRelations {} export interface AppOwnerGrantRelations {} export interface AppAchievementRelations {} export interface AppStepRelations {} +export interface AppLimitCapsDefaultRelations {} +export interface OrgLimitCapsDefaultRelations {} +export interface AppLimitCapRelations {} +export interface OrgLimitCapRelations {} export interface OrgAdminGrantRelations {} export interface OrgOwnerGrantRelations {} export interface MembershipTypeRelations {} -export interface AppLimitDefaultRelations {} -export interface OrgLimitDefaultRelations {} +export interface AppLimitDefaultRelations { + appLimitCreditsByDefaultLimitId?: ConnectionResult; + appLimitCreditCodeItemsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitDefaultRelations { + orgLimitCreditsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitCreditRelations { + defaultLimit?: OrgLimitDefault | null; +} export interface OrgChartEdgeGrantRelations {} export interface AppClaimedInviteRelations {} export interface AppGrantRelations {} @@ -840,15 +984,15 @@ export interface AppLimitEventRelations {} export interface OrgLimitEventRelations {} export interface OrgGrantRelations {} export interface OrgChartEdgeRelations {} -export interface AppLimitRelations {} -export interface OrgLimitAggregateRelations {} export interface OrgMemberProfileRelations { membership?: OrgMembership | null; } -export interface OrgLimitRelations {} export interface AppLevelRelations {} +export interface AppLimitRelations {} export interface AppInviteRelations {} export interface OrgMembershipSettingRelations {} +export interface OrgLimitAggregateRelations {} +export interface OrgLimitRelations {} export interface OrgInviteRelations {} export interface AppMembershipRelations {} export interface OrgMembershipRelations { @@ -862,20 +1006,31 @@ export type OrgGetSubordinatesRecordWithRelations = OrgGetSubordinatesRecord & export type AppPermissionWithRelations = AppPermission & AppPermissionRelations; export type OrgPermissionWithRelations = OrgPermission & OrgPermissionRelations; export type AppLevelRequirementWithRelations = AppLevelRequirement & AppLevelRequirementRelations; +export type AppLimitCreditRedemptionWithRelations = AppLimitCreditRedemption & + AppLimitCreditRedemptionRelations; +export type AppLimitCreditCodeItemWithRelations = AppLimitCreditCodeItem & + AppLimitCreditCodeItemRelations; +export type AppLimitCreditWithRelations = AppLimitCredit & AppLimitCreditRelations; export type OrgMemberWithRelations = OrgMember & OrgMemberRelations; export type AppPermissionDefaultWithRelations = AppPermissionDefault & AppPermissionDefaultRelations; +export type AppLimitCreditCodeWithRelations = AppLimitCreditCode & AppLimitCreditCodeRelations; export type OrgPermissionDefaultWithRelations = OrgPermissionDefault & OrgPermissionDefaultRelations; export type AppAdminGrantWithRelations = AppAdminGrant & AppAdminGrantRelations; export type AppOwnerGrantWithRelations = AppOwnerGrant & AppOwnerGrantRelations; export type AppAchievementWithRelations = AppAchievement & AppAchievementRelations; export type AppStepWithRelations = AppStep & AppStepRelations; +export type AppLimitCapsDefaultWithRelations = AppLimitCapsDefault & AppLimitCapsDefaultRelations; +export type OrgLimitCapsDefaultWithRelations = OrgLimitCapsDefault & OrgLimitCapsDefaultRelations; +export type AppLimitCapWithRelations = AppLimitCap & AppLimitCapRelations; +export type OrgLimitCapWithRelations = OrgLimitCap & OrgLimitCapRelations; export type OrgAdminGrantWithRelations = OrgAdminGrant & OrgAdminGrantRelations; export type OrgOwnerGrantWithRelations = OrgOwnerGrant & OrgOwnerGrantRelations; export type MembershipTypeWithRelations = MembershipType & MembershipTypeRelations; export type AppLimitDefaultWithRelations = AppLimitDefault & AppLimitDefaultRelations; export type OrgLimitDefaultWithRelations = OrgLimitDefault & OrgLimitDefaultRelations; +export type OrgLimitCreditWithRelations = OrgLimitCredit & OrgLimitCreditRelations; export type OrgChartEdgeGrantWithRelations = OrgChartEdgeGrant & OrgChartEdgeGrantRelations; export type AppClaimedInviteWithRelations = AppClaimedInvite & AppClaimedInviteRelations; export type AppGrantWithRelations = AppGrant & AppGrantRelations; @@ -888,14 +1043,14 @@ export type AppLimitEventWithRelations = AppLimitEvent & AppLimitEventRelations; export type OrgLimitEventWithRelations = OrgLimitEvent & OrgLimitEventRelations; export type OrgGrantWithRelations = OrgGrant & OrgGrantRelations; export type OrgChartEdgeWithRelations = OrgChartEdge & OrgChartEdgeRelations; -export type AppLimitWithRelations = AppLimit & AppLimitRelations; -export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; export type OrgMemberProfileWithRelations = OrgMemberProfile & OrgMemberProfileRelations; -export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; export type AppLevelWithRelations = AppLevel & AppLevelRelations; +export type AppLimitWithRelations = AppLimit & AppLimitRelations; export type AppInviteWithRelations = AppInvite & AppInviteRelations; export type OrgMembershipSettingWithRelations = OrgMembershipSetting & OrgMembershipSettingRelations; +export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; +export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; export type OrgInviteWithRelations = OrgInvite & OrgInviteRelations; export type AppMembershipWithRelations = AppMembership & AppMembershipRelations; export type OrgMembershipWithRelations = OrgMembership & OrgMembershipRelations; @@ -932,6 +1087,38 @@ export type AppLevelRequirementSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitCreditRedemptionSelect = { + id?: boolean; + creditCodeId?: boolean; + entityId?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; +}; +export type AppLimitCreditCodeItemSelect = { + id?: boolean; + creditCodeId?: boolean; + defaultLimitId?: boolean; + amount?: boolean; + creditType?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; export type OrgMemberSelect = { id?: boolean; isAdmin?: boolean; @@ -942,6 +1129,25 @@ export type AppPermissionDefaultSelect = { id?: boolean; permissions?: boolean; }; +export type AppLimitCreditCodeSelect = { + id?: boolean; + code?: boolean; + maxRedemptions?: boolean; + currentRedemptions?: boolean; + expiresAt?: boolean; + appLimitCreditCodeItemsByCreditCodeId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; + appLimitCreditRedemptionsByCreditCodeId?: { + select: AppLimitCreditRedemptionSelect; + first?: number; + filter?: AppLimitCreditRedemptionFilter; + orderBy?: AppLimitCreditRedemptionOrderBy[]; + }; +}; export type OrgPermissionDefaultSelect = { id?: boolean; permissions?: boolean; @@ -979,6 +1185,28 @@ export type AppStepSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type OrgLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type AppLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; +export type OrgLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; export type OrgAdminGrantSelect = { id?: boolean; isGrant?: boolean; @@ -1010,12 +1238,42 @@ export type AppLimitDefaultSelect = { name?: boolean; max?: boolean; softMax?: boolean; + appLimitCreditsByDefaultLimitId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; + appLimitCreditCodeItemsByDefaultLimitId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; }; export type OrgLimitDefaultSelect = { id?: boolean; name?: boolean; max?: boolean; softMax?: boolean; + orgLimitCreditsByDefaultLimitId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; +}; +export type OrgLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + entityId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + defaultLimit?: { + select: OrgLimitDefaultSelect; + }; }; export type OrgChartEdgeGrantSelect = { id?: boolean; @@ -1114,26 +1372,6 @@ export type OrgChartEdgeSelect = { positionTitle?: boolean; positionLevel?: boolean; }; -export type AppLimitSelect = { - id?: boolean; - name?: boolean; - actorId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; -}; -export type OrgLimitAggregateSelect = { - id?: boolean; - name?: boolean; - entityId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; -}; export type OrgMemberProfileSelect = { id?: boolean; createdAt?: boolean; @@ -1150,17 +1388,6 @@ export type OrgMemberProfileSelect = { select: OrgMembershipSelect; }; }; -export type OrgLimitSelect = { - id?: boolean; - name?: boolean; - actorId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; - entityId?: boolean; -}; export type AppLevelSelect = { id?: boolean; name?: boolean; @@ -1170,6 +1397,19 @@ export type AppLevelSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitSelect = { + id?: boolean; + name?: boolean; + actorId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; +}; export type AppInviteSelect = { id?: boolean; email?: boolean; @@ -1201,17 +1441,45 @@ export type OrgMembershipSettingSelect = { populateMemberEmail?: boolean; limitAllocationMode?: boolean; }; -export type OrgInviteSelect = { +export type OrgLimitAggregateSelect = { id?: boolean; - email?: boolean; - senderId?: boolean; - receiverId?: boolean; - inviteToken?: boolean; - inviteValid?: boolean; - inviteLimit?: boolean; - inviteCount?: boolean; - multiple?: boolean; - data?: boolean; + name?: boolean; + entityId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + reserved?: boolean; +}; +export type OrgLimitSelect = { + id?: boolean; + name?: boolean; + actorId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + entityId?: boolean; +}; +export type OrgInviteSelect = { + id?: boolean; + email?: boolean; + senderId?: boolean; + receiverId?: boolean; + inviteToken?: boolean; + inviteValid?: boolean; + inviteLimit?: boolean; + inviteCount?: boolean; + multiple?: boolean; + data?: boolean; profileId?: boolean; expiresAt?: boolean; createdAt?: boolean; @@ -1334,6 +1602,66 @@ export interface AppLevelRequirementFilter { /** Negates the expression. */ not?: AppLevelRequirementFilter; } +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} export interface OrgMemberFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1362,6 +1690,32 @@ export interface AppPermissionDefaultFilter { /** Negates the expression. */ not?: AppPermissionDefaultFilter; } +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} export interface OrgPermissionDefaultFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1456,6 +1810,66 @@ export interface AppStepFilter { /** Negates the expression. */ not?: AppStepFilter; } +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} export interface OrgAdminGrantFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1535,6 +1949,14 @@ export interface AppLimitDefaultFilter { or?: AppLimitDefaultFilter[]; /** Negates the expression. */ not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; } export interface OrgLimitDefaultFilter { /** Filter by the object’s `id` field. */ @@ -1551,6 +1973,34 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; } export interface OrgChartEdgeGrantFilter { /** Filter by the object’s `id` field. */ @@ -1782,54 +2232,6 @@ export interface OrgChartEdgeFilter { /** Negates the expression. */ not?: OrgChartEdgeFilter; } -export interface AppLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: AppLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: AppLimitFilter[]; - /** Negates the expression. */ - not?: AppLimitFilter; -} -export interface OrgLimitAggregateFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitAggregateFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitAggregateFilter[]; - /** Negates the expression. */ - not?: OrgLimitAggregateFilter; -} export interface OrgMemberProfileFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1862,32 +2264,6 @@ export interface OrgMemberProfileFilter { /** Filter by the object’s `membership` relation. */ membership?: OrgMembershipFilter; } -export interface OrgLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitFilter[]; - /** Negates the expression. */ - not?: OrgLimitFilter; -} export interface AppLevelFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1910,6 +2286,36 @@ export interface AppLevelFilter { /** Negates the expression. */ not?: AppLevelFilter; } +export interface AppLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitFilter[]; + /** Negates the expression. */ + not?: AppLimitFilter; +} export interface AppInviteFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1978,37 +2384,101 @@ export interface OrgMembershipSettingFilter { /** Negates the expression. */ not?: OrgMembershipSettingFilter; } -export interface OrgInviteFilter { +export interface OrgLimitAggregateFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; - /** Filter by the object’s `email` field. */ - email?: ConstructiveInternalTypeEmailFilter; - /** Filter by the object’s `senderId` field. */ - senderId?: UUIDFilter; - /** Filter by the object’s `receiverId` field. */ - receiverId?: UUIDFilter; - /** Filter by the object’s `inviteToken` field. */ - inviteToken?: StringFilter; - /** Filter by the object’s `inviteValid` field. */ - inviteValid?: BooleanFilter; - /** Filter by the object’s `inviteLimit` field. */ - inviteLimit?: IntFilter; - /** Filter by the object’s `inviteCount` field. */ - inviteCount?: IntFilter; - /** Filter by the object’s `multiple` field. */ - multiple?: BooleanFilter; - /** Filter by the object’s `profileId` field. */ - profileId?: UUIDFilter; - /** Filter by the object’s `expiresAt` field. */ - expiresAt?: DatetimeFilter; - /** Filter by the object’s `createdAt` field. */ - createdAt?: DatetimeFilter; - /** Filter by the object’s `updatedAt` field. */ - updatedAt?: DatetimeFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ - and?: OrgInviteFilter[]; + and?: OrgLimitAggregateFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitAggregateFilter[]; + /** Negates the expression. */ + not?: OrgLimitAggregateFilter; +} +export interface OrgLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitFilter[]; + /** Negates the expression. */ + not?: OrgLimitFilter; +} +export interface OrgInviteFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `email` field. */ + email?: ConstructiveInternalTypeEmailFilter; + /** Filter by the object’s `senderId` field. */ + senderId?: UUIDFilter; + /** Filter by the object’s `receiverId` field. */ + receiverId?: UUIDFilter; + /** Filter by the object’s `inviteToken` field. */ + inviteToken?: StringFilter; + /** Filter by the object’s `inviteValid` field. */ + inviteValid?: BooleanFilter; + /** Filter by the object’s `inviteLimit` field. */ + inviteLimit?: IntFilter; + /** Filter by the object’s `inviteCount` field. */ + inviteCount?: IntFilter; + /** Filter by the object’s `multiple` field. */ + multiple?: BooleanFilter; + /** Filter by the object’s `profileId` field. */ + profileId?: UUIDFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgInviteFilter[]; /** Checks for any expressions in this list. */ or?: OrgInviteFilter[]; /** Negates the expression. */ @@ -2167,6 +2637,46 @@ export type AppLevelRequirementOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgMemberOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2187,6 +2697,20 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; export type OrgPermissionDefaultOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2261,6 +2785,50 @@ export type AppStepOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; export type OrgAdminGrantOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2337,6 +2905,24 @@ export type OrgLimitDefaultOrderBy = | 'MAX_DESC' | 'SOFT_MAX_ASC' | 'SOFT_MAX_DESC'; +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgChartEdgeGrantOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2527,46 +3113,6 @@ export type OrgChartEdgeOrderBy = | 'POSITION_TITLE_DESC' | 'POSITION_LEVEL_ASC' | 'POSITION_LEVEL_DESC'; -export type AppLimitOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ACTOR_ID_ASC' - | 'ACTOR_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; -export type OrgLimitAggregateOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; export type OrgMemberProfileOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2593,7 +3139,25 @@ export type OrgMemberProfileOrderBy = | 'BIO_DESC' | 'PROFILE_PICTURE_ASC' | 'PROFILE_PICTURE_DESC'; -export type OrgLimitOrderBy = +export type AppLevelOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'DESCRIPTION_ASC' + | 'DESCRIPTION_DESC' + | 'IMAGE_ASC' + | 'IMAGE_DESC' + | 'OWNER_ID_ASC' + | 'OWNER_ID_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; +export type AppLimitOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' @@ -2613,26 +3177,12 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC'; -export type AppLevelOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'DESCRIPTION_ASC' - | 'DESCRIPTION_DESC' - | 'IMAGE_ASC' - | 'IMAGE_DESC' - | 'OWNER_ID_ASC' - | 'OWNER_ID_DESC' - | 'CREATED_AT_ASC' - | 'CREATED_AT_DESC' - | 'UPDATED_AT_ASC' - | 'UPDATED_AT_DESC'; + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; export type AppInviteOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2695,6 +3245,62 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +export type OrgLimitAggregateOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; +export type OrgLimitOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; export type OrgInviteOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2920,6 +3526,76 @@ export interface DeleteAppLevelRequirementInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + appLimitCreditRedemption: { + creditCodeId: string; + entityId: string; + }; +} +export interface AppLimitCreditRedemptionPatch { + creditCodeId?: string | null; + entityId?: string | null; +} +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + appLimitCreditCodeItem: { + creditCodeId: string; + defaultLimitId: string; + amount: string; + creditType?: string; + }; +} +export interface AppLimitCreditCodeItemPatch { + creditCodeId?: string | null; + defaultLimitId?: string | null; + amount?: string | null; + creditType?: string | null; +} +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + appLimitCredit: { + defaultLimitId: string; + actorId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface AppLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + appLimitCreditPatch: AppLimitCreditPatch; +} +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgMemberInput { clientMutationId?: string; orgMember: { @@ -2960,6 +3636,30 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + appLimitCreditCode: { + code: string; + maxRedemptions?: number; + currentRedemptions?: number; + expiresAt?: string; + }; +} +export interface AppLimitCreditCodePatch { + code?: string | null; + maxRedemptions?: number | null; + currentRedemptions?: number | null; + expiresAt?: string | null; +} +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgPermissionDefaultInput { clientMutationId?: string; orgPermissionDefault: { @@ -3068,6 +3768,90 @@ export interface DeleteAppStepInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + appLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface AppLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + orgLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface OrgLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + appLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface AppLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + appLimitCapPatch: AppLimitCapPatch; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + orgLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface OrgLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + orgLimitCapPatch: OrgLimitCapPatch; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgAdminGrantInput { clientMutationId?: string; orgAdminGrant: { @@ -3186,6 +3970,34 @@ export interface DeleteOrgLimitDefaultInput { clientMutationId?: string; id: string; } +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + orgLimitCredit: { + defaultLimitId: string; + actorId?: string; + entityId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface OrgLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + entityId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgChartEdgeGrantInput { clientMutationId?: string; orgChartEdgeGrant: { @@ -3454,66 +4266,6 @@ export interface DeleteOrgChartEdgeInput { clientMutationId?: string; id: string; } -export interface CreateAppLimitInput { - clientMutationId?: string; - appLimit: { - name?: string; - actorId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - }; -} -export interface AppLimitPatch { - name?: string | null; - actorId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; -} -export interface UpdateAppLimitInput { - clientMutationId?: string; - id: string; - appLimitPatch: AppLimitPatch; -} -export interface DeleteAppLimitInput { - clientMutationId?: string; - id: string; -} -export interface CreateOrgLimitAggregateInput { - clientMutationId?: string; - orgLimitAggregate: { - name?: string; - entityId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - }; -} -export interface OrgLimitAggregatePatch { - name?: string | null; - entityId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; -} -export interface UpdateOrgLimitAggregateInput { - clientMutationId?: string; - id: string; - orgLimitAggregatePatch: OrgLimitAggregatePatch; -} -export interface DeleteOrgLimitAggregateInput { - clientMutationId?: string; - id: string; -} export interface CreateOrgMemberProfileInput { clientMutationId?: string; orgMemberProfile: { @@ -3547,38 +4299,6 @@ export interface DeleteOrgMemberProfileInput { clientMutationId?: string; id: string; } -export interface CreateOrgLimitInput { - clientMutationId?: string; - orgLimit: { - name?: string; - actorId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - entityId: string; - }; -} -export interface OrgLimitPatch { - name?: string | null; - actorId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; - entityId?: string | null; -} -export interface UpdateOrgLimitInput { - clientMutationId?: string; - id: string; - orgLimitPatch: OrgLimitPatch; -} -export interface DeleteOrgLimitInput { - clientMutationId?: string; - id: string; -} export interface CreateAppLevelInput { clientMutationId?: string; appLevel: { @@ -3604,6 +4324,42 @@ export interface DeleteAppLevelInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitInput { + clientMutationId?: string; + appLimit: { + name?: string; + actorId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + }; +} +export interface AppLimitPatch { + name?: string | null; + actorId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; +} +export interface UpdateAppLimitInput { + clientMutationId?: string; + id: string; + appLimitPatch: AppLimitPatch; +} +export interface DeleteAppLimitInput { + clientMutationId?: string; + id: string; +} export interface CreateAppInviteInput { clientMutationId?: string; appInvite: { @@ -3678,16 +4434,92 @@ export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } -export interface CreateOrgInviteInput { +export interface CreateOrgLimitAggregateInput { clientMutationId?: string; - orgInvite: { - email?: ConstructiveInternalTypeEmail; - senderId?: string; - receiverId?: string; - inviteToken?: string; - inviteValid?: boolean; - inviteLimit?: number; - inviteCount?: number; + orgLimitAggregate: { + name?: string; + entityId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + reserved?: string; + }; +} +export interface OrgLimitAggregatePatch { + name?: string | null; + entityId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + reserved?: string | null; +} +export interface UpdateOrgLimitAggregateInput { + clientMutationId?: string; + id: string; + orgLimitAggregatePatch: OrgLimitAggregatePatch; +} +export interface DeleteOrgLimitAggregateInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitInput { + clientMutationId?: string; + orgLimit: { + name?: string; + actorId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + entityId: string; + }; +} +export interface OrgLimitPatch { + name?: string | null; + actorId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + entityId?: string | null; +} +export interface UpdateOrgLimitInput { + clientMutationId?: string; + id: string; + orgLimitPatch: OrgLimitPatch; +} +export interface DeleteOrgLimitInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgInviteInput { + clientMutationId?: string; + orgInvite: { + email?: ConstructiveInternalTypeEmail; + senderId?: string; + receiverId?: string; + inviteToken?: string; + inviteValid?: boolean; + inviteLimit?: number; + inviteCount?: number; multiple?: boolean; data?: Record; profileId?: string; @@ -3807,7 +4639,19 @@ export interface DeleteOrgMembershipInput { id: string; } // ============ Connection Fields Map ============ -export const connectionFieldsMap = {} as Record>; +export const connectionFieldsMap = { + AppLimitCreditCode: { + appLimitCreditCodeItemsByCreditCodeId: 'AppLimitCreditCodeItem', + appLimitCreditRedemptionsByCreditCodeId: 'AppLimitCreditRedemption', + }, + AppLimitDefault: { + appLimitCreditsByDefaultLimitId: 'AppLimitCredit', + appLimitCreditCodeItemsByDefaultLimitId: 'AppLimitCreditCodeItem', + }, + OrgLimitDefault: { + orgLimitCreditsByDefaultLimitId: 'OrgLimitCredit', + }, +} as Record>; // ============ Custom Input Types (from schema) ============ export interface SubmitAppInviteCodeInput { clientMutationId?: string; @@ -3817,25 +4661,6 @@ export interface SubmitOrgInviteCodeInput { clientMutationId?: string; token?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -3845,30 +4670,50 @@ export interface ProvisionBucketInput { */ ownerId?: string; } -/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ -export interface IntervalFilter { - /** Is null (if `true` is specified) or is not null (if `false` is specified). */ - isNull?: boolean; - /** Equal to the specified value. */ - equalTo?: IntervalInput; - /** Not equal to the specified value. */ - notEqualTo?: IntervalInput; - /** Not equal to the specified value, treating null like an ordinary value. */ - distinctFrom?: IntervalInput; - /** Equal to the specified value, treating null like an ordinary value. */ - notDistinctFrom?: IntervalInput; - /** Included in the specified list. */ - in?: IntervalInput[]; - /** Not included in the specified list. */ - notIn?: IntervalInput[]; - /** Less than the specified value. */ - lessThan?: IntervalInput; - /** Less than or equal to the specified value. */ - lessThanOrEqualTo?: IntervalInput; - /** Greater than the specified value. */ - greaterThan?: IntervalInput; - /** Greater than or equal to the specified value. */ - greaterThanOrEqualTo?: IntervalInput; +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; } /** A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeImageFilter { @@ -3905,6 +4750,31 @@ export interface ConstructiveInternalTypeImageFilter { /** Contained by the specified JSON. */ containedBy?: ConstructiveInternalTypeImage; } +/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ +export interface IntervalFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: IntervalInput; + /** Not equal to the specified value. */ + notEqualTo?: IntervalInput; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: IntervalInput; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: IntervalInput; + /** Included in the specified list. */ + in?: IntervalInput[]; + /** Not included in the specified list. */ + notIn?: IntervalInput[]; + /** Less than the specified value. */ + lessThan?: IntervalInput; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: IntervalInput; + /** Greater than the specified value. */ + greaterThan?: IntervalInput; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: IntervalInput; +} /** A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeEmailFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -3982,6 +4852,94 @@ export interface ConstructiveInternalTypeEmailFilter { /** Greater than or equal to the specified value (case-insensitive). */ greaterThanOrEqualToInsensitive?: ConstructiveInternalTypeEmail; } +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; +} /** An interval of time that has passed where the smallest distinct unit is a second. */ export interface IntervalInput { /** @@ -4001,6 +4959,256 @@ export interface IntervalInput { /** A quantity of years. */ years?: number; } +/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */ +export interface UUIDFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} +/** A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ */ +export interface BigIntFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} +/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */ +export interface StringFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; + /** Contains the specified string (case-sensitive). */ + includes?: string; + /** Does not contain the specified string (case-sensitive). */ + notIncludes?: string; + /** Contains the specified string (case-insensitive). */ + includesInsensitive?: string; + /** Does not contain the specified string (case-insensitive). */ + notIncludesInsensitive?: string; + /** Starts with the specified string (case-sensitive). */ + startsWith?: string; + /** Does not start with the specified string (case-sensitive). */ + notStartsWith?: string; + /** Starts with the specified string (case-insensitive). */ + startsWithInsensitive?: string; + /** Does not start with the specified string (case-insensitive). */ + notStartsWithInsensitive?: string; + /** Ends with the specified string (case-sensitive). */ + endsWith?: string; + /** Does not end with the specified string (case-sensitive). */ + notEndsWith?: string; + /** Ends with the specified string (case-insensitive). */ + endsWithInsensitive?: string; + /** Does not end with the specified string (case-insensitive). */ + notEndsWithInsensitive?: string; + /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + like?: string; + /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + notLike?: string; + /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + likeInsensitive?: string; + /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + notLikeInsensitive?: string; + /** Equal to the specified value (case-insensitive). */ + equalToInsensitive?: string; + /** Not equal to the specified value (case-insensitive). */ + notEqualToInsensitive?: string; + /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */ + distinctFromInsensitive?: string; + /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */ + notDistinctFromInsensitive?: string; + /** Included in the specified list (case-insensitive). */ + inInsensitive?: string[]; + /** Not included in the specified list (case-insensitive). */ + notInInsensitive?: string[]; + /** Less than the specified value (case-insensitive). */ + lessThanInsensitive?: string; + /** Less than or equal to the specified value (case-insensitive). */ + lessThanOrEqualToInsensitive?: string; + /** Greater than the specified value (case-insensitive). */ + greaterThanInsensitive?: string; + /** Greater than or equal to the specified value (case-insensitive). */ + greaterThanOrEqualToInsensitive?: string; +} +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */ +export interface IntFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: number; + /** Not equal to the specified value. */ + notEqualTo?: number; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: number; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: number; + /** Included in the specified list. */ + in?: number[]; + /** Not included in the specified list. */ + notIn?: number[]; + /** Less than the specified value. */ + lessThan?: number; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: number; + /** Greater than the specified value. */ + greaterThan?: number; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: number; +} +/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */ +export interface DatetimeFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} /** A connection to a list of `AppPermission` values. */ // ============ Payload/Return Types (for custom operations) ============ export interface AppPermissionConnection { @@ -4075,25 +5283,6 @@ export type SubmitOrgInviteCodePayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -4251,6 +5440,141 @@ export type DeleteAppLevelRequirementPayloadSelect = { select: AppLevelRequirementEdgeSelect; }; }; +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type CreateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type UpdateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type DeleteAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type CreateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type UpdateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type DeleteAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type CreateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type UpdateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type DeleteAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; export interface CreateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was created by this mutation. */ @@ -4328,17 +5652,62 @@ export type UpdateAppPermissionDefaultPayloadSelect = { }; export interface DeleteAppPermissionDefaultPayload { clientMutationId?: string | null; - /** The `AppPermissionDefault` that was deleted by this mutation. */ - appPermissionDefault?: AppPermissionDefault | null; - appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; + /** The `AppPermissionDefault` that was deleted by this mutation. */ + appPermissionDefault?: AppPermissionDefault | null; + appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; +} +export type DeleteAppPermissionDefaultPayloadSelect = { + clientMutationId?: boolean; + appPermissionDefault?: { + select: AppPermissionDefaultSelect; + }; + appPermissionDefaultEdge?: { + select: AppPermissionDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type CreateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type UpdateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; } -export type DeleteAppPermissionDefaultPayloadSelect = { +export type DeleteAppLimitCreditCodePayloadSelect = { clientMutationId?: boolean; - appPermissionDefault?: { - select: AppPermissionDefaultSelect; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; }; - appPermissionDefaultEdge?: { - select: AppPermissionDefaultEdgeSelect; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; }; }; export interface CreateOrgPermissionDefaultPayload { @@ -4566,6 +5935,186 @@ export type DeleteAppStepPayloadSelect = { select: AppStepEdgeSelect; }; }; +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type CreateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type UpdateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type DeleteAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type CreateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type UpdateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type DeleteOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type CreateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type UpdateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type DeleteAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type CreateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type UpdateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type DeleteOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; export interface CreateOrgAdminGrantPayload { clientMutationId?: string | null; /** The `OrgAdminGrant` that was created by this mutation. */ @@ -4791,6 +6340,51 @@ export type DeleteOrgLimitDefaultPayloadSelect = { select: OrgLimitDefaultEdgeSelect; }; }; +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type CreateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type UpdateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type DeleteOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; export interface CreateOrgChartEdgeGrantPayload { clientMutationId?: string | null; /** The `OrgChartEdgeGrant` that was created by this mutation. */ @@ -5173,96 +6767,6 @@ export type DeleteOrgChartEdgePayloadSelect = { select: OrgChartEdgeEdgeSelect; }; }; -export interface CreateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was created by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type CreateAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface UpdateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was updated by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type UpdateAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface DeleteAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was deleted by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type DeleteAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface CreateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was created by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type CreateOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; -export interface UpdateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was updated by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type UpdateOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; -export interface DeleteOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was deleted by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type DeleteOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; export interface CreateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was created by this mutation. */ @@ -5308,94 +6812,94 @@ export type DeleteOrgMemberProfilePayloadSelect = { select: OrgMemberProfileEdgeSelect; }; }; -export interface CreateOrgLimitPayload { +export interface CreateAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was created by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was created by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type CreateOrgLimitPayloadSelect = { +export type CreateAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface UpdateOrgLimitPayload { +export interface UpdateAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was updated by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was updated by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type UpdateOrgLimitPayloadSelect = { +export type UpdateAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface DeleteOrgLimitPayload { +export interface DeleteAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was deleted by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was deleted by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type DeleteOrgLimitPayloadSelect = { +export type DeleteAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface CreateAppLevelPayload { +export interface CreateAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was created by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was created by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type CreateAppLevelPayloadSelect = { +export type CreateAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; -export interface UpdateAppLevelPayload { +export interface UpdateAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was updated by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was updated by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type UpdateAppLevelPayloadSelect = { +export type UpdateAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; -export interface DeleteAppLevelPayload { +export interface DeleteAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was deleted by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was deleted by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type DeleteAppLevelPayloadSelect = { +export type DeleteAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; export interface CreateAppInvitePayload { @@ -5488,6 +6992,96 @@ export type DeleteOrgMembershipSettingPayloadSelect = { select: OrgMembershipSettingEdgeSelect; }; }; +export interface CreateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was created by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type CreateOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface UpdateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was updated by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type UpdateOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface DeleteOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was deleted by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type DeleteOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface CreateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was created by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type CreateOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; +export interface UpdateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was updated by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type UpdateOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; +export interface DeleteOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was deleted by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type DeleteOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; export interface CreateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was created by this mutation. */ @@ -5676,6 +7270,42 @@ export type AppLevelRequirementEdgeSelect = { select: AppLevelRequirementSelect; }; }; +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +export type AppLimitCreditRedemptionEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditRedemptionSelect; + }; +}; +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +export type AppLimitCreditCodeItemEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeItemSelect; + }; +}; +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +export type AppLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditSelect; + }; +}; /** A `OrgMember` edge in the connection. */ export interface OrgMemberEdge { cursor?: string | null; @@ -5700,6 +7330,18 @@ export type AppPermissionDefaultEdgeSelect = { select: AppPermissionDefaultSelect; }; }; +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} +export type AppLimitCreditCodeEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeSelect; + }; +}; /** A `OrgPermissionDefault` edge in the connection. */ export interface OrgPermissionDefaultEdge { cursor?: string | null; @@ -5760,6 +7402,54 @@ export type AppStepEdgeSelect = { select: AppStepSelect; }; }; +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +export type AppLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapsDefaultSelect; + }; +}; +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +export type OrgLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapsDefaultSelect; + }; +}; +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +export type AppLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapSelect; + }; +}; +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} +export type OrgLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapSelect; + }; +}; /** A `OrgAdminGrant` edge in the connection. */ export interface OrgAdminGrantEdge { cursor?: string | null; @@ -5820,6 +7510,18 @@ export type OrgLimitDefaultEdgeSelect = { select: OrgLimitDefaultSelect; }; }; +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} +export type OrgLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCreditSelect; + }; +}; /** A `OrgChartEdgeGrant` edge in the connection. */ export interface OrgChartEdgeGrantEdge { cursor?: string | null; @@ -5916,30 +7618,6 @@ export type OrgChartEdgeEdgeSelect = { select: OrgChartEdgeSelect; }; }; -/** A `AppLimit` edge in the connection. */ -export interface AppLimitEdge { - cursor?: string | null; - /** The `AppLimit` at the end of the edge. */ - node?: AppLimit | null; -} -export type AppLimitEdgeSelect = { - cursor?: boolean; - node?: { - select: AppLimitSelect; - }; -}; -/** A `OrgLimitAggregate` edge in the connection. */ -export interface OrgLimitAggregateEdge { - cursor?: string | null; - /** The `OrgLimitAggregate` at the end of the edge. */ - node?: OrgLimitAggregate | null; -} -export type OrgLimitAggregateEdgeSelect = { - cursor?: boolean; - node?: { - select: OrgLimitAggregateSelect; - }; -}; /** A `OrgMemberProfile` edge in the connection. */ export interface OrgMemberProfileEdge { cursor?: string | null; @@ -5952,18 +7630,6 @@ export type OrgMemberProfileEdgeSelect = { select: OrgMemberProfileSelect; }; }; -/** A `OrgLimit` edge in the connection. */ -export interface OrgLimitEdge { - cursor?: string | null; - /** The `OrgLimit` at the end of the edge. */ - node?: OrgLimit | null; -} -export type OrgLimitEdgeSelect = { - cursor?: boolean; - node?: { - select: OrgLimitSelect; - }; -}; /** A `AppLevel` edge in the connection. */ export interface AppLevelEdge { cursor?: string | null; @@ -5976,6 +7642,18 @@ export type AppLevelEdgeSelect = { select: AppLevelSelect; }; }; +/** A `AppLimit` edge in the connection. */ +export interface AppLimitEdge { + cursor?: string | null; + /** The `AppLimit` at the end of the edge. */ + node?: AppLimit | null; +} +export type AppLimitEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitSelect; + }; +}; /** A `AppInvite` edge in the connection. */ export interface AppInviteEdge { cursor?: string | null; @@ -6000,6 +7678,30 @@ export type OrgMembershipSettingEdgeSelect = { select: OrgMembershipSettingSelect; }; }; +/** A `OrgLimitAggregate` edge in the connection. */ +export interface OrgLimitAggregateEdge { + cursor?: string | null; + /** The `OrgLimitAggregate` at the end of the edge. */ + node?: OrgLimitAggregate | null; +} +export type OrgLimitAggregateEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitAggregateSelect; + }; +}; +/** A `OrgLimit` edge in the connection. */ +export interface OrgLimitEdge { + cursor?: string | null; + /** The `OrgLimit` at the end of the edge. */ + node?: OrgLimit | null; +} +export type OrgLimitEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitSelect; + }; +}; /** A `OrgInvite` edge in the connection. */ export interface OrgInviteEdge { cursor?: string | null; diff --git a/sdk/constructive-react/src/admin/orm/models/appLimitCap.ts b/sdk/constructive-react/src/admin/orm/models/appLimitCap.ts new file mode 100644 index 000000000..b40f02904 --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/appLimitCap.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCap, + AppLimitCapWithRelations, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, + CreateAppLimitCapInput, + UpdateAppLimitCapInput, + AppLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + }, + 'AppLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCap', + document, + variables, + transform: (data: { + appLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCap: data.appLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCap', + 'createAppLimitCap', + 'appLimitCap', + args.select, + args.data, + 'CreateAppLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'createAppLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCap', + 'updateAppLimitCap', + 'appLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapInput', + 'id', + 'appLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'updateAppLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCap', + 'deleteAppLimitCap', + 'appLimitCap', + { + id: args.where.id, + }, + 'DeleteAppLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'deleteAppLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/appLimitCapsDefault.ts b/sdk/constructive-react/src/admin/orm/models/appLimitCapsDefault.ts new file mode 100644 index 000000000..b0ea0fcef --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/appLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCapsDefault, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, + CreateAppLimitCapsDefaultInput, + UpdateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'AppLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefault', + document, + variables, + transform: (data: { + appLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCapsDefault: data.appLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCapsDefault', + 'createAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.data, + 'CreateAppLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'createAppLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCapsDefault', + 'updateAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapsDefaultInput', + 'id', + 'appLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'updateAppLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCapsDefault', + 'deleteAppLimitCapsDefault', + 'appLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteAppLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'deleteAppLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/appLimitCredit.ts b/sdk/constructive-react/src/admin/orm/models/appLimitCredit.ts new file mode 100644 index 000000000..392072a13 --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/appLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCredit, + AppLimitCreditWithRelations, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, + CreateAppLimitCreditInput, + UpdateAppLimitCreditInput, + AppLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredit', + document, + variables, + transform: (data: { + appLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCredit: data.appLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCredit', + 'createAppLimitCredit', + 'appLimitCredit', + args.select, + args.data, + 'CreateAppLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'createAppLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCredit', + 'updateAppLimitCredit', + 'appLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditInput', + 'id', + 'appLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'updateAppLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCredit', + 'deleteAppLimitCredit', + 'appLimitCredit', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'deleteAppLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/appLimitCreditCode.ts b/sdk/constructive-react/src/admin/orm/models/appLimitCreditCode.ts new file mode 100644 index 000000000..75a9d825a --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/appLimitCreditCode.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCreditCode model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCode, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, + CreateAppLimitCreditCodeInput, + UpdateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCode: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCode', + document, + variables, + transform: (data: { + appLimitCreditCodes?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCode: data.appLimitCreditCodes?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCode', + 'createAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.data, + 'CreateAppLimitCreditCodeInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'createAppLimitCreditCode', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCode', + 'updateAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeInput', + 'id', + 'appLimitCreditCodePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'updateAppLimitCreditCode', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCode', + 'deleteAppLimitCreditCode', + 'appLimitCreditCode', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'deleteAppLimitCreditCode', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/appLimitCreditCodeItem.ts b/sdk/constructive-react/src/admin/orm/models/appLimitCreditCodeItem.ts new file mode 100644 index 000000000..381660fad --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/appLimitCreditCodeItem.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditCodeItem model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCodeItem, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, + CreateAppLimitCreditCodeItemInput, + UpdateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeItemModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeItemFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItem: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItem', + document, + variables, + transform: (data: { + appLimitCreditCodeItems?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCodeItem: data.appLimitCreditCodeItems?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCodeItem', + 'createAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.data, + 'CreateAppLimitCreditCodeItemInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'createAppLimitCreditCodeItem', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodeItemPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCodeItem', + 'updateAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeItemInput', + 'id', + 'appLimitCreditCodeItemPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'updateAppLimitCreditCodeItem', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCodeItem', + 'deleteAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeItemInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'deleteAppLimitCreditCodeItem', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/appLimitCreditRedemption.ts b/sdk/constructive-react/src/admin/orm/models/appLimitCreditRedemption.ts new file mode 100644 index 000000000..fd3676073 --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/appLimitCreditRedemption.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditRedemption model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditRedemption, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, + CreateAppLimitCreditRedemptionInput, + UpdateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditRedemptionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditRedemptionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemption: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemption', + document, + variables, + transform: (data: { + appLimitCreditRedemptions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditRedemption: data.appLimitCreditRedemptions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditRedemption', + 'createAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.data, + 'CreateAppLimitCreditRedemptionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'createAppLimitCreditRedemption', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditRedemptionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditRedemption', + 'updateAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditRedemptionInput', + 'id', + 'appLimitCreditRedemptionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'updateAppLimitCreditRedemption', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditRedemption', + 'deleteAppLimitCreditRedemption', + 'appLimitCreditRedemption', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditRedemptionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'deleteAppLimitCreditRedemption', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/index.ts b/sdk/constructive-react/src/admin/orm/models/index.ts index 1b903645a..686efa165 100644 --- a/sdk/constructive-react/src/admin/orm/models/index.ts +++ b/sdk/constructive-react/src/admin/orm/models/index.ts @@ -8,18 +8,27 @@ export { OrgGetSubordinatesRecordModel } from './orgGetSubordinatesRecord'; export { AppPermissionModel } from './appPermission'; export { OrgPermissionModel } from './orgPermission'; export { AppLevelRequirementModel } from './appLevelRequirement'; +export { AppLimitCreditRedemptionModel } from './appLimitCreditRedemption'; +export { AppLimitCreditCodeItemModel } from './appLimitCreditCodeItem'; +export { AppLimitCreditModel } from './appLimitCredit'; export { OrgMemberModel } from './orgMember'; export { AppPermissionDefaultModel } from './appPermissionDefault'; +export { AppLimitCreditCodeModel } from './appLimitCreditCode'; export { OrgPermissionDefaultModel } from './orgPermissionDefault'; export { AppAdminGrantModel } from './appAdminGrant'; export { AppOwnerGrantModel } from './appOwnerGrant'; export { AppAchievementModel } from './appAchievement'; export { AppStepModel } from './appStep'; +export { AppLimitCapsDefaultModel } from './appLimitCapsDefault'; +export { OrgLimitCapsDefaultModel } from './orgLimitCapsDefault'; +export { AppLimitCapModel } from './appLimitCap'; +export { OrgLimitCapModel } from './orgLimitCap'; export { OrgAdminGrantModel } from './orgAdminGrant'; export { OrgOwnerGrantModel } from './orgOwnerGrant'; export { MembershipTypeModel } from './membershipType'; export { AppLimitDefaultModel } from './appLimitDefault'; export { OrgLimitDefaultModel } from './orgLimitDefault'; +export { OrgLimitCreditModel } from './orgLimitCredit'; export { OrgChartEdgeGrantModel } from './orgChartEdgeGrant'; export { AppClaimedInviteModel } from './appClaimedInvite'; export { AppGrantModel } from './appGrant'; @@ -30,13 +39,13 @@ export { AppLimitEventModel } from './appLimitEvent'; export { OrgLimitEventModel } from './orgLimitEvent'; export { OrgGrantModel } from './orgGrant'; export { OrgChartEdgeModel } from './orgChartEdge'; -export { AppLimitModel } from './appLimit'; -export { OrgLimitAggregateModel } from './orgLimitAggregate'; export { OrgMemberProfileModel } from './orgMemberProfile'; -export { OrgLimitModel } from './orgLimit'; export { AppLevelModel } from './appLevel'; +export { AppLimitModel } from './appLimit'; export { AppInviteModel } from './appInvite'; export { OrgMembershipSettingModel } from './orgMembershipSetting'; +export { OrgLimitAggregateModel } from './orgLimitAggregate'; +export { OrgLimitModel } from './orgLimit'; export { OrgInviteModel } from './orgInvite'; export { AppMembershipModel } from './appMembership'; export { OrgMembershipModel } from './orgMembership'; diff --git a/sdk/constructive-react/src/admin/orm/models/orgLimitCap.ts b/sdk/constructive-react/src/admin/orm/models/orgLimitCap.ts new file mode 100644 index 000000000..0cb635912 --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/orgLimitCap.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCap, + OrgLimitCapWithRelations, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, + CreateOrgLimitCapInput, + UpdateOrgLimitCapInput, + OrgLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCap', + document, + variables, + transform: (data: { + orgLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCap: data.orgLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCap', + 'createOrgLimitCap', + 'orgLimitCap', + args.select, + args.data, + 'CreateOrgLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'createOrgLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCap', + 'updateOrgLimitCap', + 'orgLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapInput', + 'id', + 'orgLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'updateOrgLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCap', + 'deleteOrgLimitCap', + 'orgLimitCap', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'deleteOrgLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/orgLimitCapsDefault.ts b/sdk/constructive-react/src/admin/orm/models/orgLimitCapsDefault.ts new file mode 100644 index 000000000..722bb185f --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/orgLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCapsDefault, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, + CreateOrgLimitCapsDefaultInput, + UpdateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefault', + document, + variables, + transform: (data: { + orgLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCapsDefault: data.orgLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCapsDefault', + 'createOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.data, + 'CreateOrgLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'createOrgLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCapsDefault', + 'updateOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapsDefaultInput', + 'id', + 'orgLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'updateOrgLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCapsDefault', + 'deleteOrgLimitCapsDefault', + 'orgLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'deleteOrgLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/models/orgLimitCredit.ts b/sdk/constructive-react/src/admin/orm/models/orgLimitCredit.ts new file mode 100644 index 000000000..68e631fa7 --- /dev/null +++ b/sdk/constructive-react/src/admin/orm/models/orgLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCredit, + OrgLimitCreditWithRelations, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, + CreateOrgLimitCreditInput, + UpdateOrgLimitCreditInput, + OrgLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + }, + 'OrgLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredit', + document, + variables, + transform: (data: { + orgLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCredit: data.orgLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCredit', + 'createOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.data, + 'CreateOrgLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'createOrgLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCredit', + 'updateOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCreditInput', + 'id', + 'orgLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'updateOrgLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCredit', + 'deleteOrgLimitCredit', + 'orgLimitCredit', + { + id: args.where.id, + }, + 'DeleteOrgLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'deleteOrgLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/admin/orm/mutation/index.ts b/sdk/constructive-react/src/admin/orm/mutation/index.ts index cbc1459ea..e1c312186 100644 --- a/sdk/constructive-react/src/admin/orm/mutation/index.ts +++ b/sdk/constructive-react/src/admin/orm/mutation/index.ts @@ -9,15 +9,12 @@ import type { InferSelectResult, StrictSelect } from '../select-types'; import type { SubmitAppInviteCodeInput, SubmitOrgInviteCodeInput, - RequestUploadUrlInput, ProvisionBucketInput, SubmitAppInviteCodePayload, SubmitOrgInviteCodePayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SubmitAppInviteCodePayloadSelect, SubmitOrgInviteCodePayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -27,16 +24,6 @@ export interface SubmitAppInviteCodeVariables { export interface SubmitOrgInviteCodeVariables { input: SubmitOrgInviteCodeInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -107,35 +94,6 @@ export function createMutationOperations(client: OrmClient) { 'SubmitOrgInviteCodePayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-react/src/admin/orm/query-builder.ts b/sdk/constructive-react/src/admin/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-react/src/admin/orm/query-builder.ts +++ b/sdk/constructive-react/src/admin/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-react/src/admin/schema-types.ts b/sdk/constructive-react/src/admin/schema-types.ts index c3a79c28f..5b31dca05 100644 --- a/sdk/constructive-react/src/admin/schema-types.ts +++ b/sdk/constructive-react/src/admin/schema-types.ts @@ -13,6 +13,12 @@ import type { AppLevel, AppLevelRequirement, AppLimit, + AppLimitCap, + AppLimitCapsDefault, + AppLimitCredit, + AppLimitCreditCode, + AppLimitCreditCodeItem, + AppLimitCreditRedemption, AppLimitDefault, AppLimitEvent, AppMembership, @@ -32,6 +38,9 @@ import type { OrgInvite, OrgLimit, OrgLimitAggregate, + OrgLimitCap, + OrgLimitCapsDefault, + OrgLimitCredit, OrgLimitDefault, OrgLimitEvent, OrgMember, @@ -62,6 +71,49 @@ import type { } from './types'; export type ConstructiveInternalTypeEmail = unknown; export type ConstructiveInternalTypeImage = unknown; +/** Methods to use when ordering `AppLimitCredit`. */ +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; +/** Methods to use when ordering `AppLimitCreditCodeItem`. */ +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +/** Methods to use when ordering `AppLimitCreditRedemption`. */ +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; /** Methods to use when ordering `OrgMember`. */ export type OrgMemberOrderBy = | 'NATURAL' @@ -84,6 +136,21 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +/** Methods to use when ordering `AppLimitCreditCode`. */ +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; /** Methods to use when ordering `OrgPermissionDefault`. */ export type OrgPermissionDefaultOrderBy = | 'NATURAL' @@ -193,6 +260,54 @@ export type AppStepOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +/** Methods to use when ordering `AppLimitCapsDefault`. */ +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +/** Methods to use when ordering `OrgLimitCapsDefault`. */ +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +/** Methods to use when ordering `AppLimitCap`. */ +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +/** Methods to use when ordering `OrgLimitCap`. */ +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; /** Methods to use when ordering `OrgAdminGrant`. */ export type OrgAdminGrantOrderBy = | 'NATURAL' @@ -261,6 +376,25 @@ export type AppLimitDefaultOrderBy = | 'MAX_DESC' | 'SOFT_MAX_ASC' | 'SOFT_MAX_DESC'; +/** Methods to use when ordering `OrgLimitCredit`. */ +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; /** Methods to use when ordering `OrgLimitDefault`. */ export type OrgLimitDefaultOrderBy = | 'NATURAL' @@ -495,48 +629,6 @@ export type OrgChartEdgeOrderBy = | 'POSITION_TITLE_DESC' | 'POSITION_LEVEL_ASC' | 'POSITION_LEVEL_DESC'; -/** Methods to use when ordering `AppLimit`. */ -export type AppLimitOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ACTOR_ID_ASC' - | 'ACTOR_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; -/** Methods to use when ordering `OrgLimitAggregate`. */ -export type OrgLimitAggregateOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; /** Methods to use when ordering `OrgMemberProfile`. */ export type OrgMemberProfileOrderBy = | 'NATURAL' @@ -564,29 +656,6 @@ export type OrgMemberProfileOrderBy = | 'BIO_DESC' | 'PROFILE_PICTURE_ASC' | 'PROFILE_PICTURE_DESC'; -/** Methods to use when ordering `OrgLimit`. */ -export type OrgLimitOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ACTOR_ID_ASC' - | 'ACTOR_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC'; /** Methods to use when ordering `AppLevel`. */ export type AppLevelOrderBy = | 'NATURAL' @@ -606,6 +675,33 @@ export type AppLevelOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +/** Methods to use when ordering `AppLimit`. */ +export type AppLimitOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; /** Methods to use when ordering `AppInvite`. */ export type AppInviteOrderBy = | 'NATURAL' @@ -670,6 +766,64 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +/** Methods to use when ordering `OrgLimitAggregate`. */ +export type OrgLimitAggregateOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; +/** Methods to use when ordering `OrgLimit`. */ +export type OrgLimitOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; /** Methods to use when ordering `OrgInvite`. */ export type OrgInviteOrderBy = | 'NATURAL' @@ -783,6 +937,157 @@ export type OrgMembershipOrderBy = | 'IS_READ_ONLY_DESC' | 'PROFILE_ID_ASC' | 'PROFILE_ID_DESC'; +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} /** A filter to be used against `OrgMember` object types. All fields are combined with a logical ‘and.’ */ export interface OrgMemberFilter { /** Filter by the object’s `id` field. */ @@ -950,16 +1255,80 @@ export interface AppStepFilter { /** Negates the expression. */ not?: AppStepFilter; } -/** A filter to be used against `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ */ -export interface OrgAdminGrantFilter { +/** A filter to be used against `AppLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCapsDefaultFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; - /** Filter by the object’s `isGrant` field. */ - isGrant?: BooleanFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +/** A filter to be used against `OrgLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +/** A filter to be used against `AppLimitCap` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +/** A filter to be used against `OrgLimitCap` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} +/** A filter to be used against `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgAdminGrantFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `isGrant` field. */ + isGrant?: BooleanFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; /** Filter by the object’s `grantorId` field. */ grantorId?: UUIDFilter; /** Filter by the object’s `createdAt` field. */ @@ -1017,22 +1386,30 @@ export interface MembershipTypeFilter { /** Negates the expression. */ not?: MembershipTypeFilter; } -/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ -export interface AppLimitDefaultFilter { +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; /** Checks for all expressions in this list. */ - and?: AppLimitDefaultFilter[]; + and?: OrgLimitCreditFilter[]; /** Checks for any expressions in this list. */ - or?: AppLimitDefaultFilter[]; + or?: OrgLimitCreditFilter[]; /** Negates the expression. */ - not?: AppLimitDefaultFilter; + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; } /** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ export interface OrgLimitDefaultFilter { @@ -1050,6 +1427,19 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; } /** A filter to be used against `AppLevelRequirement` object types. All fields are combined with a logical ‘and.’ */ export interface AppLevelRequirementFilter { @@ -1316,100 +1706,6 @@ export interface OrgChartEdgeFilter { /** Negates the expression. */ not?: OrgChartEdgeFilter; } -/** A filter to be used against `AppLimit` object types. All fields are combined with a logical ‘and.’ */ -export interface AppLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: AppLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: AppLimitFilter[]; - /** Negates the expression. */ - not?: AppLimitFilter; -} -/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ -export interface IntervalFilter { - /** Is null (if `true` is specified) or is not null (if `false` is specified). */ - isNull?: boolean; - /** Equal to the specified value. */ - equalTo?: IntervalInput; - /** Not equal to the specified value. */ - notEqualTo?: IntervalInput; - /** Not equal to the specified value, treating null like an ordinary value. */ - distinctFrom?: IntervalInput; - /** Equal to the specified value, treating null like an ordinary value. */ - notDistinctFrom?: IntervalInput; - /** Included in the specified list. */ - in?: IntervalInput[]; - /** Not included in the specified list. */ - notIn?: IntervalInput[]; - /** Less than the specified value. */ - lessThan?: IntervalInput; - /** Less than or equal to the specified value. */ - lessThanOrEqualTo?: IntervalInput; - /** Greater than the specified value. */ - greaterThan?: IntervalInput; - /** Greater than or equal to the specified value. */ - greaterThanOrEqualTo?: IntervalInput; -} -/** An interval of time that has passed where the smallest distinct unit is a second. */ -export interface IntervalInput { - /** - * A quantity of seconds. This is the only non-integer field, as all the other - * fields will dump their overflow into a smaller unit of time. Intervals don’t - * have a smaller unit than seconds. - */ - seconds?: number; - /** A quantity of minutes. */ - minutes?: number; - /** A quantity of hours. */ - hours?: number; - /** A quantity of days. */ - days?: number; - /** A quantity of months. */ - months?: number; - /** A quantity of years. */ - years?: number; -} -/** A filter to be used against `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ */ -export interface OrgLimitAggregateFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitAggregateFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitAggregateFilter[]; - /** Negates the expression. */ - not?: OrgLimitAggregateFilter; -} /** A filter to be used against `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ */ export interface OrgMemberProfileFilter { /** Filter by the object’s `id` field. */ @@ -1527,33 +1823,6 @@ export interface OrgMembershipFilter { /** A related `orgMemberProfileByMembershipId` exists. */ orgMemberProfileByMembershipIdExists?: boolean; } -/** A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ -export interface OrgLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitFilter[]; - /** Negates the expression. */ - not?: OrgLimitFilter; -} /** A filter to be used against `AppLevel` object types. All fields are combined with a logical ‘and.’ */ export interface AppLevelFilter { /** Filter by the object’s `id` field. */ @@ -1577,6 +1846,81 @@ export interface AppLevelFilter { /** Negates the expression. */ not?: AppLevelFilter; } +/** A filter to be used against `AppLimit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitFilter[]; + /** Negates the expression. */ + not?: AppLimitFilter; +} +/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ +export interface IntervalFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: IntervalInput; + /** Not equal to the specified value. */ + notEqualTo?: IntervalInput; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: IntervalInput; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: IntervalInput; + /** Included in the specified list. */ + in?: IntervalInput[]; + /** Not included in the specified list. */ + notIn?: IntervalInput[]; + /** Less than the specified value. */ + lessThan?: IntervalInput; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: IntervalInput; + /** Greater than the specified value. */ + greaterThan?: IntervalInput; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: IntervalInput; +} +/** An interval of time that has passed where the smallest distinct unit is a second. */ +export interface IntervalInput { + /** + * A quantity of seconds. This is the only non-integer field, as all the other + * fields will dump their overflow into a smaller unit of time. Intervals don’t + * have a smaller unit than seconds. + */ + seconds?: number; + /** A quantity of minutes. */ + minutes?: number; + /** A quantity of hours. */ + hours?: number; + /** A quantity of days. */ + days?: number; + /** A quantity of months. */ + months?: number; + /** A quantity of years. */ + years?: number; +} /** A filter to be used against `AppInvite` object types. All fields are combined with a logical ‘and.’ */ export interface AppInviteFilter { /** Filter by the object’s `id` field. */ @@ -1718,11 +2062,77 @@ export interface OrgMembershipSettingFilter { /** Filter by the object’s `limitAllocationMode` field. */ limitAllocationMode?: StringFilter; /** Checks for all expressions in this list. */ - and?: OrgMembershipSettingFilter[]; + and?: OrgMembershipSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgMembershipSettingFilter[]; + /** Negates the expression. */ + not?: OrgMembershipSettingFilter; +} +/** A filter to be used against `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitAggregateFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitAggregateFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitAggregateFilter[]; + /** Negates the expression. */ + not?: OrgLimitAggregateFilter; +} +/** A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitFilter[]; /** Checks for any expressions in this list. */ - or?: OrgMembershipSettingFilter[]; + or?: OrgLimitFilter[]; /** Negates the expression. */ - not?: OrgMembershipSettingFilter; + not?: OrgLimitFilter; } /** A filter to be used against `OrgInvite` object types. All fields are combined with a logical ‘and.’ */ export interface OrgInviteFilter { @@ -1810,6 +2220,19 @@ export interface SubmitOrgInviteCodeInput { clientMutationId?: string; token?: string; } +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + /** The `AppLimitCreditRedemption` to be created by this mutation. */ + appLimitCreditRedemption: AppLimitCreditRedemptionInput; +} +/** An input for mutations affecting `AppLimitCreditRedemption` */ +export interface AppLimitCreditRedemptionInput { + id?: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId: string; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId: string; +} export interface CreateOrgMemberInput { clientMutationId?: string; /** The `OrgMember` to be created by this mutation. */ @@ -1836,6 +2259,23 @@ export interface AppPermissionDefaultInput { /** Default permission bitmask applied to new members */ permissions?: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + /** The `AppLimitCreditCode` to be created by this mutation. */ + appLimitCreditCode: AppLimitCreditCodeInput; +} +/** An input for mutations affecting `AppLimitCreditCode` */ +export interface AppLimitCreditCodeInput { + id?: string; + /** Human-readable credit code (case-insensitive, unique) */ + code: string; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string; +} export interface CreateOrgPermissionDefaultInput { clientMutationId?: string; /** The `OrgPermissionDefault` to be created by this mutation. */ @@ -1947,6 +2387,62 @@ export interface AppStepInput { createdAt?: string; updatedAt?: string; } +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + /** The `AppLimitCapsDefault` to be created by this mutation. */ + appLimitCapsDefault: AppLimitCapsDefaultInput; +} +/** An input for mutations affecting `AppLimitCapsDefault` */ +export interface AppLimitCapsDefaultInput { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + /** The `OrgLimitCapsDefault` to be created by this mutation. */ + orgLimitCapsDefault: OrgLimitCapsDefaultInput; +} +/** An input for mutations affecting `OrgLimitCapsDefault` */ +export interface OrgLimitCapsDefaultInput { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + /** The `AppLimitCap` to be created by this mutation. */ + appLimitCap: AppLimitCapInput; +} +/** An input for mutations affecting `AppLimitCap` */ +export interface AppLimitCapInput { + id?: string; + /** Name identifier of the cap being overridden */ + name: string; + /** Entity this cap override applies to */ + entityId: string; + /** Override cap value for this entity */ + max?: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + /** The `OrgLimitCap` to be created by this mutation. */ + orgLimitCap: OrgLimitCapInput; +} +/** An input for mutations affecting `OrgLimitCap` */ +export interface OrgLimitCapInput { + id?: string; + /** Name identifier of the cap being overridden */ + name: string; + /** Entity this cap override applies to */ + entityId: string; + /** Override cap value for this entity */ + max?: string; +} export interface CreateOrgAdminGrantInput { clientMutationId?: string; /** The `OrgAdminGrant` to be created by this mutation. */ @@ -2033,6 +2529,23 @@ export interface OrgLimitDefaultInput { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string; } +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + /** The `AppLimitCreditCodeItem` to be created by this mutation. */ + appLimitCreditCodeItem: AppLimitCreditCodeItemInput; +} +/** An input for mutations affecting `AppLimitCreditCodeItem` */ +export interface AppLimitCreditCodeItemInput { + id?: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId: string; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId: string; + /** Number of credits this item grants per redemption */ + amount: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; +} export interface CreateAppLevelRequirementInput { clientMutationId?: string; /** The `AppLevelRequirement` to be created by this mutation. */ @@ -2054,6 +2567,46 @@ export interface AppLevelRequirementInput { createdAt?: string; updatedAt?: string; } +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + /** The `AppLimitCredit` to be created by this mutation. */ + appLimitCredit: AppLimitCreditInput; +} +/** An input for mutations affecting `AppLimitCredit` */ +export interface AppLimitCreditInput { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + /** The `OrgLimitCredit` to be created by this mutation. */ + orgLimitCredit: OrgLimitCreditInput; +} +/** An input for mutations affecting `OrgLimitCredit` */ +export interface OrgLimitCreditInput { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} export interface CreateOrgChartEdgeGrantInput { clientMutationId?: string; /** The `OrgChartEdgeGrant` to be created by this mutation. */ @@ -2259,52 +2812,6 @@ export interface OrgChartEdgeInput { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number; } -export interface CreateAppLimitInput { - clientMutationId?: string; - /** The `AppLimit` to be created by this mutation. */ - appLimit: AppLimitInput; -} -/** An input for mutations affecting `AppLimit` */ -export interface AppLimitInput { - id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; -} -export interface CreateOrgLimitAggregateInput { - clientMutationId?: string; - /** The `OrgLimitAggregate` to be created by this mutation. */ - orgLimitAggregate: OrgLimitAggregateInput; -} -/** An input for mutations affecting `OrgLimitAggregate` */ -export interface OrgLimitAggregateInput { - id?: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string; - /** Entity (org) whose aggregate usage is being tracked */ - entityId: string; - /** Current aggregate usage count for this entity and limit */ - num?: string; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; -} export interface CreateOrgMemberProfileInput { clientMutationId?: string; /** The `OrgMemberProfile` to be created by this mutation. */ @@ -2332,30 +2839,6 @@ export interface OrgMemberProfileInput { /** Profile picture visible to other entity members */ profilePicture?: ConstructiveInternalTypeImage; } -export interface CreateOrgLimitInput { - clientMutationId?: string; - /** The `OrgLimit` to be created by this mutation. */ - orgLimit: OrgLimitInput; -} -/** An input for mutations affecting `OrgLimit` */ -export interface OrgLimitInput { - id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; - entityId: string; -} export interface CreateAppLevelInput { clientMutationId?: string; /** The `AppLevel` to be created by this mutation. */ @@ -2375,6 +2858,35 @@ export interface AppLevelInput { createdAt?: string; updatedAt?: string; } +export interface CreateAppLimitInput { + clientMutationId?: string; + /** The `AppLimit` to be created by this mutation. */ + appLimit: AppLimitInput; +} +/** An input for mutations affecting `AppLimit` */ +export interface AppLimitInput { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; +} export interface CreateAppInviteInput { clientMutationId?: string; /** The `AppInvite` to be created by this mutation. */ @@ -2437,6 +2949,67 @@ export interface OrgMembershipSettingInput { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string; } +export interface CreateOrgLimitAggregateInput { + clientMutationId?: string; + /** The `OrgLimitAggregate` to be created by this mutation. */ + orgLimitAggregate: OrgLimitAggregateInput; +} +/** An input for mutations affecting `OrgLimitAggregate` */ +export interface OrgLimitAggregateInput { + id?: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string; + /** Entity (org) whose aggregate usage is being tracked */ + entityId: string; + /** Current aggregate usage count for this entity and limit */ + num?: string; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string; +} +export interface CreateOrgLimitInput { + clientMutationId?: string; + /** The `OrgLimit` to be created by this mutation. */ + orgLimit: OrgLimitInput; +} +/** An input for mutations affecting `OrgLimit` */ +export interface OrgLimitInput { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + entityId: string; +} export interface CreateOrgInviteInput { clientMutationId?: string; /** The `OrgInvite` to be created by this mutation. */ @@ -2543,6 +3116,20 @@ export interface OrgMembershipInput { isReadOnly?: boolean; profileId?: string; } +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCreditRedemption` being updated. */ + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +/** Represents an update to a `AppLimitCreditRedemption`. Fields that are set will be updated. */ +export interface AppLimitCreditRedemptionPatch { + id?: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string; +} export interface UpdateOrgMemberInput { clientMutationId?: string; id: string; @@ -2571,6 +3158,24 @@ export interface AppPermissionDefaultPatch { /** Default permission bitmask applied to new members */ permissions?: string; } +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCreditCode` being updated. */ + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +/** Represents an update to a `AppLimitCreditCode`. Fields that are set will be updated. */ +export interface AppLimitCreditCodePatch { + id?: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string; +} export interface UpdateOrgPermissionDefaultInput { clientMutationId?: string; id: string; @@ -2689,6 +3294,66 @@ export interface AppStepPatch { createdAt?: string; updatedAt?: string; } +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCapsDefault` being updated. */ + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +/** Represents an update to a `AppLimitCapsDefault`. Fields that are set will be updated. */ +export interface AppLimitCapsDefaultPatch { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitCapsDefault` being updated. */ + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +/** Represents an update to a `OrgLimitCapsDefault`. Fields that are set will be updated. */ +export interface OrgLimitCapsDefaultPatch { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCap` being updated. */ + appLimitCapPatch: AppLimitCapPatch; +} +/** Represents an update to a `AppLimitCap`. Fields that are set will be updated. */ +export interface AppLimitCapPatch { + id?: string; + /** Name identifier of the cap being overridden */ + name?: string; + /** Entity this cap override applies to */ + entityId?: string; + /** Override cap value for this entity */ + max?: string; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitCap` being updated. */ + orgLimitCapPatch: OrgLimitCapPatch; +} +/** Represents an update to a `OrgLimitCap`. Fields that are set will be updated. */ +export interface OrgLimitCapPatch { + id?: string; + /** Name identifier of the cap being overridden */ + name?: string; + /** Entity this cap override applies to */ + entityId?: string; + /** Override cap value for this entity */ + max?: string; +} export interface UpdateOrgAdminGrantInput { clientMutationId?: string; id: string; @@ -2781,6 +3446,24 @@ export interface OrgLimitDefaultPatch { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string; } +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCreditCodeItem` being updated. */ + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +/** Represents an update to a `AppLimitCreditCodeItem`. Fields that are set will be updated. */ +export interface AppLimitCreditCodeItemPatch { + id?: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string; + /** Number of credits this item grants per redemption */ + amount?: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; +} export interface UpdateAppLevelRequirementInput { clientMutationId?: string; id: string; @@ -2803,6 +3486,48 @@ export interface AppLevelRequirementPatch { createdAt?: string; updatedAt?: string; } +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCredit` being updated. */ + appLimitCreditPatch: AppLimitCreditPatch; +} +/** Represents an update to a `AppLimitCredit`. Fields that are set will be updated. */ +export interface AppLimitCreditPatch { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitCredit` being updated. */ + orgLimitCreditPatch: OrgLimitCreditPatch; +} +/** Represents an update to a `OrgLimitCredit`. Fields that are set will be updated. */ +export interface OrgLimitCreditPatch { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} export interface UpdateOrgChartEdgeGrantInput { clientMutationId?: string; id: string; @@ -2964,54 +3689,6 @@ export interface OrgChartEdgePatch { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number; } -export interface UpdateAppLimitInput { - clientMutationId?: string; - id: string; - /** An object where the defined keys will be set on the `AppLimit` being updated. */ - appLimitPatch: AppLimitPatch; -} -/** Represents an update to a `AppLimit`. Fields that are set will be updated. */ -export interface AppLimitPatch { - id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId?: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; -} -export interface UpdateOrgLimitAggregateInput { - clientMutationId?: string; - id: string; - /** An object where the defined keys will be set on the `OrgLimitAggregate` being updated. */ - orgLimitAggregatePatch: OrgLimitAggregatePatch; -} -/** Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. */ -export interface OrgLimitAggregatePatch { - id?: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string; - /** Entity (org) whose aggregate usage is being tracked */ - entityId?: string; - /** Current aggregate usage count for this entity and limit */ - num?: string; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; -} export interface UpdateOrgMemberProfileInput { clientMutationId?: string; id: string; @@ -3042,31 +3719,6 @@ export interface OrgMemberProfilePatch { /** Upload for Profile picture visible to other entity members */ profilePictureUpload?: File; } -export interface UpdateOrgLimitInput { - clientMutationId?: string; - id: string; - /** An object where the defined keys will be set on the `OrgLimit` being updated. */ - orgLimitPatch: OrgLimitPatch; -} -/** Represents an update to a `OrgLimit`. Fields that are set will be updated. */ -export interface OrgLimitPatch { - id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId?: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; - entityId?: string; -} export interface UpdateAppLevelInput { clientMutationId?: string; id: string; @@ -3089,6 +3741,36 @@ export interface AppLevelPatch { /** Upload for Badge or icon image associated with this level */ imageUpload?: File; } +export interface UpdateAppLimitInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimit` being updated. */ + appLimitPatch: AppLimitPatch; +} +/** Represents an update to a `AppLimit`. Fields that are set will be updated. */ +export interface AppLimitPatch { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId?: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; +} export interface UpdateAppInviteInput { clientMutationId?: string; id: string; @@ -3153,6 +3835,69 @@ export interface OrgMembershipSettingPatch { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string; } +export interface UpdateOrgLimitAggregateInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitAggregate` being updated. */ + orgLimitAggregatePatch: OrgLimitAggregatePatch; +} +/** Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. */ +export interface OrgLimitAggregatePatch { + id?: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string; + /** Entity (org) whose aggregate usage is being tracked */ + entityId?: string; + /** Current aggregate usage count for this entity and limit */ + num?: string; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string; +} +export interface UpdateOrgLimitInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimit` being updated. */ + orgLimitPatch: OrgLimitPatch; +} +/** Represents an update to a `OrgLimit`. Fields that are set will be updated. */ +export interface OrgLimitPatch { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId?: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + entityId?: string; +} export interface UpdateOrgInviteInput { clientMutationId?: string; id: string; @@ -3262,6 +4007,10 @@ export interface OrgMembershipPatch { isReadOnly?: boolean; profileId?: string; } +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} export interface DeleteOrgMemberInput { clientMutationId?: string; id: string; @@ -3270,6 +4019,10 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} export interface DeleteOrgPermissionDefaultInput { clientMutationId?: string; id: string; @@ -3298,6 +4051,22 @@ export interface DeleteAppStepInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface DeleteOrgAdminGrantInput { clientMutationId?: string; id: string; @@ -3319,10 +4088,22 @@ export interface DeleteOrgLimitDefaultInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} export interface DeleteAppLevelRequirementInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface DeleteOrgChartEdgeGrantInput { clientMutationId?: string; id: string; @@ -3355,31 +4136,31 @@ export interface DeleteOrgChartEdgeInput { clientMutationId?: string; id: string; } -export interface DeleteAppLimitInput { +export interface DeleteOrgMemberProfileInput { clientMutationId?: string; id: string; } -export interface DeleteOrgLimitAggregateInput { +export interface DeleteAppLevelInput { clientMutationId?: string; id: string; } -export interface DeleteOrgMemberProfileInput { +export interface DeleteAppLimitInput { clientMutationId?: string; id: string; } -export interface DeleteOrgLimitInput { +export interface DeleteAppInviteInput { clientMutationId?: string; id: string; } -export interface DeleteAppLevelInput { +export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } -export interface DeleteAppInviteInput { +export interface DeleteOrgLimitAggregateInput { clientMutationId?: string; id: string; } -export interface DeleteOrgMembershipSettingInput { +export interface DeleteOrgLimitInput { clientMutationId?: string; id: string; } @@ -3395,25 +4176,6 @@ export interface DeleteOrgMembershipInput { clientMutationId?: string; id: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -3458,6 +4220,13 @@ export interface AppLevelRequirementConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCreditRedemption` values. */ +export interface AppLimitCreditRedemptionConnection { + nodes: AppLimitCreditRedemption[]; + edges: AppLimitCreditRedemptionEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgMember` values. */ export interface OrgMemberConnection { nodes: OrgMember[]; @@ -3472,6 +4241,13 @@ export interface AppPermissionDefaultConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCreditCode` values. */ +export interface AppLimitCreditCodeConnection { + nodes: AppLimitCreditCode[]; + edges: AppLimitCreditCodeEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgPermissionDefault` values. */ export interface OrgPermissionDefaultConnection { nodes: OrgPermissionDefault[]; @@ -3507,6 +4283,34 @@ export interface AppStepConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCapsDefault` values. */ +export interface AppLimitCapsDefaultConnection { + nodes: AppLimitCapsDefault[]; + edges: AppLimitCapsDefaultEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimitCapsDefault` values. */ +export interface OrgLimitCapsDefaultConnection { + nodes: OrgLimitCapsDefault[]; + edges: OrgLimitCapsDefaultEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `AppLimitCap` values. */ +export interface AppLimitCapConnection { + nodes: AppLimitCap[]; + edges: AppLimitCapEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimitCap` values. */ +export interface OrgLimitCapConnection { + nodes: OrgLimitCap[]; + edges: OrgLimitCapEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgAdminGrant` values. */ export interface OrgAdminGrantConnection { nodes: OrgAdminGrant[]; @@ -3542,6 +4346,27 @@ export interface OrgLimitDefaultConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCreditCodeItem` values. */ +export interface AppLimitCreditCodeItemConnection { + nodes: AppLimitCreditCodeItem[]; + edges: AppLimitCreditCodeItemEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `AppLimitCredit` values. */ +export interface AppLimitCreditConnection { + nodes: AppLimitCredit[]; + edges: AppLimitCreditEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimitCredit` values. */ +export interface OrgLimitCreditConnection { + nodes: OrgLimitCredit[]; + edges: OrgLimitCreditEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgChartEdgeGrant` values. */ export interface OrgChartEdgeGrantConnection { nodes: OrgChartEdgeGrant[]; @@ -3599,30 +4424,16 @@ export interface OrgLimitEventConnection { totalCount: number; } /** A connection to a list of `OrgGrant` values. */ -export interface OrgGrantConnection { - nodes: OrgGrant[]; - edges: OrgGrantEdge[]; - pageInfo: PageInfo; - totalCount: number; -} -/** A connection to a list of `OrgChartEdge` values. */ -export interface OrgChartEdgeConnection { - nodes: OrgChartEdge[]; - edges: OrgChartEdgeEdge[]; - pageInfo: PageInfo; - totalCount: number; -} -/** A connection to a list of `AppLimit` values. */ -export interface AppLimitConnection { - nodes: AppLimit[]; - edges: AppLimitEdge[]; +export interface OrgGrantConnection { + nodes: OrgGrant[]; + edges: OrgGrantEdge[]; pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `OrgLimitAggregate` values. */ -export interface OrgLimitAggregateConnection { - nodes: OrgLimitAggregate[]; - edges: OrgLimitAggregateEdge[]; +/** A connection to a list of `OrgChartEdge` values. */ +export interface OrgChartEdgeConnection { + nodes: OrgChartEdge[]; + edges: OrgChartEdgeEdge[]; pageInfo: PageInfo; totalCount: number; } @@ -3633,13 +4444,6 @@ export interface OrgMemberProfileConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `OrgLimit` values. */ -export interface OrgLimitConnection { - nodes: OrgLimit[]; - edges: OrgLimitEdge[]; - pageInfo: PageInfo; - totalCount: number; -} /** A connection to a list of `AppLevel` values. */ export interface AppLevelConnection { nodes: AppLevel[]; @@ -3647,6 +4451,13 @@ export interface AppLevelConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimit` values. */ +export interface AppLimitConnection { + nodes: AppLimit[]; + edges: AppLimitEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `AppInvite` values. */ export interface AppInviteConnection { nodes: AppInvite[]; @@ -3661,6 +4472,20 @@ export interface OrgMembershipSettingConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `OrgLimitAggregate` values. */ +export interface OrgLimitAggregateConnection { + nodes: OrgLimitAggregate[]; + edges: OrgLimitAggregateEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimit` values. */ +export interface OrgLimitConnection { + nodes: OrgLimit[]; + edges: OrgLimitEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgInvite` values. */ export interface OrgInviteConnection { nodes: OrgInvite[]; @@ -3694,6 +4519,12 @@ export interface SubmitOrgInviteCodePayload { clientMutationId?: string | null; result?: boolean | null; } +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} export interface CreateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was created by this mutation. */ @@ -3706,6 +4537,12 @@ export interface CreateAppPermissionDefaultPayload { appPermissionDefault?: AppPermissionDefault | null; appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; } +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} export interface CreateOrgPermissionDefaultPayload { clientMutationId?: string | null; /** The `OrgPermissionDefault` that was created by this mutation. */ @@ -3748,6 +4585,30 @@ export interface CreateAppStepPayload { appStep?: AppStep | null; appStepEdge?: AppStepEdge | null; } +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} export interface CreateOrgAdminGrantPayload { clientMutationId?: string | null; /** The `OrgAdminGrant` that was created by this mutation. */ @@ -3778,12 +4639,30 @@ export interface CreateOrgLimitDefaultPayload { orgLimitDefault?: OrgLimitDefault | null; orgLimitDefaultEdge?: OrgLimitDefaultEdge | null; } +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} export interface CreateAppLevelRequirementPayload { clientMutationId?: string | null; /** The `AppLevelRequirement` that was created by this mutation. */ appLevelRequirement?: AppLevelRequirement | null; appLevelRequirementEdge?: AppLevelRequirementEdge | null; } +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} export interface CreateOrgChartEdgeGrantPayload { clientMutationId?: string | null; /** The `OrgChartEdgeGrant` that was created by this mutation. */ @@ -3842,36 +4721,24 @@ export interface CreateOrgChartEdgePayload { orgChartEdge?: OrgChartEdge | null; orgChartEdgeEdge?: OrgChartEdgeEdge | null; } -export interface CreateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was created by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export interface CreateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was created by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} export interface CreateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was created by this mutation. */ orgMemberProfile?: OrgMemberProfile | null; orgMemberProfileEdge?: OrgMemberProfileEdge | null; } -export interface CreateOrgLimitPayload { - clientMutationId?: string | null; - /** The `OrgLimit` that was created by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; -} export interface CreateAppLevelPayload { clientMutationId?: string | null; /** The `AppLevel` that was created by this mutation. */ appLevel?: AppLevel | null; appLevelEdge?: AppLevelEdge | null; } +export interface CreateAppLimitPayload { + clientMutationId?: string | null; + /** The `AppLimit` that was created by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; +} export interface CreateAppInvitePayload { clientMutationId?: string | null; /** The `AppInvite` that was created by this mutation. */ @@ -3884,6 +4751,18 @@ export interface CreateOrgMembershipSettingPayload { orgMembershipSetting?: OrgMembershipSetting | null; orgMembershipSettingEdge?: OrgMembershipSettingEdge | null; } +export interface CreateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was created by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export interface CreateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was created by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} export interface CreateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was created by this mutation. */ @@ -3902,6 +4781,12 @@ export interface CreateOrgMembershipPayload { orgMembership?: OrgMembership | null; orgMembershipEdge?: OrgMembershipEdge | null; } +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} export interface UpdateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was updated by this mutation. */ @@ -3914,6 +4799,12 @@ export interface UpdateAppPermissionDefaultPayload { appPermissionDefault?: AppPermissionDefault | null; appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; } +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} export interface UpdateOrgPermissionDefaultPayload { clientMutationId?: string | null; /** The `OrgPermissionDefault` that was updated by this mutation. */ @@ -3956,6 +4847,30 @@ export interface UpdateAppStepPayload { appStep?: AppStep | null; appStepEdge?: AppStepEdge | null; } +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} export interface UpdateOrgAdminGrantPayload { clientMutationId?: string | null; /** The `OrgAdminGrant` that was updated by this mutation. */ @@ -3986,12 +4901,30 @@ export interface UpdateOrgLimitDefaultPayload { orgLimitDefault?: OrgLimitDefault | null; orgLimitDefaultEdge?: OrgLimitDefaultEdge | null; } +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} export interface UpdateAppLevelRequirementPayload { clientMutationId?: string | null; /** The `AppLevelRequirement` that was updated by this mutation. */ appLevelRequirement?: AppLevelRequirement | null; appLevelRequirementEdge?: AppLevelRequirementEdge | null; } +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} export interface UpdateOrgChartEdgeGrantPayload { clientMutationId?: string | null; /** The `OrgChartEdgeGrant` that was updated by this mutation. */ @@ -4040,36 +4973,24 @@ export interface UpdateOrgChartEdgePayload { orgChartEdge?: OrgChartEdge | null; orgChartEdgeEdge?: OrgChartEdgeEdge | null; } -export interface UpdateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was updated by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export interface UpdateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was updated by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} export interface UpdateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was updated by this mutation. */ orgMemberProfile?: OrgMemberProfile | null; orgMemberProfileEdge?: OrgMemberProfileEdge | null; } -export interface UpdateOrgLimitPayload { - clientMutationId?: string | null; - /** The `OrgLimit` that was updated by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; -} export interface UpdateAppLevelPayload { clientMutationId?: string | null; /** The `AppLevel` that was updated by this mutation. */ appLevel?: AppLevel | null; appLevelEdge?: AppLevelEdge | null; } +export interface UpdateAppLimitPayload { + clientMutationId?: string | null; + /** The `AppLimit` that was updated by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; +} export interface UpdateAppInvitePayload { clientMutationId?: string | null; /** The `AppInvite` that was updated by this mutation. */ @@ -4082,6 +5003,18 @@ export interface UpdateOrgMembershipSettingPayload { orgMembershipSetting?: OrgMembershipSetting | null; orgMembershipSettingEdge?: OrgMembershipSettingEdge | null; } +export interface UpdateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was updated by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export interface UpdateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was updated by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} export interface UpdateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was updated by this mutation. */ @@ -4100,6 +5033,12 @@ export interface UpdateOrgMembershipPayload { orgMembership?: OrgMembership | null; orgMembershipEdge?: OrgMembershipEdge | null; } +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} export interface DeleteOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was deleted by this mutation. */ @@ -4112,6 +5051,12 @@ export interface DeleteAppPermissionDefaultPayload { appPermissionDefault?: AppPermissionDefault | null; appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; } +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} export interface DeleteOrgPermissionDefaultPayload { clientMutationId?: string | null; /** The `OrgPermissionDefault` that was deleted by this mutation. */ @@ -4154,6 +5099,30 @@ export interface DeleteAppStepPayload { appStep?: AppStep | null; appStepEdge?: AppStepEdge | null; } +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} export interface DeleteOrgAdminGrantPayload { clientMutationId?: string | null; /** The `OrgAdminGrant` that was deleted by this mutation. */ @@ -4184,12 +5153,30 @@ export interface DeleteOrgLimitDefaultPayload { orgLimitDefault?: OrgLimitDefault | null; orgLimitDefaultEdge?: OrgLimitDefaultEdge | null; } +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} export interface DeleteAppLevelRequirementPayload { clientMutationId?: string | null; /** The `AppLevelRequirement` that was deleted by this mutation. */ appLevelRequirement?: AppLevelRequirement | null; appLevelRequirementEdge?: AppLevelRequirementEdge | null; } +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} export interface DeleteOrgChartEdgeGrantPayload { clientMutationId?: string | null; /** The `OrgChartEdgeGrant` that was deleted by this mutation. */ @@ -4238,36 +5225,24 @@ export interface DeleteOrgChartEdgePayload { orgChartEdge?: OrgChartEdge | null; orgChartEdgeEdge?: OrgChartEdgeEdge | null; } -export interface DeleteAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was deleted by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export interface DeleteOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was deleted by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} export interface DeleteOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was deleted by this mutation. */ orgMemberProfile?: OrgMemberProfile | null; orgMemberProfileEdge?: OrgMemberProfileEdge | null; } -export interface DeleteOrgLimitPayload { - clientMutationId?: string | null; - /** The `OrgLimit` that was deleted by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; -} export interface DeleteAppLevelPayload { clientMutationId?: string | null; /** The `AppLevel` that was deleted by this mutation. */ appLevel?: AppLevel | null; appLevelEdge?: AppLevelEdge | null; } +export interface DeleteAppLimitPayload { + clientMutationId?: string | null; + /** The `AppLimit` that was deleted by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; +} export interface DeleteAppInvitePayload { clientMutationId?: string | null; /** The `AppInvite` that was deleted by this mutation. */ @@ -4280,6 +5255,18 @@ export interface DeleteOrgMembershipSettingPayload { orgMembershipSetting?: OrgMembershipSetting | null; orgMembershipSettingEdge?: OrgMembershipSettingEdge | null; } +export interface DeleteOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was deleted by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export interface DeleteOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was deleted by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} export interface DeleteOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was deleted by this mutation. */ @@ -4298,18 +5285,6 @@ export interface DeleteOrgMembershipPayload { orgMembership?: OrgMembership | null; orgMembershipEdge?: OrgMembershipEdge | null; } -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -4365,6 +5340,12 @@ export interface AppLevelRequirementEdge { /** The `AppLevelRequirement` at the end of the edge. */ node?: AppLevelRequirement | null; } +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} /** A `OrgMember` edge in the connection. */ export interface OrgMemberEdge { cursor?: string | null; @@ -4377,6 +5358,12 @@ export interface AppPermissionDefaultEdge { /** The `AppPermissionDefault` at the end of the edge. */ node?: AppPermissionDefault | null; } +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} /** A `OrgPermissionDefault` edge in the connection. */ export interface OrgPermissionDefaultEdge { cursor?: string | null; @@ -4407,6 +5394,30 @@ export interface AppStepEdge { /** The `AppStep` at the end of the edge. */ node?: AppStep | null; } +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} /** A `OrgAdminGrant` edge in the connection. */ export interface OrgAdminGrantEdge { cursor?: string | null; @@ -4437,6 +5448,24 @@ export interface OrgLimitDefaultEdge { /** The `OrgLimitDefault` at the end of the edge. */ node?: OrgLimitDefault | null; } +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} /** A `OrgChartEdgeGrant` edge in the connection. */ export interface OrgChartEdgeGrantEdge { cursor?: string | null; @@ -4497,36 +5526,24 @@ export interface OrgChartEdgeEdge { /** The `OrgChartEdge` at the end of the edge. */ node?: OrgChartEdge | null; } -/** A `AppLimit` edge in the connection. */ -export interface AppLimitEdge { - cursor?: string | null; - /** The `AppLimit` at the end of the edge. */ - node?: AppLimit | null; -} -/** A `OrgLimitAggregate` edge in the connection. */ -export interface OrgLimitAggregateEdge { - cursor?: string | null; - /** The `OrgLimitAggregate` at the end of the edge. */ - node?: OrgLimitAggregate | null; -} /** A `OrgMemberProfile` edge in the connection. */ export interface OrgMemberProfileEdge { cursor?: string | null; /** The `OrgMemberProfile` at the end of the edge. */ node?: OrgMemberProfile | null; } -/** A `OrgLimit` edge in the connection. */ -export interface OrgLimitEdge { - cursor?: string | null; - /** The `OrgLimit` at the end of the edge. */ - node?: OrgLimit | null; -} /** A `AppLevel` edge in the connection. */ export interface AppLevelEdge { cursor?: string | null; /** The `AppLevel` at the end of the edge. */ node?: AppLevel | null; } +/** A `AppLimit` edge in the connection. */ +export interface AppLimitEdge { + cursor?: string | null; + /** The `AppLimit` at the end of the edge. */ + node?: AppLimit | null; +} /** A `AppInvite` edge in the connection. */ export interface AppInviteEdge { cursor?: string | null; @@ -4539,6 +5556,18 @@ export interface OrgMembershipSettingEdge { /** The `OrgMembershipSetting` at the end of the edge. */ node?: OrgMembershipSetting | null; } +/** A `OrgLimitAggregate` edge in the connection. */ +export interface OrgLimitAggregateEdge { + cursor?: string | null; + /** The `OrgLimitAggregate` at the end of the edge. */ + node?: OrgLimitAggregate | null; +} +/** A `OrgLimit` edge in the connection. */ +export interface OrgLimitEdge { + cursor?: string | null; + /** The `OrgLimit` at the end of the edge. */ + node?: OrgLimit | null; +} /** A `OrgInvite` edge in the connection. */ export interface OrgInviteEdge { cursor?: string | null; diff --git a/sdk/constructive-react/src/admin/types.ts b/sdk/constructive-react/src/admin/types.ts index de012d57a..9cb45fedb 100644 --- a/sdk/constructive-react/src/admin/types.ts +++ b/sdk/constructive-react/src/admin/types.ts @@ -37,6 +37,26 @@ export interface AppLevelRequirement { createdAt: string | null; updatedAt: string | null; } +export interface AppLimitCreditRedemption { + id: string | null; + creditCodeId: string | null; + entityId: string | null; +} +export interface AppLimitCreditCodeItem { + id: string | null; + creditCodeId: string | null; + defaultLimitId: string | null; + amount: string | null; + creditType: string | null; +} +export interface AppLimitCredit { + id: string | null; + defaultLimitId: string | null; + actorId: string | null; + amount: string | null; + creditType: string | null; + reason: string | null; +} export interface OrgMember { id: string | null; isAdmin: boolean | null; @@ -47,6 +67,13 @@ export interface AppPermissionDefault { id: string | null; permissions: string | null; } +export interface AppLimitCreditCode { + id: string | null; + code: string | null; + maxRedemptions: number | null; + currentRedemptions: number | null; + expiresAt: string | null; +} export interface OrgPermissionDefault { id: string | null; permissions: string | null; @@ -84,6 +111,28 @@ export interface AppStep { createdAt: string | null; updatedAt: string | null; } +export interface AppLimitCapsDefault { + id: string | null; + name: string | null; + max: string | null; +} +export interface OrgLimitCapsDefault { + id: string | null; + name: string | null; + max: string | null; +} +export interface AppLimitCap { + id: string | null; + name: string | null; + entityId: string | null; + max: string | null; +} +export interface OrgLimitCap { + id: string | null; + name: string | null; + entityId: string | null; + max: string | null; +} export interface OrgAdminGrant { id: string | null; isGrant: boolean | null; @@ -122,6 +171,15 @@ export interface OrgLimitDefault { max: string | null; softMax: string | null; } +export interface OrgLimitCredit { + id: string | null; + defaultLimitId: string | null; + actorId: string | null; + entityId: string | null; + amount: string | null; + creditType: string | null; + reason: string | null; +} export interface OrgChartEdgeGrant { id: string | null; entityId: string | null; @@ -219,26 +277,6 @@ export interface OrgChartEdge { positionTitle: string | null; positionLevel: number | null; } -export interface AppLimit { - id: string | null; - name: string | null; - actorId: string | null; - num: string | null; - max: string | null; - softMax: string | null; - windowStart: string | null; - windowDuration: string | null; -} -export interface OrgLimitAggregate { - id: string | null; - name: string | null; - entityId: string | null; - num: string | null; - max: string | null; - softMax: string | null; - windowStart: string | null; - windowDuration: string | null; -} export interface OrgMemberProfile { id: string | null; createdAt: string | null; @@ -252,17 +290,6 @@ export interface OrgMemberProfile { bio: string | null; profilePicture: ConstructiveInternalTypeImage | null; } -export interface OrgLimit { - id: string | null; - name: string | null; - actorId: string | null; - num: string | null; - max: string | null; - softMax: string | null; - windowStart: string | null; - windowDuration: string | null; - entityId: string | null; -} export interface AppLevel { id: string | null; name: string | null; @@ -272,6 +299,19 @@ export interface AppLevel { createdAt: string | null; updatedAt: string | null; } +export interface AppLimit { + id: string | null; + name: string | null; + actorId: string | null; + num: string | null; + max: string | null; + softMax: string | null; + windowStart: string | null; + windowDuration: string | null; + planMax: string | null; + purchasedCredits: string | null; + periodCredits: string | null; +} export interface AppInvite { id: string | null; email: ConstructiveInternalTypeEmail | null; @@ -303,6 +343,34 @@ export interface OrgMembershipSetting { populateMemberEmail: boolean | null; limitAllocationMode: string | null; } +export interface OrgLimitAggregate { + id: string | null; + name: string | null; + entityId: string | null; + num: string | null; + max: string | null; + softMax: string | null; + windowStart: string | null; + windowDuration: string | null; + planMax: string | null; + purchasedCredits: string | null; + periodCredits: string | null; + reserved: string | null; +} +export interface OrgLimit { + id: string | null; + name: string | null; + actorId: string | null; + num: string | null; + max: string | null; + softMax: string | null; + windowStart: string | null; + windowDuration: string | null; + planMax: string | null; + purchasedCredits: string | null; + periodCredits: string | null; + entityId: string | null; +} export interface OrgInvite { id: string | null; email: ConstructiveInternalTypeEmail | null; diff --git a/sdk/constructive-react/src/auth/README.md b/sdk/constructive-react/src/auth/README.md index 4e8146856..23d34d997 100644 --- a/sdk/constructive-react/src/auth/README.md +++ b/sdk/constructive-react/src/auth/README.md @@ -10,7 +10,7 @@ - **Tables:** 9 - **Custom queries:** 5 -- **Custom mutations:** 23 +- **Custom mutations:** 22 **Generators:** ORM, React Query diff --git a/sdk/constructive-react/src/auth/hooks/README.md b/sdk/constructive-react/src/auth/hooks/README.md index d5876b9cb..ff8e37604 100644 --- a/sdk/constructive-react/src/auth/hooks/README.md +++ b/sdk/constructive-react/src/auth/hooks/README.md @@ -100,10 +100,6 @@ function App() { | `useCreateApiKeyMutation` | Mutation | createApiKey | | `useForgotPasswordMutation` | Mutation | forgotPassword | | `useSendVerificationEmailMutation` | Mutation | sendVerificationEmail | -| `useRequestUploadUrlMutation` | Mutation | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `useProvisionBucketMutation` | Mutation | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -566,20 +562,6 @@ sendVerificationEmail |----------|------| | `input` | SendVerificationEmailInput (required) | -### `useRequestUploadUrlMutation` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - ### `useProvisionBucketMutation` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/auth/hooks/mutation-keys.ts b/sdk/constructive-react/src/auth/hooks/mutation-keys.ts index 3e15f3d15..70f882487 100644 --- a/sdk/constructive-react/src/auth/hooks/mutation-keys.ts +++ b/sdk/constructive-react/src/auth/hooks/mutation-keys.ts @@ -183,10 +183,6 @@ export const customMutationKeys = { identifier ? (['mutation', 'sendVerificationEmail', identifier] as const) : (['mutation', 'sendVerificationEmail'] as const), - /** Mutation key for requestUploadUrl */ requestUploadUrl: (identifier?: string) => - identifier - ? (['mutation', 'requestUploadUrl', identifier] as const) - : (['mutation', 'requestUploadUrl'] as const), /** Mutation key for provisionBucket */ provisionBucket: (identifier?: string) => identifier ? (['mutation', 'provisionBucket', identifier] as const) diff --git a/sdk/constructive-react/src/auth/hooks/mutations/index.ts b/sdk/constructive-react/src/auth/hooks/mutations/index.ts index e7fe88fc1..4df127df7 100644 --- a/sdk/constructive-react/src/auth/hooks/mutations/index.ts +++ b/sdk/constructive-react/src/auth/hooks/mutations/index.ts @@ -47,5 +47,4 @@ export * from './useExtendTokenExpiresMutation'; export * from './useCreateApiKeyMutation'; export * from './useForgotPasswordMutation'; export * from './useSendVerificationEmailMutation'; -export * from './useRequestUploadUrlMutation'; export * from './useProvisionBucketMutation'; diff --git a/sdk/constructive-react/src/auth/hooks/mutations/useRequestUploadUrlMutation.ts b/sdk/constructive-react/src/auth/hooks/mutations/useRequestUploadUrlMutation.ts deleted file mode 100644 index 0c1a31765..000000000 --- a/sdk/constructive-react/src/auth/hooks/mutations/useRequestUploadUrlMutation.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Custom mutation hook for requestUploadUrl - * @generated by @constructive-io/graphql-codegen - * DO NOT EDIT - changes will be overwritten - */ - -import { useMutation } from '@tanstack/react-query'; -import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; -import { getClient } from '../client'; -import { buildSelectionArgs } from '../selection'; -import type { SelectionConfig } from '../selection'; -import { customMutationKeys } from '../mutation-keys'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect, RequestUploadUrlPayload } from '../../orm/input-types'; -import type { InferSelectResult, HookStrictSelect, StrictSelect } from '../../orm/select-types'; -export type { RequestUploadUrlVariables } from '../../orm/mutation'; -export type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export function useRequestUploadUrlMutation( - params: { - selection: { - fields: S & RequestUploadUrlPayloadSelect; - } & HookStrictSelect, RequestUploadUrlPayloadSelect>; - } & Omit< - UseMutationOptions< - { - requestUploadUrl: InferSelectResult | null; - }, - Error, - RequestUploadUrlVariables - >, - 'mutationFn' - > -): UseMutationResult< - { - requestUploadUrl: InferSelectResult | null; - }, - Error, - RequestUploadUrlVariables -> { - const args = buildSelectionArgs(params.selection); - const { selection: _selection, ...mutationOptions } = params ?? {}; - void _selection; - return useMutation({ - mutationKey: customMutationKeys.requestUploadUrl(), - mutationFn: (variables: RequestUploadUrlVariables) => - getClient() - .mutation.requestUploadUrl(variables, { - select: args.select, - } as { - select: S; - } & StrictSelect) - .unwrap(), - ...mutationOptions, - }); -} diff --git a/sdk/constructive-react/src/auth/orm/README.md b/sdk/constructive-react/src/auth/orm/README.md index 9188f84b8..29faca860 100644 --- a/sdk/constructive-react/src/auth/orm/README.md +++ b/sdk/constructive-react/src/auth/orm/README.md @@ -737,24 +737,6 @@ sendVerificationEmail const result = await db.mutation.sendVerificationEmail({ input: { email: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/auth/orm/input-types.ts b/sdk/constructive-react/src/auth/orm/input-types.ts index a091f00d3..9cf3cadd8 100644 --- a/sdk/constructive-react/src/auth/orm/input-types.ts +++ b/sdk/constructive-react/src/auth/orm/input-types.ts @@ -1349,25 +1349,6 @@ export interface SendVerificationEmailInput { clientMutationId?: string; email?: ConstructiveInternalTypeEmail; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -2425,25 +2406,6 @@ export type SendVerificationEmailPayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-react/src/auth/orm/mutation/index.ts b/sdk/constructive-react/src/auth/orm/mutation/index.ts index fa49f8830..3681a0fb5 100644 --- a/sdk/constructive-react/src/auth/orm/mutation/index.ts +++ b/sdk/constructive-react/src/auth/orm/mutation/index.ts @@ -28,7 +28,6 @@ import type { CreateApiKeyInput, ForgotPasswordInput, SendVerificationEmailInput, - RequestUploadUrlInput, ProvisionBucketInput, SignOutPayload, SendAccountDeletionEmailPayload, @@ -51,7 +50,6 @@ import type { CreateApiKeyPayload, ForgotPasswordPayload, SendVerificationEmailPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SignOutPayloadSelect, SendAccountDeletionEmailPayloadSelect, @@ -74,7 +72,6 @@ import type { CreateApiKeyPayloadSelect, ForgotPasswordPayloadSelect, SendVerificationEmailPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -141,16 +138,6 @@ export interface ForgotPasswordVariables { export interface SendVerificationEmailVariables { input: SendVerificationEmailInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -772,35 +759,6 @@ export function createMutationOperations(client: OrmClient) { 'SendVerificationEmailPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-react/src/auth/orm/query-builder.ts b/sdk/constructive-react/src/auth/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-react/src/auth/orm/query-builder.ts +++ b/sdk/constructive-react/src/auth/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-react/src/auth/schema-types.ts b/sdk/constructive-react/src/auth/schema-types.ts index 763f75f92..aa39fa91d 100644 --- a/sdk/constructive-react/src/auth/schema-types.ts +++ b/sdk/constructive-react/src/auth/schema-types.ts @@ -1301,25 +1301,6 @@ export interface DeleteWebauthnCredentialInput { clientMutationId?: string; id: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -1613,18 +1594,6 @@ export interface DeleteWebauthnCredentialPayload { webauthnCredential?: WebauthnCredential | null; webauthnCredentialEdge?: WebauthnCredentialEdge | null; } -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-react/src/objects/README.md b/sdk/constructive-react/src/objects/README.md index 977ecad46..ee41f2e40 100644 --- a/sdk/constructive-react/src/objects/README.md +++ b/sdk/constructive-react/src/objects/README.md @@ -10,7 +10,7 @@ - **Tables:** 5 - **Custom queries:** 4 -- **Custom mutations:** 10 +- **Custom mutations:** 9 **Generators:** ORM, React Query diff --git a/sdk/constructive-react/src/objects/hooks/README.md b/sdk/constructive-react/src/objects/hooks/README.md index 86a2bf1ac..56cbbcb51 100644 --- a/sdk/constructive-react/src/objects/hooks/README.md +++ b/sdk/constructive-react/src/objects/hooks/README.md @@ -66,10 +66,6 @@ function App() { | `useInsertNodeAtPathMutation` | Mutation | insertNodeAtPath | | `useUpdateNodeAtPathMutation` | Mutation | updateNodeAtPath | | `useSetAndCommitMutation` | Mutation | setAndCommit | -| `useRequestUploadUrlMutation` | Mutation | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `useProvisionBucketMutation` | Mutation | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -324,20 +320,6 @@ setAndCommit |----------|------| | `input` | SetAndCommitInput (required) | -### `useRequestUploadUrlMutation` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - ### `useProvisionBucketMutation` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/objects/hooks/mutation-keys.ts b/sdk/constructive-react/src/objects/hooks/mutation-keys.ts index cdef880a9..d8fd8d138 100644 --- a/sdk/constructive-react/src/objects/hooks/mutation-keys.ts +++ b/sdk/constructive-react/src/objects/hooks/mutation-keys.ts @@ -97,10 +97,6 @@ export const customMutationKeys = { identifier ? (['mutation', 'setAndCommit', identifier] as const) : (['mutation', 'setAndCommit'] as const), - /** Mutation key for requestUploadUrl */ requestUploadUrl: (identifier?: string) => - identifier - ? (['mutation', 'requestUploadUrl', identifier] as const) - : (['mutation', 'requestUploadUrl'] as const), /** Mutation key for provisionBucket */ provisionBucket: (identifier?: string) => identifier ? (['mutation', 'provisionBucket', identifier] as const) diff --git a/sdk/constructive-react/src/objects/hooks/mutations/index.ts b/sdk/constructive-react/src/objects/hooks/mutations/index.ts index 799b021df..747168b41 100644 --- a/sdk/constructive-react/src/objects/hooks/mutations/index.ts +++ b/sdk/constructive-react/src/objects/hooks/mutations/index.ts @@ -24,5 +24,4 @@ export * from './useSetPropsAndCommitMutation'; export * from './useInsertNodeAtPathMutation'; export * from './useUpdateNodeAtPathMutation'; export * from './useSetAndCommitMutation'; -export * from './useRequestUploadUrlMutation'; export * from './useProvisionBucketMutation'; diff --git a/sdk/constructive-react/src/objects/hooks/mutations/useRequestUploadUrlMutation.ts b/sdk/constructive-react/src/objects/hooks/mutations/useRequestUploadUrlMutation.ts deleted file mode 100644 index 0c1a31765..000000000 --- a/sdk/constructive-react/src/objects/hooks/mutations/useRequestUploadUrlMutation.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Custom mutation hook for requestUploadUrl - * @generated by @constructive-io/graphql-codegen - * DO NOT EDIT - changes will be overwritten - */ - -import { useMutation } from '@tanstack/react-query'; -import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; -import { getClient } from '../client'; -import { buildSelectionArgs } from '../selection'; -import type { SelectionConfig } from '../selection'; -import { customMutationKeys } from '../mutation-keys'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect, RequestUploadUrlPayload } from '../../orm/input-types'; -import type { InferSelectResult, HookStrictSelect, StrictSelect } from '../../orm/select-types'; -export type { RequestUploadUrlVariables } from '../../orm/mutation'; -export type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export function useRequestUploadUrlMutation( - params: { - selection: { - fields: S & RequestUploadUrlPayloadSelect; - } & HookStrictSelect, RequestUploadUrlPayloadSelect>; - } & Omit< - UseMutationOptions< - { - requestUploadUrl: InferSelectResult | null; - }, - Error, - RequestUploadUrlVariables - >, - 'mutationFn' - > -): UseMutationResult< - { - requestUploadUrl: InferSelectResult | null; - }, - Error, - RequestUploadUrlVariables -> { - const args = buildSelectionArgs(params.selection); - const { selection: _selection, ...mutationOptions } = params ?? {}; - void _selection; - return useMutation({ - mutationKey: customMutationKeys.requestUploadUrl(), - mutationFn: (variables: RequestUploadUrlVariables) => - getClient() - .mutation.requestUploadUrl(variables, { - select: args.select, - } as { - select: S; - } & StrictSelect) - .unwrap(), - ...mutationOptions, - }); -} diff --git a/sdk/constructive-react/src/objects/orm/README.md b/sdk/constructive-react/src/objects/orm/README.md index e86aa309c..94b8dc086 100644 --- a/sdk/constructive-react/src/objects/orm/README.md +++ b/sdk/constructive-react/src/objects/orm/README.md @@ -394,24 +394,6 @@ setAndCommit const result = await db.mutation.setAndCommit({ input: '' }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/objects/orm/input-types.ts b/sdk/constructive-react/src/objects/orm/input-types.ts index 67a2de15b..8fcc221ef 100644 --- a/sdk/constructive-react/src/objects/orm/input-types.ts +++ b/sdk/constructive-react/src/objects/orm/input-types.ts @@ -706,25 +706,6 @@ export interface SetAndCommitInput { kids?: string[]; ktree?: string[]; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -814,25 +795,6 @@ export type SetAndCommitPayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-react/src/objects/orm/mutation/index.ts b/sdk/constructive-react/src/objects/orm/mutation/index.ts index 04890fb67..97d4456b4 100644 --- a/sdk/constructive-react/src/objects/orm/mutation/index.ts +++ b/sdk/constructive-react/src/objects/orm/mutation/index.ts @@ -15,7 +15,6 @@ import type { InsertNodeAtPathInput, UpdateNodeAtPathInput, SetAndCommitInput, - RequestUploadUrlInput, ProvisionBucketInput, FreezeObjectsPayload, InitEmptyRepoPayload, @@ -25,7 +24,6 @@ import type { InsertNodeAtPathPayload, UpdateNodeAtPathPayload, SetAndCommitPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, FreezeObjectsPayloadSelect, InitEmptyRepoPayloadSelect, @@ -35,7 +33,6 @@ import type { InsertNodeAtPathPayloadSelect, UpdateNodeAtPathPayloadSelect, SetAndCommitPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -63,16 +60,6 @@ export interface UpdateNodeAtPathVariables { export interface SetAndCommitVariables { input: SetAndCommitInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -317,35 +304,6 @@ export function createMutationOperations(client: OrmClient) { 'SetAndCommitPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-react/src/objects/orm/query-builder.ts b/sdk/constructive-react/src/objects/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-react/src/objects/orm/query-builder.ts +++ b/sdk/constructive-react/src/objects/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-react/src/objects/schema-types.ts b/sdk/constructive-react/src/objects/schema-types.ts index ee5fff30c..d094a19a9 100644 --- a/sdk/constructive-react/src/objects/schema-types.ts +++ b/sdk/constructive-react/src/objects/schema-types.ts @@ -423,25 +423,6 @@ export interface DeleteObjectInput { id: string; databaseId: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -592,18 +573,6 @@ export interface DeleteObjectPayload { object?: Object | null; objectEdge?: ObjectEdge | null; } -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-react/src/public/README.md b/sdk/constructive-react/src/public/README.md index eaabc3c10..8ad9ccf48 100644 --- a/sdk/constructive-react/src/public/README.md +++ b/sdk/constructive-react/src/public/README.md @@ -8,7 +8,7 @@ ## Overview -- **Tables:** 129 +- **Tables:** 147 - **Custom queries:** 22 - **Custom mutations:** 49 diff --git a/sdk/constructive-react/src/public/hooks/README.md b/sdk/constructive-react/src/public/hooks/README.md index dd638ed92..b5ca909d1 100644 --- a/sdk/constructive-react/src/public/hooks/README.md +++ b/sdk/constructive-react/src/public/hooks/README.md @@ -88,6 +88,11 @@ function App() { | `useCreateSpatialRelationMutation` | Mutation | Create a spatialRelation | | `useUpdateSpatialRelationMutation` | Mutation | Update a spatialRelation | | `useDeleteSpatialRelationMutation` | Mutation | Delete a spatialRelation | +| `usePartitionsQuery` | Query | List all partitions | +| `usePartitionQuery` | Query | Get one partition | +| `useCreatePartitionMutation` | Mutation | Create a partition | +| `useUpdatePartitionMutation` | Mutation | Update a partition | +| `useDeletePartitionMutation` | Mutation | Delete a partition | | `useForeignKeyConstraintsQuery` | Query | List all foreignKeyConstraints | | `useForeignKeyConstraintQuery` | Query | Get one foreignKeyConstraint | | `useCreateForeignKeyConstraintMutation` | Mutation | Create a foreignKeyConstraint | @@ -223,6 +228,11 @@ function App() { | `useCreateEnumMutation` | Mutation | Create a enum | | `useUpdateEnumMutation` | Mutation | Update a enum | | `useDeleteEnumMutation` | Mutation | Delete a enum | +| `useFunctionsQuery` | Query | List all functions | +| `useFunctionQuery` | Query | Get one function | +| `useCreateFunctionMutation` | Mutation | Create a function | +| `useUpdateFunctionMutation` | Mutation | Update a function | +| `useDeleteFunctionMutation` | Mutation | Delete a function | | `useApiSchemasQuery` | Query | Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API | | `useApiSchemaQuery` | Query | Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API | | `useCreateApiSchemaMutation` | Mutation | Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API | @@ -253,6 +263,11 @@ function App() { | `useCreateSiteThemeMutation` | Mutation | Theme configuration for a site; stores design tokens, colors, and typography as JSONB | | `useUpdateSiteThemeMutation` | Mutation | Theme configuration for a site; stores design tokens, colors, and typography as JSONB | | `useDeleteSiteThemeMutation` | Mutation | Theme configuration for a site; stores design tokens, colors, and typography as JSONB | +| `useCorsSettingsQuery` | Query | Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries | +| `useCorsSettingQuery` | Query | Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries | +| `useCreateCorsSettingMutation` | Mutation | Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries | +| `useUpdateCorsSettingMutation` | Mutation | Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries | +| `useDeleteCorsSettingMutation` | Mutation | Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries | | `useTriggerFunctionsQuery` | Query | List all triggerFunctions | | `useTriggerFunctionQuery` | Query | Get one triggerFunction | | `useCreateTriggerFunctionMutation` | Mutation | Create a triggerFunction | @@ -278,6 +293,11 @@ function App() { | `useCreateAppMutation` | Mutation | Mobile and native app configuration linked to a site, including store links and identifiers | | `useUpdateAppMutation` | Mutation | Mobile and native app configuration linked to a site, including store links and identifiers | | `useDeleteAppMutation` | Mutation | Mobile and native app configuration linked to a site, including store links and identifiers | +| `useApiSettingsQuery` | Query | Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default | +| `useApiSettingQuery` | Query | Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default | +| `useCreateApiSettingMutation` | Mutation | Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default | +| `useUpdateApiSettingMutation` | Mutation | Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default | +| `useDeleteApiSettingMutation` | Mutation | Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default | | `useConnectedAccountsModulesQuery` | Query | List all connectedAccountsModules | | `useConnectedAccountsModuleQuery` | Query | Get one connectedAccountsModule | | `useCreateConnectedAccountsModuleMutation` | Mutation | Create a connectedAccountsModule | @@ -518,11 +538,31 @@ function App() { | `useCreateAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useUpdateAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useDeleteAppLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | +| `useAppLimitCreditsQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useAppLimitCreditQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useCreateAppLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useUpdateAppLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useDeleteAppLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useAppLimitCreditCodeItemsQuery` | Query | Items within a credit code — each row grants credits for a specific limit definition | +| `useAppLimitCreditCodeItemQuery` | Query | Items within a credit code — each row grants credits for a specific limit definition | +| `useCreateAppLimitCreditCodeItemMutation` | Mutation | Items within a credit code — each row grants credits for a specific limit definition | +| `useUpdateAppLimitCreditCodeItemMutation` | Mutation | Items within a credit code — each row grants credits for a specific limit definition | +| `useDeleteAppLimitCreditCodeItemMutation` | Mutation | Items within a credit code — each row grants credits for a specific limit definition | +| `useAppLimitCreditRedemptionsQuery` | Query | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useAppLimitCreditRedemptionQuery` | Query | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useCreateAppLimitCreditRedemptionMutation` | Mutation | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useUpdateAppLimitCreditRedemptionMutation` | Mutation | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | +| `useDeleteAppLimitCreditRedemptionMutation` | Mutation | Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits | | `useOrgLimitsQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | | `useOrgLimitQuery` | Query | Tracks per-actor usage counts against configurable maximum limits | | `useCreateOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useUpdateOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | | `useDeleteOrgLimitMutation` | Mutation | Tracks per-actor usage counts against configurable maximum limits | +| `useOrgLimitCreditsQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useOrgLimitCreditQuery` | Query | Append-only ledger of credit grants that automatically update limit ceilings | +| `useCreateOrgLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useUpdateOrgLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | +| `useDeleteOrgLimitCreditMutation` | Mutation | Append-only ledger of credit grants that automatically update limit ceilings | | `useOrgLimitAggregatesQuery` | Query | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | | `useOrgLimitAggregateQuery` | Query | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | | `useCreateOrgLimitAggregateMutation` | Mutation | Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) | @@ -625,6 +665,31 @@ function App() { | `useCreateAppPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | | `useUpdateAppPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | | `useDeleteAppPermissionDefaultMutation` | Mutation | Stores the default permission bitmask assigned to new members upon joining | +| `useAppLimitCreditCodesQuery` | Query | Redeemable credit codes managed by admins with the add_credits permission | +| `useAppLimitCreditCodeQuery` | Query | Redeemable credit codes managed by admins with the add_credits permission | +| `useCreateAppLimitCreditCodeMutation` | Mutation | Redeemable credit codes managed by admins with the add_credits permission | +| `useUpdateAppLimitCreditCodeMutation` | Mutation | Redeemable credit codes managed by admins with the add_credits permission | +| `useDeleteAppLimitCreditCodeMutation` | Mutation | Redeemable credit codes managed by admins with the add_credits permission | +| `useAppLimitCapsDefaultsQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useAppLimitCapsDefaultQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useCreateAppLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useUpdateAppLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useDeleteAppLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useOrgLimitCapsDefaultsQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useOrgLimitCapsDefaultQuery` | Query | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useCreateOrgLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useUpdateOrgLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useDeleteOrgLimitCapsDefaultMutation` | Mutation | Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. | +| `useAppLimitCapsQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useAppLimitCapQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useCreateAppLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useUpdateAppLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useDeleteAppLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useOrgLimitCapsQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useOrgLimitCapQuery` | Query | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useCreateOrgLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useUpdateOrgLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | +| `useDeleteOrgLimitCapMutation` | Mutation | Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. | | `useMembershipTypesQuery` | Query | Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) | | `useMembershipTypeQuery` | Query | Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) | | `useCreateMembershipTypeMutation` | Mutation | Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) | @@ -665,6 +730,11 @@ function App() { | `useCreateCommitMutation` | Mutation | A commit records changes to the repository. | | `useUpdateCommitMutation` | Mutation | A commit records changes to the repository. | | `useDeleteCommitMutation` | Mutation | A commit records changes to the repository. | +| `usePubkeySettingsQuery` | Query | Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries | +| `usePubkeySettingQuery` | Query | Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries | +| `useCreatePubkeySettingMutation` | Mutation | Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries | +| `useUpdatePubkeySettingMutation` | Mutation | Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries | +| `useDeletePubkeySettingMutation` | Mutation | Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries | | `useRateLimitsModulesQuery` | Query | List all rateLimitsModules | | `useRateLimitsModuleQuery` | Query | Get one rateLimitsModule | | `useCreateRateLimitsModuleMutation` | Mutation | Create a rateLimitsModule | @@ -680,20 +750,30 @@ function App() { | `useCreateOrgMembershipDefaultMutation` | Mutation | Default membership settings per entity, controlling initial approval and verification state for new members | | `useUpdateOrgMembershipDefaultMutation` | Mutation | Default membership settings per entity, controlling initial approval and verification state for new members | | `useDeleteOrgMembershipDefaultMutation` | Mutation | Default membership settings per entity, controlling initial approval and verification state for new members | +| `useRlsSettingsQuery` | Query | Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries | +| `useRlsSettingQuery` | Query | Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries | +| `useCreateRlsSettingMutation` | Mutation | Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries | +| `useUpdateRlsSettingMutation` | Mutation | Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries | +| `useDeleteRlsSettingMutation` | Mutation | Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries | | `useAppLimitEventsQuery` | Query | Append-only log of limit events for historical reporting and audit | | `useCreateAppLimitEventMutation` | Mutation | Append-only log of limit events for historical reporting and audit | | `useOrgLimitEventsQuery` | Query | Append-only log of limit events for historical reporting and audit | | `useCreateOrgLimitEventMutation` | Mutation | Append-only log of limit events for historical reporting and audit | -| `usePlansModulesQuery` | Query | List all plansModules | -| `usePlansModuleQuery` | Query | Get one plansModule | -| `useCreatePlansModuleMutation` | Mutation | Create a plansModule | -| `useUpdatePlansModuleMutation` | Mutation | Update a plansModule | -| `useDeletePlansModuleMutation` | Mutation | Delete a plansModule | | `useRlsModulesQuery` | Query | List all rlsModules | | `useRlsModuleQuery` | Query | Get one rlsModule | | `useCreateRlsModuleMutation` | Mutation | Create a rlsModule | | `useUpdateRlsModuleMutation` | Mutation | Update a rlsModule | | `useDeleteRlsModuleMutation` | Mutation | Delete a rlsModule | +| `useDatabaseSettingsQuery` | Query | Database-wide feature flags and settings; controls which platform features are available to all APIs in this database | +| `useDatabaseSettingQuery` | Query | Database-wide feature flags and settings; controls which platform features are available to all APIs in this database | +| `useCreateDatabaseSettingMutation` | Mutation | Database-wide feature flags and settings; controls which platform features are available to all APIs in this database | +| `useUpdateDatabaseSettingMutation` | Mutation | Database-wide feature flags and settings; controls which platform features are available to all APIs in this database | +| `useDeleteDatabaseSettingMutation` | Mutation | Database-wide feature flags and settings; controls which platform features are available to all APIs in this database | +| `usePlansModulesQuery` | Query | List all plansModules | +| `usePlansModuleQuery` | Query | Get one plansModule | +| `useCreatePlansModuleMutation` | Mutation | Create a plansModule | +| `useUpdatePlansModuleMutation` | Mutation | Update a plansModule | +| `useDeletePlansModuleMutation` | Mutation | Delete a plansModule | | `useSqlActionsQuery` | Query | List all sqlActions | | `useSqlActionQuery` | Query | Get one sqlAction | | `useCreateSqlActionMutation` | Mutation | Create a sqlAction | @@ -719,11 +799,21 @@ function App() { | `useCreateOrgMembershipSettingMutation` | Mutation | Per-entity settings for the memberships module | | `useUpdateOrgMembershipSettingMutation` | Mutation | Per-entity settings for the memberships module | | `useDeleteOrgMembershipSettingMutation` | Mutation | Per-entity settings for the memberships module | +| `useWebauthnSettingsQuery` | Query | Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries | +| `useWebauthnSettingQuery` | Query | Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries | +| `useCreateWebauthnSettingMutation` | Mutation | Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries | +| `useUpdateWebauthnSettingMutation` | Mutation | Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries | +| `useDeleteWebauthnSettingMutation` | Mutation | Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries | | `useAppMembershipsQuery` | Query | Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status | | `useAppMembershipQuery` | Query | Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status | | `useCreateAppMembershipMutation` | Mutation | Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status | | `useUpdateAppMembershipMutation` | Mutation | Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status | | `useDeleteAppMembershipMutation` | Mutation | Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status | +| `useBillingProviderModulesQuery` | Query | List all billingProviderModules | +| `useBillingProviderModuleQuery` | Query | Get one billingProviderModule | +| `useCreateBillingProviderModuleMutation` | Mutation | Create a billingProviderModule | +| `useUpdateBillingProviderModuleMutation` | Mutation | Update a billingProviderModule | +| `useDeleteBillingProviderModuleMutation` | Mutation | Delete a billingProviderModule | | `useHierarchyModulesQuery` | Query | List all hierarchyModules | | `useHierarchyModuleQuery` | Query | Get one hierarchyModule | | `useCreateHierarchyModuleMutation` | Mutation | Create a hierarchyModule | @@ -777,6 +867,7 @@ function App() { | `useProvisionSpatialRelationMutation` | Mutation | Idempotent provisioner for metaschema_public.spatial_relation. Inserts a row declaring a spatial predicate between two geometry/geography columns (owner and target). Called from construct_blueprint when a relation entry has $type=RelationSpatial. Graceful: re-running with the same (source_table_id, name) returns the existing id without modifying the row. Operator whitelist and st_dwithin ↔ param_name pairing are enforced by the spatial_relation table CHECKs. Both fields must already exist — this is a metadata-only insert. | | `useBootstrapUserMutation` | Mutation | bootstrapUser | | `useSetFieldOrderMutation` | Mutation | setFieldOrder | +| `useAppendSmartTagsMutation` | Mutation | appendSmartTags | | `useProvisionUniqueConstraintMutation` | Mutation | Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. | | `useProvisionFullTextSearchMutation` | Mutation | Creates a full-text search configuration on a table. Accepts a jsonb definition with field (tsvector column name) and sources (array of {field, weight, lang}). Graceful: skips if FTS config already exists for the same (table_id, field_id). Returns the fts_id. | | `useProvisionIndexMutation` | Mutation | Creates an index on a table. Accepts a jsonb definition with columns (array of names or single column string), access_method (default BTREE), is_unique, op_classes, options, and name (auto-generated if omitted). Graceful: skips if an index with the same (table_id, field_ids, access_method) already exists. Returns the index_id. | @@ -814,10 +905,6 @@ Example usage: | `useRequestCrossOriginTokenMutation` | Mutation | requestCrossOriginToken | | `useSignInMutation` | Mutation | signIn | | `useProvisionTableMutation` | Mutation | Composable table provisioning: creates or finds a table, then creates fields (so Data* modules can reference them), applies N nodes (Data* modules), enables RLS, creates grants, creates N policies, and optionally creates table-level indexes/full_text_searches/unique_constraints. All operations are graceful (skip existing). Accepts multiple nodes and multiple policies per call, unlike secure_table_provision which is limited to one of each. Returns (out_table_id, out_fields). | -| `useRequestUploadUrlMutation` | Mutation | Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. | | `useProvisionBucketMutation` | Mutation | Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures the S3 bucket with the appropriate privacy policies, CORS rules, @@ -1080,6 +1167,27 @@ const { mutate: create } = useCreateSpatialRelationMutation({ create({ databaseId: '', tableId: '', fieldId: '', refTableId: '', refFieldId: '', name: '', operator: '', paramName: '', category: '', module: '', scope: '', tags: '' }); ``` +### Partition + +```typescript +// List all partitions +const { data, isLoading } = usePartitionsQuery({ + selection: { fields: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }, +}); + +// Get one partition +const { data: item } = usePartitionQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }, +}); + +// Create a partition +const { mutate: create } = useCreatePartitionMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }); +``` + ### ForeignKeyConstraint ```typescript @@ -1500,6 +1608,27 @@ const { mutate: create } = useCreateEnumMutation({ create({ databaseId: '', schemaId: '', name: '', label: '', description: '', values: '', smartTags: '', category: '', module: '', scope: '', tags: '' }); ``` +### Function + +```typescript +// List all functions +const { data, isLoading } = useFunctionsQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, name: true } }, +}); + +// Get one function +const { data: item } = useFunctionQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, schemaId: true, name: true } }, +}); + +// Create a function +const { mutate: create } = useCreateFunctionMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', schemaId: '', name: '' }); +``` + ### ApiSchema ```typescript @@ -1626,6 +1755,27 @@ const { mutate: create } = useCreateSiteThemeMutation({ create({ databaseId: '', siteId: '', theme: '' }); ``` +### CorsSetting + +```typescript +// List all corsSettings +const { data, isLoading } = useCorsSettingsQuery({ + selection: { fields: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }, +}); + +// Get one corsSetting +const { data: item } = useCorsSettingQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }, +}); + +// Create a corsSetting +const { mutate: create } = useCreateCorsSettingMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', apiId: '', allowedOrigins: '' }); +``` + ### TriggerFunction ```typescript @@ -1731,6 +1881,27 @@ const { mutate: create } = useCreateAppMutation({ create({ databaseId: '', siteId: '', name: '', appImage: '', appStoreLink: '', appStoreId: '', appIdPrefix: '', playStoreLink: '' }); ``` +### ApiSetting + +```typescript +// List all apiSettings +const { data, isLoading } = useApiSettingsQuery({ + selection: { fields: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }, +}); + +// Get one apiSetting +const { data: item } = useApiSettingQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }, +}); + +// Create a apiSetting +const { mutate: create } = useCreateApiSettingMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }); +``` + ### ConnectedAccountsModule ```typescript @@ -1925,20 +2096,20 @@ create({ databaseId: '', schemaId: '', privateSchemaId: '', st ```typescript // List all limitsModules const { data, isLoading } = useLimitsModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }, }); // Get one limitsModule const { data: item } = useLimitsModuleQuery({ id: '', - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }, }); // Create a limitsModule const { mutate: create } = useCreateLimitsModuleMutation({ selection: { fields: { id: true } }, }); -create({ databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }); +create({ databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }); ``` ### MembershipTypesModule @@ -2198,20 +2369,20 @@ create({ blueprintId: '', databaseId: '', schemaId: '', status ```typescript // List all storageModules const { data, isLoading } = useStorageModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }, }); // Get one storageModule const { data: item } = useStorageModuleQuery({ id: '', - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }, }); // Create a storageModule const { mutate: create } = useCreateStorageModuleMutation({ selection: { fields: { id: true } }, }); -create({ databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }); +create({ databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }); ``` ### EntityTypeProvision @@ -2219,20 +2390,20 @@ create({ databaseId: '', schemaId: '', privateSchemaId: '', bu ```typescript // List all entityTypeProvisions const { data, isLoading } = useEntityTypeProvisionsQuery({ - selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }, + selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }, }); // Get one entityTypeProvision const { data: item } = useEntityTypeProvisionQuery({ id: '', - selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }, + selection: { fields: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }, }); // Create a entityTypeProvision const { mutate: create } = useCreateEntityTypeProvisionMutation({ selection: { fields: { id: true } }, }); -create({ databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }); +create({ databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }); ``` ### WebauthnCredentialsModule @@ -2576,20 +2747,83 @@ create({ permissions: '', entityId: '' }); ```typescript // List all appLimits const { data, isLoading } = useAppLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }, }); // Get one appLimit const { data: item } = useAppLimitQuery({ id: '', - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }, }); // Create a appLimit const { mutate: create } = useCreateAppLimitMutation({ selection: { fields: { id: true } }, }); -create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); +create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }); +``` + +### AppLimitCredit + +```typescript +// List all appLimitCredits +const { data, isLoading } = useAppLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }, +}); + +// Get one appLimitCredit +const { data: item } = useAppLimitCreditQuery({ + id: '', + selection: { fields: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }, +}); + +// Create a appLimitCredit +const { mutate: create } = useCreateAppLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +create({ defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }); +``` + +### AppLimitCreditCodeItem + +```typescript +// List all appLimitCreditCodeItems +const { data, isLoading } = useAppLimitCreditCodeItemsQuery({ + selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }, +}); + +// Get one appLimitCreditCodeItem +const { data: item } = useAppLimitCreditCodeItemQuery({ + id: '', + selection: { fields: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }, +}); + +// Create a appLimitCreditCodeItem +const { mutate: create } = useCreateAppLimitCreditCodeItemMutation({ + selection: { fields: { id: true } }, +}); +create({ creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }); +``` + +### AppLimitCreditRedemption + +```typescript +// List all appLimitCreditRedemptions +const { data, isLoading } = useAppLimitCreditRedemptionsQuery({ + selection: { fields: { id: true, creditCodeId: true, entityId: true } }, +}); + +// Get one appLimitCreditRedemption +const { data: item } = useAppLimitCreditRedemptionQuery({ + id: '', + selection: { fields: { id: true, creditCodeId: true, entityId: true } }, +}); + +// Create a appLimitCreditRedemption +const { mutate: create } = useCreateAppLimitCreditRedemptionMutation({ + selection: { fields: { id: true } }, +}); +create({ creditCodeId: '', entityId: '' }); ``` ### OrgLimit @@ -2597,20 +2831,41 @@ create({ name: '', actorId: '', num: '', max: '', ```typescript // List all orgLimits const { data, isLoading } = useOrgLimitsQuery({ - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }, }); // Get one orgLimit const { data: item } = useOrgLimitQuery({ id: '', - selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }, + selection: { fields: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }, }); // Create a orgLimit const { mutate: create } = useCreateOrgLimitMutation({ selection: { fields: { id: true } }, }); -create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }); +create({ name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }); +``` + +### OrgLimitCredit + +```typescript +// List all orgLimitCredits +const { data, isLoading } = useOrgLimitCreditsQuery({ + selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }, +}); + +// Get one orgLimitCredit +const { data: item } = useOrgLimitCreditQuery({ + id: '', + selection: { fields: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }, +}); + +// Create a orgLimitCredit +const { mutate: create } = useCreateOrgLimitCreditMutation({ + selection: { fields: { id: true } }, +}); +create({ defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }); ``` ### OrgLimitAggregate @@ -2618,20 +2873,20 @@ create({ name: '', actorId: '', num: '', max: '', ```typescript // List all orgLimitAggregates const { data, isLoading } = useOrgLimitAggregatesQuery({ - selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }, }); // Get one orgLimitAggregate const { data: item } = useOrgLimitAggregateQuery({ id: '', - selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }, + selection: { fields: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }, }); // Create a orgLimitAggregate const { mutate: create } = useCreateOrgLimitAggregateMutation({ selection: { fields: { id: true } }, }); -create({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }); +create({ name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }); ``` ### AppStep @@ -3048,6 +3303,111 @@ const { mutate: create } = useCreateAppPermissionDefaultMutation({ create({ permissions: '' }); ``` +### AppLimitCreditCode + +```typescript +// List all appLimitCreditCodes +const { data, isLoading } = useAppLimitCreditCodesQuery({ + selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }, +}); + +// Get one appLimitCreditCode +const { data: item } = useAppLimitCreditCodeQuery({ + id: '', + selection: { fields: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }, +}); + +// Create a appLimitCreditCode +const { mutate: create } = useCreateAppLimitCreditCodeMutation({ + selection: { fields: { id: true } }, +}); +create({ code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }); +``` + +### AppLimitCapsDefault + +```typescript +// List all appLimitCapsDefaults +const { data, isLoading } = useAppLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Get one appLimitCapsDefault +const { data: item } = useAppLimitCapsDefaultQuery({ + id: '', + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Create a appLimitCapsDefault +const { mutate: create } = useCreateAppLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', max: '' }); +``` + +### OrgLimitCapsDefault + +```typescript +// List all orgLimitCapsDefaults +const { data, isLoading } = useOrgLimitCapsDefaultsQuery({ + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Get one orgLimitCapsDefault +const { data: item } = useOrgLimitCapsDefaultQuery({ + id: '', + selection: { fields: { id: true, name: true, max: true } }, +}); + +// Create a orgLimitCapsDefault +const { mutate: create } = useCreateOrgLimitCapsDefaultMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', max: '' }); +``` + +### AppLimitCap + +```typescript +// List all appLimitCaps +const { data, isLoading } = useAppLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Get one appLimitCap +const { data: item } = useAppLimitCapQuery({ + id: '', + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Create a appLimitCap +const { mutate: create } = useCreateAppLimitCapMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', entityId: '', max: '' }); +``` + +### OrgLimitCap + +```typescript +// List all orgLimitCaps +const { data, isLoading } = useOrgLimitCapsQuery({ + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Get one orgLimitCap +const { data: item } = useOrgLimitCapQuery({ + id: '', + selection: { fields: { id: true, name: true, entityId: true, max: true } }, +}); + +// Create a orgLimitCap +const { mutate: create } = useCreateOrgLimitCapMutation({ + selection: { fields: { id: true } }, +}); +create({ name: '', entityId: '', max: '' }); +``` + ### MembershipType ```typescript @@ -3216,6 +3576,27 @@ const { mutate: create } = useCreateCommitMutation({ create({ message: '', databaseId: '', storeId: '', parentIds: '', authorId: '', committerId: '', treeId: '', date: '' }); ``` +### PubkeySetting + +```typescript +// List all pubkeySettings +const { data, isLoading } = usePubkeySettingsQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }, +}); + +// Get one pubkeySetting +const { data: item } = usePubkeySettingQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }, +}); + +// Create a pubkeySetting +const { mutate: create } = useCreatePubkeySettingMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }); +``` + ### RateLimitsModule ```typescript @@ -3279,6 +3660,27 @@ const { mutate: create } = useCreateOrgMembershipDefaultMutation({ create({ createdBy: '', updatedBy: '', isApproved: '', entityId: '' }); ``` +### RlsSetting + +```typescript +// List all rlsSettings +const { data, isLoading } = useRlsSettingsQuery({ + selection: { fields: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }, +}); + +// Get one rlsSetting +const { data: item } = useRlsSettingQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }, +}); + +// Create a rlsSetting +const { mutate: create } = useCreateRlsSettingMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }); +``` + ### AppLimitEvent ```typescript @@ -3309,46 +3711,67 @@ const { mutate: create } = useCreateOrgLimitEventMutation({ create({ name: '', actorId: '', entityId: '', eventType: '', delta: '', numBefore: '', numAfter: '', maxAtEvent: '', reason: '' }); ``` -### PlansModule +### RlsModule ```typescript -// List all plansModules -const { data, isLoading } = usePlansModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }, +// List all rlsModules +const { data, isLoading } = useRlsModulesQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }, }); -// Get one plansModule -const { data: item } = usePlansModuleQuery({ +// Get one rlsModule +const { data: item } = useRlsModuleQuery({ id: '', - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }, + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }, }); -// Create a plansModule -const { mutate: create } = useCreatePlansModuleMutation({ +// Create a rlsModule +const { mutate: create } = useCreateRlsModuleMutation({ selection: { fields: { id: true } }, }); -create({ databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }); +create({ databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }); ``` -### RlsModule +### DatabaseSetting ```typescript -// List all rlsModules -const { data, isLoading } = useRlsModulesQuery({ - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }, +// List all databaseSettings +const { data, isLoading } = useDatabaseSettingsQuery({ + selection: { fields: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }, }); -// Get one rlsModule -const { data: item } = useRlsModuleQuery({ +// Get one databaseSetting +const { data: item } = useDatabaseSettingQuery({ id: '', - selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }, + selection: { fields: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }, }); -// Create a rlsModule -const { mutate: create } = useCreateRlsModuleMutation({ +// Create a databaseSetting +const { mutate: create } = useCreateDatabaseSettingMutation({ selection: { fields: { id: true } }, }); -create({ databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }); +create({ databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }); +``` + +### PlansModule + +```typescript +// List all plansModules +const { data, isLoading } = usePlansModulesQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }, +}); + +// Get one plansModule +const { data: item } = usePlansModuleQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }, +}); + +// Create a plansModule +const { mutate: create } = useCreatePlansModuleMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }); ``` ### SqlAction @@ -3456,6 +3879,27 @@ const { mutate: create } = useCreateOrgMembershipSettingMutation({ create({ createdBy: '', updatedBy: '', entityId: '', deleteMemberCascadeChildren: '', createChildCascadeOwners: '', createChildCascadeAdmins: '', createChildCascadeMembers: '', allowExternalMembers: '', inviteProfileAssignmentMode: '', populateMemberEmail: '', limitAllocationMode: '' }); ``` +### WebauthnSetting + +```typescript +// List all webauthnSettings +const { data, isLoading } = useWebauthnSettingsQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }, +}); + +// Get one webauthnSetting +const { data: item } = useWebauthnSettingQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }, +}); + +// Create a webauthnSetting +const { mutate: create } = useCreateWebauthnSettingMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }); +``` + ### AppMembership ```typescript @@ -3477,6 +3921,27 @@ const { mutate: create } = useCreateAppMembershipMutation({ create({ createdBy: '', updatedBy: '', isApproved: '', isBanned: '', isDisabled: '', isVerified: '', isActive: '', isOwner: '', isAdmin: '', permissions: '', granted: '', actorId: '', profileId: '' }); ``` +### BillingProviderModule + +```typescript +// List all billingProviderModules +const { data, isLoading } = useBillingProviderModulesQuery({ + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }, +}); + +// Get one billingProviderModule +const { data: item } = useBillingProviderModuleQuery({ + id: '', + selection: { fields: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }, +}); + +// Create a billingProviderModule +const { mutate: create } = useCreateBillingProviderModuleMutation({ + selection: { fields: { id: true } }, +}); +create({ databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }); +``` + ### HierarchyModule ```typescript @@ -4046,6 +4511,17 @@ setFieldOrder |----------|------| | `input` | SetFieldOrderInput (required) | +### `useAppendSmartTagsMutation` + +appendSmartTags + +- **Type:** mutation +- **Arguments:** + + | Argument | Type | + |----------|------| + | `input` | AppendSmartTagsInput (required) | + ### `useProvisionUniqueConstraintMutation` Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -4293,20 +4769,6 @@ Composable table provisioning: creates or finds a table, then creates fields (so |----------|------| | `input` | ProvisionTableInput (required) | -### `useRequestUploadUrlMutation` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - ### `useProvisionBucketMutation` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/public/hooks/index.ts b/sdk/constructive-react/src/public/hooks/index.ts index a2d1829a0..cc3433b68 100644 --- a/sdk/constructive-react/src/public/hooks/index.ts +++ b/sdk/constructive-react/src/public/hooks/index.ts @@ -2,7 +2,7 @@ * GraphQL SDK * @generated by @constructive-io/graphql-codegen * - * Tables: OrgGetManagersRecord, OrgGetSubordinatesRecord, GetAllRecord, AppPermission, OrgPermission, Object, AppLevelRequirement, Database, Schema, Table, CheckConstraint, Field, SpatialRelation, ForeignKeyConstraint, FullTextSearch, Index, Policy, PrimaryKeyConstraint, TableGrant, Trigger, UniqueConstraint, View, ViewTable, ViewGrant, ViewRule, EmbeddingChunk, SecureTableProvision, RelationProvision, SessionSecretsModule, IdentityProvidersModule, SchemaGrant, DefaultPrivilege, Enum, ApiSchema, ApiModule, Domain, SiteMetadatum, SiteModule, SiteTheme, TriggerFunction, DatabaseTransfer, Api, Site, App, ConnectedAccountsModule, CryptoAddressesModule, CryptoAuthModule, DefaultIdsModule, DenormalizedTableField, EmailsModule, EncryptedSecretsModule, InvitesModule, LevelsModule, LimitsModule, MembershipTypesModule, MembershipsModule, PermissionsModule, PhoneNumbersModule, ProfilesModule, SecretsModule, SessionsModule, UserAuthModule, UsersModule, Blueprint, BlueprintTemplate, BlueprintConstruction, StorageModule, EntityTypeProvision, WebauthnCredentialsModule, WebauthnAuthModule, NotificationsModule, DatabaseProvisionModule, AppAdminGrant, AppOwnerGrant, AppGrant, OrgMembership, OrgMember, OrgAdminGrant, OrgOwnerGrant, OrgMemberProfile, OrgGrant, OrgChartEdge, OrgChartEdgeGrant, OrgPermissionDefault, AppLimit, OrgLimit, OrgLimitAggregate, AppStep, AppAchievement, AppLevel, Email, PhoneNumber, CryptoAddress, WebauthnCredential, AppInvite, AppClaimedInvite, OrgInvite, OrgClaimedInvite, AuditLog, AgentThread, AgentMessage, AgentTask, RoleType, IdentityProvider, Ref, Store, AppPermissionDefault, MembershipType, MigrateFile, DevicesModule, NodeTypeRegistry, AppLimitDefault, OrgLimitDefault, UserConnectedAccount, Commit, RateLimitsModule, AppMembershipDefault, OrgMembershipDefault, AppLimitEvent, OrgLimitEvent, PlansModule, RlsModule, SqlAction, BillingModule, AstMigration, User, OrgMembershipSetting, AppMembership, HierarchyModule + * Tables: OrgGetManagersRecord, OrgGetSubordinatesRecord, GetAllRecord, AppPermission, OrgPermission, Object, AppLevelRequirement, Database, Schema, Table, CheckConstraint, Field, SpatialRelation, Partition, ForeignKeyConstraint, FullTextSearch, Index, Policy, PrimaryKeyConstraint, TableGrant, Trigger, UniqueConstraint, View, ViewTable, ViewGrant, ViewRule, EmbeddingChunk, SecureTableProvision, RelationProvision, SessionSecretsModule, IdentityProvidersModule, SchemaGrant, DefaultPrivilege, Enum, Function, ApiSchema, ApiModule, Domain, SiteMetadatum, SiteModule, SiteTheme, CorsSetting, TriggerFunction, DatabaseTransfer, Api, Site, App, ApiSetting, ConnectedAccountsModule, CryptoAddressesModule, CryptoAuthModule, DefaultIdsModule, DenormalizedTableField, EmailsModule, EncryptedSecretsModule, InvitesModule, LevelsModule, LimitsModule, MembershipTypesModule, MembershipsModule, PermissionsModule, PhoneNumbersModule, ProfilesModule, SecretsModule, SessionsModule, UserAuthModule, UsersModule, Blueprint, BlueprintTemplate, BlueprintConstruction, StorageModule, EntityTypeProvision, WebauthnCredentialsModule, WebauthnAuthModule, NotificationsModule, DatabaseProvisionModule, AppAdminGrant, AppOwnerGrant, AppGrant, OrgMembership, OrgMember, OrgAdminGrant, OrgOwnerGrant, OrgMemberProfile, OrgGrant, OrgChartEdge, OrgChartEdgeGrant, OrgPermissionDefault, AppLimit, AppLimitCredit, AppLimitCreditCodeItem, AppLimitCreditRedemption, OrgLimit, OrgLimitCredit, OrgLimitAggregate, AppStep, AppAchievement, AppLevel, Email, PhoneNumber, CryptoAddress, WebauthnCredential, AppInvite, AppClaimedInvite, OrgInvite, OrgClaimedInvite, AuditLog, AgentThread, AgentMessage, AgentTask, RoleType, IdentityProvider, Ref, Store, AppPermissionDefault, AppLimitCreditCode, AppLimitCapsDefault, OrgLimitCapsDefault, AppLimitCap, OrgLimitCap, MembershipType, MigrateFile, DevicesModule, NodeTypeRegistry, AppLimitDefault, OrgLimitDefault, UserConnectedAccount, Commit, PubkeySetting, RateLimitsModule, AppMembershipDefault, OrgMembershipDefault, RlsSetting, AppLimitEvent, OrgLimitEvent, RlsModule, DatabaseSetting, PlansModule, SqlAction, BillingModule, AstMigration, User, OrgMembershipSetting, WebauthnSetting, AppMembership, BillingProviderModule, HierarchyModule * * Usage: * diff --git a/sdk/constructive-react/src/public/hooks/invalidation.ts b/sdk/constructive-react/src/public/hooks/invalidation.ts index f0154bbeb..7111f9ae5 100644 --- a/sdk/constructive-react/src/public/hooks/invalidation.ts +++ b/sdk/constructive-react/src/public/hooks/invalidation.ts @@ -28,6 +28,7 @@ import { checkConstraintKeys, fieldKeys, spatialRelationKeys, + partitionKeys, foreignKeyConstraintKeys, fullTextSearchKeys, indexKeys, @@ -48,17 +49,20 @@ import { schemaGrantKeys, defaultPrivilegeKeys, enumKeys, + functionKeys, apiSchemaKeys, apiModuleKeys, domainKeys, siteMetadatumKeys, siteModuleKeys, siteThemeKeys, + corsSettingKeys, triggerFunctionKeys, databaseTransferKeys, apiKeys, siteKeys, appKeys, + apiSettingKeys, connectedAccountsModuleKeys, cryptoAddressesModuleKeys, cryptoAuthModuleKeys, @@ -100,7 +104,11 @@ import { orgChartEdgeGrantKeys, orgPermissionDefaultKeys, appLimitKeys, + appLimitCreditKeys, + appLimitCreditCodeItemKeys, + appLimitCreditRedemptionKeys, orgLimitKeys, + orgLimitCreditKeys, orgLimitAggregateKeys, appStepKeys, appAchievementKeys, @@ -122,6 +130,11 @@ import { refKeys, storeKeys, appPermissionDefaultKeys, + appLimitCreditCodeKeys, + appLimitCapsDefaultKeys, + orgLimitCapsDefaultKeys, + appLimitCapKeys, + orgLimitCapKeys, membershipTypeKeys, migrateFileKeys, devicesModuleKeys, @@ -130,19 +143,24 @@ import { orgLimitDefaultKeys, userConnectedAccountKeys, commitKeys, + pubkeySettingKeys, rateLimitsModuleKeys, appMembershipDefaultKeys, orgMembershipDefaultKeys, + rlsSettingKeys, appLimitEventKeys, orgLimitEventKeys, - plansModuleKeys, rlsModuleKeys, + databaseSettingKeys, + plansModuleKeys, sqlActionKeys, billingModuleKeys, astMigrationKeys, userKeys, orgMembershipSettingKeys, + webauthnSettingKeys, appMembershipKeys, + billingProviderModuleKeys, hierarchyModuleKeys, } from './query-keys'; /** @@ -371,6 +389,23 @@ export const invalidate = { queryKey: spatialRelationKeys.detail(id), }), }, + /** Invalidate partition queries */ partition: { + /** Invalidate all partition queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: partitionKeys.all, + }), + /** Invalidate partition list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: partitionKeys.lists(), + }), + /** Invalidate a specific partition */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: partitionKeys.detail(id), + }), + }, /** Invalidate foreignKeyConstraint queries */ foreignKeyConstraint: { /** Invalidate all foreignKeyConstraint queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -693,6 +728,20 @@ export const invalidate = { queryKey: enumKeys.detail(id), }), }, + /** Invalidate function queries */ function: { + /** Invalidate all function queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: functionKeys.all, + }), + /** Invalidate function list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: functionKeys.lists(), + }), + /** Invalidate a specific function */ detail: (queryClient: QueryClient, id: string | number) => + queryClient.invalidateQueries({ + queryKey: functionKeys.detail(id), + }), + }, /** Invalidate apiSchema queries */ apiSchema: { /** Invalidate all apiSchema queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -792,6 +841,23 @@ export const invalidate = { queryKey: siteThemeKeys.detail(id), }), }, + /** Invalidate corsSetting queries */ corsSetting: { + /** Invalidate all corsSetting queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.all, + }), + /** Invalidate corsSetting list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.lists(), + }), + /** Invalidate a specific corsSetting */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.detail(id), + }), + }, /** Invalidate triggerFunction queries */ triggerFunction: { /** Invalidate all triggerFunction queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -868,6 +934,23 @@ export const invalidate = { queryKey: appKeys.detail(id), }), }, + /** Invalidate apiSetting queries */ apiSetting: { + /** Invalidate all apiSetting queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.all, + }), + /** Invalidate apiSetting list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.lists(), + }), + /** Invalidate a specific apiSetting */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.detail(id), + }), + }, /** Invalidate connectedAccountsModule queries */ connectedAccountsModule: { /** Invalidate all connectedAccountsModule queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -1556,6 +1639,57 @@ export const invalidate = { queryKey: appLimitKeys.detail(id), }), }, + /** Invalidate appLimitCredit queries */ appLimitCredit: { + /** Invalidate all appLimitCredit queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.all, + }), + /** Invalidate appLimitCredit list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }), + /** Invalidate a specific appLimitCredit */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.detail(id), + }), + }, + /** Invalidate appLimitCreditCodeItem queries */ appLimitCreditCodeItem: { + /** Invalidate all appLimitCreditCodeItem queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.all, + }), + /** Invalidate appLimitCreditCodeItem list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }), + /** Invalidate a specific appLimitCreditCodeItem */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(id), + }), + }, + /** Invalidate appLimitCreditRedemption queries */ appLimitCreditRedemption: { + /** Invalidate all appLimitCreditRedemption queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.all, + }), + /** Invalidate appLimitCreditRedemption list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }), + /** Invalidate a specific appLimitCreditRedemption */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(id), + }), + }, /** Invalidate orgLimit queries */ orgLimit: { /** Invalidate all orgLimit queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -1570,6 +1704,23 @@ export const invalidate = { queryKey: orgLimitKeys.detail(id), }), }, + /** Invalidate orgLimitCredit queries */ orgLimitCredit: { + /** Invalidate all orgLimitCredit queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.all, + }), + /** Invalidate orgLimitCredit list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }), + /** Invalidate a specific orgLimitCredit */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.detail(id), + }), + }, /** Invalidate orgLimitAggregate queries */ orgLimitAggregate: { /** Invalidate all orgLimitAggregate queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -1906,6 +2057,91 @@ export const invalidate = { queryKey: appPermissionDefaultKeys.detail(id), }), }, + /** Invalidate appLimitCreditCode queries */ appLimitCreditCode: { + /** Invalidate all appLimitCreditCode queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.all, + }), + /** Invalidate appLimitCreditCode list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }), + /** Invalidate a specific appLimitCreditCode */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.detail(id), + }), + }, + /** Invalidate appLimitCapsDefault queries */ appLimitCapsDefault: { + /** Invalidate all appLimitCapsDefault queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.all, + }), + /** Invalidate appLimitCapsDefault list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }), + /** Invalidate a specific appLimitCapsDefault */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.detail(id), + }), + }, + /** Invalidate orgLimitCapsDefault queries */ orgLimitCapsDefault: { + /** Invalidate all orgLimitCapsDefault queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.all, + }), + /** Invalidate orgLimitCapsDefault list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }), + /** Invalidate a specific orgLimitCapsDefault */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(id), + }), + }, + /** Invalidate appLimitCap queries */ appLimitCap: { + /** Invalidate all appLimitCap queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.all, + }), + /** Invalidate appLimitCap list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }), + /** Invalidate a specific appLimitCap */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.detail(id), + }), + }, + /** Invalidate orgLimitCap queries */ orgLimitCap: { + /** Invalidate all orgLimitCap queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.all, + }), + /** Invalidate orgLimitCap list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }), + /** Invalidate a specific orgLimitCap */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.detail(id), + }), + }, /** Invalidate membershipType queries */ membershipType: { /** Invalidate all membershipType queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -2039,6 +2275,23 @@ export const invalidate = { queryKey: commitKeys.detail(id), }), }, + /** Invalidate pubkeySetting queries */ pubkeySetting: { + /** Invalidate all pubkeySetting queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.all, + }), + /** Invalidate pubkeySetting list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.lists(), + }), + /** Invalidate a specific pubkeySetting */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.detail(id), + }), + }, /** Invalidate rateLimitsModule queries */ rateLimitsModule: { /** Invalidate all rateLimitsModule queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -2090,6 +2343,23 @@ export const invalidate = { queryKey: orgMembershipDefaultKeys.detail(id), }), }, + /** Invalidate rlsSetting queries */ rlsSetting: { + /** Invalidate all rlsSetting queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.all, + }), + /** Invalidate rlsSetting list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.lists(), + }), + /** Invalidate a specific rlsSetting */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.detail(id), + }), + }, /** Invalidate appLimitEvent queries */ appLimitEvent: { /** Invalidate all appLimitEvent queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -2124,38 +2394,55 @@ export const invalidate = { queryKey: orgLimitEventKeys.detail(id), }), }, - /** Invalidate plansModule queries */ plansModule: { - /** Invalidate all plansModule queries */ all: (queryClient: QueryClient) => + /** Invalidate rlsModule queries */ rlsModule: { + /** Invalidate all rlsModule queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ - queryKey: plansModuleKeys.all, + queryKey: rlsModuleKeys.all, }), - /** Invalidate plansModule list queries */ lists: (queryClient: QueryClient) => + /** Invalidate rlsModule list queries */ lists: (queryClient: QueryClient) => queryClient.invalidateQueries({ - queryKey: plansModuleKeys.lists(), + queryKey: rlsModuleKeys.lists(), }), - /** Invalidate a specific plansModule */ detail: ( + /** Invalidate a specific rlsModule */ detail: ( queryClient: QueryClient, id: string | number ) => queryClient.invalidateQueries({ - queryKey: plansModuleKeys.detail(id), + queryKey: rlsModuleKeys.detail(id), }), }, - /** Invalidate rlsModule queries */ rlsModule: { - /** Invalidate all rlsModule queries */ all: (queryClient: QueryClient) => + /** Invalidate databaseSetting queries */ databaseSetting: { + /** Invalidate all databaseSetting queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ - queryKey: rlsModuleKeys.all, + queryKey: databaseSettingKeys.all, }), - /** Invalidate rlsModule list queries */ lists: (queryClient: QueryClient) => + /** Invalidate databaseSetting list queries */ lists: (queryClient: QueryClient) => queryClient.invalidateQueries({ - queryKey: rlsModuleKeys.lists(), + queryKey: databaseSettingKeys.lists(), }), - /** Invalidate a specific rlsModule */ detail: ( + /** Invalidate a specific databaseSetting */ detail: ( queryClient: QueryClient, id: string | number ) => queryClient.invalidateQueries({ - queryKey: rlsModuleKeys.detail(id), + queryKey: databaseSettingKeys.detail(id), + }), + }, + /** Invalidate plansModule queries */ plansModule: { + /** Invalidate all plansModule queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: plansModuleKeys.all, + }), + /** Invalidate plansModule list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: plansModuleKeys.lists(), + }), + /** Invalidate a specific plansModule */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: plansModuleKeys.detail(id), }), }, /** Invalidate sqlAction queries */ sqlAction: { @@ -2240,6 +2527,23 @@ export const invalidate = { queryKey: orgMembershipSettingKeys.detail(id), }), }, + /** Invalidate webauthnSetting queries */ webauthnSetting: { + /** Invalidate all webauthnSetting queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.all, + }), + /** Invalidate webauthnSetting list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.lists(), + }), + /** Invalidate a specific webauthnSetting */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.detail(id), + }), + }, /** Invalidate appMembership queries */ appMembership: { /** Invalidate all appMembership queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -2257,6 +2561,23 @@ export const invalidate = { queryKey: appMembershipKeys.detail(id), }), }, + /** Invalidate billingProviderModule queries */ billingProviderModule: { + /** Invalidate all billingProviderModule queries */ all: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.all, + }), + /** Invalidate billingProviderModule list queries */ lists: (queryClient: QueryClient) => + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.lists(), + }), + /** Invalidate a specific billingProviderModule */ detail: ( + queryClient: QueryClient, + id: string | number + ) => + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.detail(id), + }), + }, /** Invalidate hierarchyModule queries */ hierarchyModule: { /** Invalidate all hierarchyModule queries */ all: (queryClient: QueryClient) => queryClient.invalidateQueries({ @@ -2376,6 +2697,11 @@ export const remove = { queryKey: spatialRelationKeys.detail(id), }); }, + /** Remove partition from cache */ partition: (queryClient: QueryClient, id: string | number) => { + queryClient.removeQueries({ + queryKey: partitionKeys.detail(id), + }); + }, /** Remove foreignKeyConstraint from cache */ foreignKeyConstraint: ( queryClient: QueryClient, id: string | number @@ -2512,6 +2838,11 @@ export const remove = { queryKey: enumKeys.detail(id), }); }, + /** Remove function from cache */ function: (queryClient: QueryClient, id: string | number) => { + queryClient.removeQueries({ + queryKey: functionKeys.detail(id), + }); + }, /** Remove apiSchema from cache */ apiSchema: (queryClient: QueryClient, id: string | number) => { queryClient.removeQueries({ queryKey: apiSchemaKeys.detail(id), @@ -2548,6 +2879,14 @@ export const remove = { queryKey: siteThemeKeys.detail(id), }); }, + /** Remove corsSetting from cache */ corsSetting: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: corsSettingKeys.detail(id), + }); + }, /** Remove triggerFunction from cache */ triggerFunction: ( queryClient: QueryClient, id: string | number @@ -2579,6 +2918,14 @@ export const remove = { queryKey: appKeys.detail(id), }); }, + /** Remove apiSetting from cache */ apiSetting: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: apiSettingKeys.detail(id), + }); + }, /** Remove connectedAccountsModule from cache */ connectedAccountsModule: ( queryClient: QueryClient, id: string | number @@ -2892,11 +3239,43 @@ export const remove = { queryKey: appLimitKeys.detail(id), }); }, + /** Remove appLimitCredit from cache */ appLimitCredit: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditKeys.detail(id), + }); + }, + /** Remove appLimitCreditCodeItem from cache */ appLimitCreditCodeItem: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(id), + }); + }, + /** Remove appLimitCreditRedemption from cache */ appLimitCreditRedemption: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(id), + }); + }, /** Remove orgLimit from cache */ orgLimit: (queryClient: QueryClient, id: string | number) => { queryClient.removeQueries({ queryKey: orgLimitKeys.detail(id), }); }, + /** Remove orgLimitCredit from cache */ orgLimitCredit: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitCreditKeys.detail(id), + }); + }, /** Remove orgLimitAggregate from cache */ orgLimitAggregate: ( queryClient: QueryClient, id: string | number @@ -3035,6 +3414,46 @@ export const remove = { queryKey: appPermissionDefaultKeys.detail(id), }); }, + /** Remove appLimitCreditCode from cache */ appLimitCreditCode: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeKeys.detail(id), + }); + }, + /** Remove appLimitCapsDefault from cache */ appLimitCapsDefault: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCapsDefaultKeys.detail(id), + }); + }, + /** Remove orgLimitCapsDefault from cache */ orgLimitCapsDefault: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(id), + }); + }, + /** Remove appLimitCap from cache */ appLimitCap: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: appLimitCapKeys.detail(id), + }); + }, + /** Remove orgLimitCap from cache */ orgLimitCap: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: orgLimitCapKeys.detail(id), + }); + }, /** Remove membershipType from cache */ membershipType: ( queryClient: QueryClient, id: string | number @@ -3096,6 +3515,14 @@ export const remove = { queryKey: commitKeys.detail(id), }); }, + /** Remove pubkeySetting from cache */ pubkeySetting: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: pubkeySettingKeys.detail(id), + }); + }, /** Remove rateLimitsModule from cache */ rateLimitsModule: ( queryClient: QueryClient, id: string | number @@ -3120,6 +3547,14 @@ export const remove = { queryKey: orgMembershipDefaultKeys.detail(id), }); }, + /** Remove rlsSetting from cache */ rlsSetting: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: rlsSettingKeys.detail(id), + }); + }, /** Remove appLimitEvent from cache */ appLimitEvent: ( queryClient: QueryClient, id: string | number @@ -3136,17 +3571,25 @@ export const remove = { queryKey: orgLimitEventKeys.detail(id), }); }, - /** Remove plansModule from cache */ plansModule: ( + /** Remove rlsModule from cache */ rlsModule: (queryClient: QueryClient, id: string | number) => { + queryClient.removeQueries({ + queryKey: rlsModuleKeys.detail(id), + }); + }, + /** Remove databaseSetting from cache */ databaseSetting: ( queryClient: QueryClient, id: string | number ) => { queryClient.removeQueries({ - queryKey: plansModuleKeys.detail(id), + queryKey: databaseSettingKeys.detail(id), }); }, - /** Remove rlsModule from cache */ rlsModule: (queryClient: QueryClient, id: string | number) => { + /** Remove plansModule from cache */ plansModule: ( + queryClient: QueryClient, + id: string | number + ) => { queryClient.removeQueries({ - queryKey: rlsModuleKeys.detail(id), + queryKey: plansModuleKeys.detail(id), }); }, /** Remove sqlAction from cache */ sqlAction: (queryClient: QueryClient, id: string | number) => { @@ -3183,6 +3626,14 @@ export const remove = { queryKey: orgMembershipSettingKeys.detail(id), }); }, + /** Remove webauthnSetting from cache */ webauthnSetting: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: webauthnSettingKeys.detail(id), + }); + }, /** Remove appMembership from cache */ appMembership: ( queryClient: QueryClient, id: string | number @@ -3191,6 +3642,14 @@ export const remove = { queryKey: appMembershipKeys.detail(id), }); }, + /** Remove billingProviderModule from cache */ billingProviderModule: ( + queryClient: QueryClient, + id: string | number + ) => { + queryClient.removeQueries({ + queryKey: billingProviderModuleKeys.detail(id), + }); + }, /** Remove hierarchyModule from cache */ hierarchyModule: ( queryClient: QueryClient, id: string | number diff --git a/sdk/constructive-react/src/public/hooks/mutation-keys.ts b/sdk/constructive-react/src/public/hooks/mutation-keys.ts index f1292673f..fed3e5379 100644 --- a/sdk/constructive-react/src/public/hooks/mutation-keys.ts +++ b/sdk/constructive-react/src/public/hooks/mutation-keys.ts @@ -133,6 +133,14 @@ export const spatialRelationMutationKeys = { /** Delete spatialRelation mutation key */ delete: (id: string | number) => ['mutation', 'spatialrelation', 'delete', id] as const, } as const; +export const partitionMutationKeys = { + /** All partition mutation keys */ all: ['mutation', 'partition'] as const, + /** Create partition mutation key */ create: () => ['mutation', 'partition', 'create'] as const, + /** Update partition mutation key */ update: (id: string | number) => + ['mutation', 'partition', 'update', id] as const, + /** Delete partition mutation key */ delete: (id: string | number) => + ['mutation', 'partition', 'delete', id] as const, +} as const; export const foreignKeyConstraintMutationKeys = { /** All foreignKeyConstraint mutation keys */ all: ['mutation', 'foreignkeyconstraint'] as const, /** Create foreignKeyConstraint mutation key */ create: () => @@ -307,6 +315,14 @@ export const enumMutationKeys = { /** Delete enum mutation key */ delete: (id: string | number) => ['mutation', 'enum', 'delete', id] as const, } as const; +export const functionMutationKeys = { + /** All function mutation keys */ all: ['mutation', 'function'] as const, + /** Create function mutation key */ create: () => ['mutation', 'function', 'create'] as const, + /** Update function mutation key */ update: (id: string | number) => + ['mutation', 'function', 'update', id] as const, + /** Delete function mutation key */ delete: (id: string | number) => + ['mutation', 'function', 'delete', id] as const, +} as const; export const apiSchemaMutationKeys = { /** All apiSchema mutation keys */ all: ['mutation', 'apischema'] as const, /** Create apiSchema mutation key */ create: () => ['mutation', 'apischema', 'create'] as const, @@ -356,6 +372,15 @@ export const siteThemeMutationKeys = { /** Delete siteTheme mutation key */ delete: (id: string | number) => ['mutation', 'sitetheme', 'delete', id] as const, } as const; +export const corsSettingMutationKeys = { + /** All corsSetting mutation keys */ all: ['mutation', 'corssetting'] as const, + /** Create corsSetting mutation key */ create: () => + ['mutation', 'corssetting', 'create'] as const, + /** Update corsSetting mutation key */ update: (id: string | number) => + ['mutation', 'corssetting', 'update', id] as const, + /** Delete corsSetting mutation key */ delete: (id: string | number) => + ['mutation', 'corssetting', 'delete', id] as const, +} as const; export const triggerFunctionMutationKeys = { /** All triggerFunction mutation keys */ all: ['mutation', 'triggerfunction'] as const, /** Create triggerFunction mutation key */ create: () => @@ -398,6 +423,14 @@ export const appMutationKeys = { /** Delete app mutation key */ delete: (id: string | number) => ['mutation', 'app', 'delete', id] as const, } as const; +export const apiSettingMutationKeys = { + /** All apiSetting mutation keys */ all: ['mutation', 'apisetting'] as const, + /** Create apiSetting mutation key */ create: () => ['mutation', 'apisetting', 'create'] as const, + /** Update apiSetting mutation key */ update: (id: string | number) => + ['mutation', 'apisetting', 'update', id] as const, + /** Delete apiSetting mutation key */ delete: (id: string | number) => + ['mutation', 'apisetting', 'delete', id] as const, +} as const; export const connectedAccountsModuleMutationKeys = { /** All connectedAccountsModule mutation keys */ all: [ 'mutation', @@ -786,6 +819,39 @@ export const appLimitMutationKeys = { /** Delete appLimit mutation key */ delete: (id: string | number) => ['mutation', 'applimit', 'delete', id] as const, } as const; +export const appLimitCreditMutationKeys = { + /** All appLimitCredit mutation keys */ all: ['mutation', 'applimitcredit'] as const, + /** Create appLimitCredit mutation key */ create: () => + ['mutation', 'applimitcredit', 'create'] as const, + /** Update appLimitCredit mutation key */ update: (id: string | number) => + ['mutation', 'applimitcredit', 'update', id] as const, + /** Delete appLimitCredit mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcredit', 'delete', id] as const, +} as const; +export const appLimitCreditCodeItemMutationKeys = { + /** All appLimitCreditCodeItem mutation keys */ all: [ + 'mutation', + 'applimitcreditcodeitem', + ] as const, + /** Create appLimitCreditCodeItem mutation key */ create: () => + ['mutation', 'applimitcreditcodeitem', 'create'] as const, + /** Update appLimitCreditCodeItem mutation key */ update: (id: string | number) => + ['mutation', 'applimitcreditcodeitem', 'update', id] as const, + /** Delete appLimitCreditCodeItem mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcreditcodeitem', 'delete', id] as const, +} as const; +export const appLimitCreditRedemptionMutationKeys = { + /** All appLimitCreditRedemption mutation keys */ all: [ + 'mutation', + 'applimitcreditredemption', + ] as const, + /** Create appLimitCreditRedemption mutation key */ create: () => + ['mutation', 'applimitcreditredemption', 'create'] as const, + /** Update appLimitCreditRedemption mutation key */ update: (id: string | number) => + ['mutation', 'applimitcreditredemption', 'update', id] as const, + /** Delete appLimitCreditRedemption mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcreditredemption', 'delete', id] as const, +} as const; export const orgLimitMutationKeys = { /** All orgLimit mutation keys */ all: ['mutation', 'orglimit'] as const, /** Create orgLimit mutation key */ create: () => ['mutation', 'orglimit', 'create'] as const, @@ -794,6 +860,15 @@ export const orgLimitMutationKeys = { /** Delete orgLimit mutation key */ delete: (id: string | number) => ['mutation', 'orglimit', 'delete', id] as const, } as const; +export const orgLimitCreditMutationKeys = { + /** All orgLimitCredit mutation keys */ all: ['mutation', 'orglimitcredit'] as const, + /** Create orgLimitCredit mutation key */ create: () => + ['mutation', 'orglimitcredit', 'create'] as const, + /** Update orgLimitCredit mutation key */ update: (id: string | number) => + ['mutation', 'orglimitcredit', 'update', id] as const, + /** Delete orgLimitCredit mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitcredit', 'delete', id] as const, +} as const; export const orgLimitAggregateMutationKeys = { /** All orgLimitAggregate mutation keys */ all: ['mutation', 'orglimitaggregate'] as const, /** Create orgLimitAggregate mutation key */ create: () => @@ -973,6 +1048,51 @@ export const appPermissionDefaultMutationKeys = { /** Delete appPermissionDefault mutation key */ delete: (id: string | number) => ['mutation', 'apppermissiondefault', 'delete', id] as const, } as const; +export const appLimitCreditCodeMutationKeys = { + /** All appLimitCreditCode mutation keys */ all: ['mutation', 'applimitcreditcode'] as const, + /** Create appLimitCreditCode mutation key */ create: () => + ['mutation', 'applimitcreditcode', 'create'] as const, + /** Update appLimitCreditCode mutation key */ update: (id: string | number) => + ['mutation', 'applimitcreditcode', 'update', id] as const, + /** Delete appLimitCreditCode mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcreditcode', 'delete', id] as const, +} as const; +export const appLimitCapsDefaultMutationKeys = { + /** All appLimitCapsDefault mutation keys */ all: ['mutation', 'applimitcapsdefault'] as const, + /** Create appLimitCapsDefault mutation key */ create: () => + ['mutation', 'applimitcapsdefault', 'create'] as const, + /** Update appLimitCapsDefault mutation key */ update: (id: string | number) => + ['mutation', 'applimitcapsdefault', 'update', id] as const, + /** Delete appLimitCapsDefault mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcapsdefault', 'delete', id] as const, +} as const; +export const orgLimitCapsDefaultMutationKeys = { + /** All orgLimitCapsDefault mutation keys */ all: ['mutation', 'orglimitcapsdefault'] as const, + /** Create orgLimitCapsDefault mutation key */ create: () => + ['mutation', 'orglimitcapsdefault', 'create'] as const, + /** Update orgLimitCapsDefault mutation key */ update: (id: string | number) => + ['mutation', 'orglimitcapsdefault', 'update', id] as const, + /** Delete orgLimitCapsDefault mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitcapsdefault', 'delete', id] as const, +} as const; +export const appLimitCapMutationKeys = { + /** All appLimitCap mutation keys */ all: ['mutation', 'applimitcap'] as const, + /** Create appLimitCap mutation key */ create: () => + ['mutation', 'applimitcap', 'create'] as const, + /** Update appLimitCap mutation key */ update: (id: string | number) => + ['mutation', 'applimitcap', 'update', id] as const, + /** Delete appLimitCap mutation key */ delete: (id: string | number) => + ['mutation', 'applimitcap', 'delete', id] as const, +} as const; +export const orgLimitCapMutationKeys = { + /** All orgLimitCap mutation keys */ all: ['mutation', 'orglimitcap'] as const, + /** Create orgLimitCap mutation key */ create: () => + ['mutation', 'orglimitcap', 'create'] as const, + /** Update orgLimitCap mutation key */ update: (id: string | number) => + ['mutation', 'orglimitcap', 'update', id] as const, + /** Delete orgLimitCap mutation key */ delete: (id: string | number) => + ['mutation', 'orglimitcap', 'delete', id] as const, +} as const; export const membershipTypeMutationKeys = { /** All membershipType mutation keys */ all: ['mutation', 'membershiptype'] as const, /** Create membershipType mutation key */ create: () => @@ -1044,6 +1164,15 @@ export const commitMutationKeys = { /** Delete commit mutation key */ delete: (id: string | number) => ['mutation', 'commit', 'delete', id] as const, } as const; +export const pubkeySettingMutationKeys = { + /** All pubkeySetting mutation keys */ all: ['mutation', 'pubkeysetting'] as const, + /** Create pubkeySetting mutation key */ create: () => + ['mutation', 'pubkeysetting', 'create'] as const, + /** Update pubkeySetting mutation key */ update: (id: string | number) => + ['mutation', 'pubkeysetting', 'update', id] as const, + /** Delete pubkeySetting mutation key */ delete: (id: string | number) => + ['mutation', 'pubkeysetting', 'delete', id] as const, +} as const; export const rateLimitsModuleMutationKeys = { /** All rateLimitsModule mutation keys */ all: ['mutation', 'ratelimitsmodule'] as const, /** Create rateLimitsModule mutation key */ create: () => @@ -1071,6 +1200,14 @@ export const orgMembershipDefaultMutationKeys = { /** Delete orgMembershipDefault mutation key */ delete: (id: string | number) => ['mutation', 'orgmembershipdefault', 'delete', id] as const, } as const; +export const rlsSettingMutationKeys = { + /** All rlsSetting mutation keys */ all: ['mutation', 'rlssetting'] as const, + /** Create rlsSetting mutation key */ create: () => ['mutation', 'rlssetting', 'create'] as const, + /** Update rlsSetting mutation key */ update: (id: string | number) => + ['mutation', 'rlssetting', 'update', id] as const, + /** Delete rlsSetting mutation key */ delete: (id: string | number) => + ['mutation', 'rlssetting', 'delete', id] as const, +} as const; export const appLimitEventMutationKeys = { /** All appLimitEvent mutation keys */ all: ['mutation', 'applimitevent'] as const, /** Create appLimitEvent mutation key */ create: () => @@ -1089,6 +1226,23 @@ export const orgLimitEventMutationKeys = { /** Delete orgLimitEvent mutation key */ delete: (id: string | number) => ['mutation', 'orglimitevent', 'delete', id] as const, } as const; +export const rlsModuleMutationKeys = { + /** All rlsModule mutation keys */ all: ['mutation', 'rlsmodule'] as const, + /** Create rlsModule mutation key */ create: () => ['mutation', 'rlsmodule', 'create'] as const, + /** Update rlsModule mutation key */ update: (id: string | number) => + ['mutation', 'rlsmodule', 'update', id] as const, + /** Delete rlsModule mutation key */ delete: (id: string | number) => + ['mutation', 'rlsmodule', 'delete', id] as const, +} as const; +export const databaseSettingMutationKeys = { + /** All databaseSetting mutation keys */ all: ['mutation', 'databasesetting'] as const, + /** Create databaseSetting mutation key */ create: () => + ['mutation', 'databasesetting', 'create'] as const, + /** Update databaseSetting mutation key */ update: (id: string | number) => + ['mutation', 'databasesetting', 'update', id] as const, + /** Delete databaseSetting mutation key */ delete: (id: string | number) => + ['mutation', 'databasesetting', 'delete', id] as const, +} as const; export const plansModuleMutationKeys = { /** All plansModule mutation keys */ all: ['mutation', 'plansmodule'] as const, /** Create plansModule mutation key */ create: () => @@ -1098,14 +1252,6 @@ export const plansModuleMutationKeys = { /** Delete plansModule mutation key */ delete: (id: string | number) => ['mutation', 'plansmodule', 'delete', id] as const, } as const; -export const rlsModuleMutationKeys = { - /** All rlsModule mutation keys */ all: ['mutation', 'rlsmodule'] as const, - /** Create rlsModule mutation key */ create: () => ['mutation', 'rlsmodule', 'create'] as const, - /** Update rlsModule mutation key */ update: (id: string | number) => - ['mutation', 'rlsmodule', 'update', id] as const, - /** Delete rlsModule mutation key */ delete: (id: string | number) => - ['mutation', 'rlsmodule', 'delete', id] as const, -} as const; export const sqlActionMutationKeys = { /** All sqlAction mutation keys */ all: ['mutation', 'sqlaction'] as const, /** Create sqlAction mutation key */ create: () => ['mutation', 'sqlaction', 'create'] as const, @@ -1149,6 +1295,15 @@ export const orgMembershipSettingMutationKeys = { /** Delete orgMembershipSetting mutation key */ delete: (id: string | number) => ['mutation', 'orgmembershipsetting', 'delete', id] as const, } as const; +export const webauthnSettingMutationKeys = { + /** All webauthnSetting mutation keys */ all: ['mutation', 'webauthnsetting'] as const, + /** Create webauthnSetting mutation key */ create: () => + ['mutation', 'webauthnsetting', 'create'] as const, + /** Update webauthnSetting mutation key */ update: (id: string | number) => + ['mutation', 'webauthnsetting', 'update', id] as const, + /** Delete webauthnSetting mutation key */ delete: (id: string | number) => + ['mutation', 'webauthnsetting', 'delete', id] as const, +} as const; export const appMembershipMutationKeys = { /** All appMembership mutation keys */ all: ['mutation', 'appmembership'] as const, /** Create appMembership mutation key */ create: () => @@ -1158,6 +1313,18 @@ export const appMembershipMutationKeys = { /** Delete appMembership mutation key */ delete: (id: string | number) => ['mutation', 'appmembership', 'delete', id] as const, } as const; +export const billingProviderModuleMutationKeys = { + /** All billingProviderModule mutation keys */ all: [ + 'mutation', + 'billingprovidermodule', + ] as const, + /** Create billingProviderModule mutation key */ create: () => + ['mutation', 'billingprovidermodule', 'create'] as const, + /** Update billingProviderModule mutation key */ update: (id: string | number) => + ['mutation', 'billingprovidermodule', 'update', id] as const, + /** Delete billingProviderModule mutation key */ delete: (id: string | number) => + ['mutation', 'billingprovidermodule', 'delete', id] as const, +} as const; export const hierarchyModuleMutationKeys = { /** All hierarchyModule mutation keys */ all: ['mutation', 'hierarchymodule'] as const, /** Create hierarchyModule mutation key */ create: () => @@ -1281,6 +1448,10 @@ export const customMutationKeys = { identifier ? (['mutation', 'setFieldOrder', identifier] as const) : (['mutation', 'setFieldOrder'] as const), + /** Mutation key for appendSmartTags */ appendSmartTags: (identifier?: string) => + identifier + ? (['mutation', 'appendSmartTags', identifier] as const) + : (['mutation', 'appendSmartTags'] as const), /** Mutation key for provisionUniqueConstraint */ provisionUniqueConstraint: ( identifier?: string ) => @@ -1365,10 +1536,6 @@ export const customMutationKeys = { identifier ? (['mutation', 'provisionTable', identifier] as const) : (['mutation', 'provisionTable'] as const), - /** Mutation key for requestUploadUrl */ requestUploadUrl: (identifier?: string) => - identifier - ? (['mutation', 'requestUploadUrl', identifier] as const) - : (['mutation', 'requestUploadUrl'] as const), /** Mutation key for provisionBucket */ provisionBucket: (identifier?: string) => identifier ? (['mutation', 'provisionBucket', identifier] as const) @@ -1410,6 +1577,7 @@ export const mutationKeys = { checkConstraint: checkConstraintMutationKeys, field: fieldMutationKeys, spatialRelation: spatialRelationMutationKeys, + partition: partitionMutationKeys, foreignKeyConstraint: foreignKeyConstraintMutationKeys, fullTextSearch: fullTextSearchMutationKeys, index: indexMutationKeys, @@ -1430,17 +1598,20 @@ export const mutationKeys = { schemaGrant: schemaGrantMutationKeys, defaultPrivilege: defaultPrivilegeMutationKeys, enum: enumMutationKeys, + function: functionMutationKeys, apiSchema: apiSchemaMutationKeys, apiModule: apiModuleMutationKeys, domain: domainMutationKeys, siteMetadatum: siteMetadatumMutationKeys, siteModule: siteModuleMutationKeys, siteTheme: siteThemeMutationKeys, + corsSetting: corsSettingMutationKeys, triggerFunction: triggerFunctionMutationKeys, databaseTransfer: databaseTransferMutationKeys, api: apiMutationKeys, site: siteMutationKeys, app: appMutationKeys, + apiSetting: apiSettingMutationKeys, connectedAccountsModule: connectedAccountsModuleMutationKeys, cryptoAddressesModule: cryptoAddressesModuleMutationKeys, cryptoAuthModule: cryptoAuthModuleMutationKeys, @@ -1482,7 +1653,11 @@ export const mutationKeys = { orgChartEdgeGrant: orgChartEdgeGrantMutationKeys, orgPermissionDefault: orgPermissionDefaultMutationKeys, appLimit: appLimitMutationKeys, + appLimitCredit: appLimitCreditMutationKeys, + appLimitCreditCodeItem: appLimitCreditCodeItemMutationKeys, + appLimitCreditRedemption: appLimitCreditRedemptionMutationKeys, orgLimit: orgLimitMutationKeys, + orgLimitCredit: orgLimitCreditMutationKeys, orgLimitAggregate: orgLimitAggregateMutationKeys, appStep: appStepMutationKeys, appAchievement: appAchievementMutationKeys, @@ -1504,6 +1679,11 @@ export const mutationKeys = { ref: refMutationKeys, store: storeMutationKeys, appPermissionDefault: appPermissionDefaultMutationKeys, + appLimitCreditCode: appLimitCreditCodeMutationKeys, + appLimitCapsDefault: appLimitCapsDefaultMutationKeys, + orgLimitCapsDefault: orgLimitCapsDefaultMutationKeys, + appLimitCap: appLimitCapMutationKeys, + orgLimitCap: orgLimitCapMutationKeys, membershipType: membershipTypeMutationKeys, migrateFile: migrateFileMutationKeys, devicesModule: devicesModuleMutationKeys, @@ -1512,19 +1692,24 @@ export const mutationKeys = { orgLimitDefault: orgLimitDefaultMutationKeys, userConnectedAccount: userConnectedAccountMutationKeys, commit: commitMutationKeys, + pubkeySetting: pubkeySettingMutationKeys, rateLimitsModule: rateLimitsModuleMutationKeys, appMembershipDefault: appMembershipDefaultMutationKeys, orgMembershipDefault: orgMembershipDefaultMutationKeys, + rlsSetting: rlsSettingMutationKeys, appLimitEvent: appLimitEventMutationKeys, orgLimitEvent: orgLimitEventMutationKeys, - plansModule: plansModuleMutationKeys, rlsModule: rlsModuleMutationKeys, + databaseSetting: databaseSettingMutationKeys, + plansModule: plansModuleMutationKeys, sqlAction: sqlActionMutationKeys, billingModule: billingModuleMutationKeys, astMigration: astMigrationMutationKeys, user: userMutationKeys, orgMembershipSetting: orgMembershipSettingMutationKeys, + webauthnSetting: webauthnSettingMutationKeys, appMembership: appMembershipMutationKeys, + billingProviderModule: billingProviderModuleMutationKeys, hierarchyModule: hierarchyModuleMutationKeys, custom: customMutationKeys, } as const; diff --git a/sdk/constructive-react/src/public/hooks/mutations/index.ts b/sdk/constructive-react/src/public/hooks/mutations/index.ts index 52dbd89ea..191c29fbe 100644 --- a/sdk/constructive-react/src/public/hooks/mutations/index.ts +++ b/sdk/constructive-react/src/public/hooks/mutations/index.ts @@ -36,6 +36,9 @@ export * from './useDeleteFieldMutation'; export * from './useCreateSpatialRelationMutation'; export * from './useUpdateSpatialRelationMutation'; export * from './useDeleteSpatialRelationMutation'; +export * from './useCreatePartitionMutation'; +export * from './useUpdatePartitionMutation'; +export * from './useDeletePartitionMutation'; export * from './useCreateForeignKeyConstraintMutation'; export * from './useUpdateForeignKeyConstraintMutation'; export * from './useDeleteForeignKeyConstraintMutation'; @@ -96,6 +99,9 @@ export * from './useDeleteDefaultPrivilegeMutation'; export * from './useCreateEnumMutation'; export * from './useUpdateEnumMutation'; export * from './useDeleteEnumMutation'; +export * from './useCreateFunctionMutation'; +export * from './useUpdateFunctionMutation'; +export * from './useDeleteFunctionMutation'; export * from './useCreateApiSchemaMutation'; export * from './useUpdateApiSchemaMutation'; export * from './useDeleteApiSchemaMutation'; @@ -114,6 +120,9 @@ export * from './useDeleteSiteModuleMutation'; export * from './useCreateSiteThemeMutation'; export * from './useUpdateSiteThemeMutation'; export * from './useDeleteSiteThemeMutation'; +export * from './useCreateCorsSettingMutation'; +export * from './useUpdateCorsSettingMutation'; +export * from './useDeleteCorsSettingMutation'; export * from './useCreateTriggerFunctionMutation'; export * from './useUpdateTriggerFunctionMutation'; export * from './useDeleteTriggerFunctionMutation'; @@ -129,6 +138,9 @@ export * from './useDeleteSiteMutation'; export * from './useCreateAppMutation'; export * from './useUpdateAppMutation'; export * from './useDeleteAppMutation'; +export * from './useCreateApiSettingMutation'; +export * from './useUpdateApiSettingMutation'; +export * from './useDeleteApiSettingMutation'; export * from './useCreateConnectedAccountsModuleMutation'; export * from './useUpdateConnectedAccountsModuleMutation'; export * from './useDeleteConnectedAccountsModuleMutation'; @@ -252,9 +264,21 @@ export * from './useDeleteOrgPermissionDefaultMutation'; export * from './useCreateAppLimitMutation'; export * from './useUpdateAppLimitMutation'; export * from './useDeleteAppLimitMutation'; +export * from './useCreateAppLimitCreditMutation'; +export * from './useUpdateAppLimitCreditMutation'; +export * from './useDeleteAppLimitCreditMutation'; +export * from './useCreateAppLimitCreditCodeItemMutation'; +export * from './useUpdateAppLimitCreditCodeItemMutation'; +export * from './useDeleteAppLimitCreditCodeItemMutation'; +export * from './useCreateAppLimitCreditRedemptionMutation'; +export * from './useUpdateAppLimitCreditRedemptionMutation'; +export * from './useDeleteAppLimitCreditRedemptionMutation'; export * from './useCreateOrgLimitMutation'; export * from './useUpdateOrgLimitMutation'; export * from './useDeleteOrgLimitMutation'; +export * from './useCreateOrgLimitCreditMutation'; +export * from './useUpdateOrgLimitCreditMutation'; +export * from './useDeleteOrgLimitCreditMutation'; export * from './useCreateOrgLimitAggregateMutation'; export * from './useUpdateOrgLimitAggregateMutation'; export * from './useDeleteOrgLimitAggregateMutation'; @@ -316,6 +340,21 @@ export * from './useDeleteStoreMutation'; export * from './useCreateAppPermissionDefaultMutation'; export * from './useUpdateAppPermissionDefaultMutation'; export * from './useDeleteAppPermissionDefaultMutation'; +export * from './useCreateAppLimitCreditCodeMutation'; +export * from './useUpdateAppLimitCreditCodeMutation'; +export * from './useDeleteAppLimitCreditCodeMutation'; +export * from './useCreateAppLimitCapsDefaultMutation'; +export * from './useUpdateAppLimitCapsDefaultMutation'; +export * from './useDeleteAppLimitCapsDefaultMutation'; +export * from './useCreateOrgLimitCapsDefaultMutation'; +export * from './useUpdateOrgLimitCapsDefaultMutation'; +export * from './useDeleteOrgLimitCapsDefaultMutation'; +export * from './useCreateAppLimitCapMutation'; +export * from './useUpdateAppLimitCapMutation'; +export * from './useDeleteAppLimitCapMutation'; +export * from './useCreateOrgLimitCapMutation'; +export * from './useUpdateOrgLimitCapMutation'; +export * from './useDeleteOrgLimitCapMutation'; export * from './useCreateMembershipTypeMutation'; export * from './useUpdateMembershipTypeMutation'; export * from './useDeleteMembershipTypeMutation'; @@ -336,6 +375,9 @@ export * from './useCreateUserConnectedAccountMutation'; export * from './useCreateCommitMutation'; export * from './useUpdateCommitMutation'; export * from './useDeleteCommitMutation'; +export * from './useCreatePubkeySettingMutation'; +export * from './useUpdatePubkeySettingMutation'; +export * from './useDeletePubkeySettingMutation'; export * from './useCreateRateLimitsModuleMutation'; export * from './useUpdateRateLimitsModuleMutation'; export * from './useDeleteRateLimitsModuleMutation'; @@ -345,14 +387,20 @@ export * from './useDeleteAppMembershipDefaultMutation'; export * from './useCreateOrgMembershipDefaultMutation'; export * from './useUpdateOrgMembershipDefaultMutation'; export * from './useDeleteOrgMembershipDefaultMutation'; +export * from './useCreateRlsSettingMutation'; +export * from './useUpdateRlsSettingMutation'; +export * from './useDeleteRlsSettingMutation'; export * from './useCreateAppLimitEventMutation'; export * from './useCreateOrgLimitEventMutation'; -export * from './useCreatePlansModuleMutation'; -export * from './useUpdatePlansModuleMutation'; -export * from './useDeletePlansModuleMutation'; export * from './useCreateRlsModuleMutation'; export * from './useUpdateRlsModuleMutation'; export * from './useDeleteRlsModuleMutation'; +export * from './useCreateDatabaseSettingMutation'; +export * from './useUpdateDatabaseSettingMutation'; +export * from './useDeleteDatabaseSettingMutation'; +export * from './useCreatePlansModuleMutation'; +export * from './useUpdatePlansModuleMutation'; +export * from './useDeletePlansModuleMutation'; export * from './useCreateSqlActionMutation'; export * from './useCreateBillingModuleMutation'; export * from './useUpdateBillingModuleMutation'; @@ -364,9 +412,15 @@ export * from './useDeleteUserMutation'; export * from './useCreateOrgMembershipSettingMutation'; export * from './useUpdateOrgMembershipSettingMutation'; export * from './useDeleteOrgMembershipSettingMutation'; +export * from './useCreateWebauthnSettingMutation'; +export * from './useUpdateWebauthnSettingMutation'; +export * from './useDeleteWebauthnSettingMutation'; export * from './useCreateAppMembershipMutation'; export * from './useUpdateAppMembershipMutation'; export * from './useDeleteAppMembershipMutation'; +export * from './useCreateBillingProviderModuleMutation'; +export * from './useUpdateBillingProviderModuleMutation'; +export * from './useDeleteBillingProviderModuleMutation'; export * from './useCreateHierarchyModuleMutation'; export * from './useUpdateHierarchyModuleMutation'; export * from './useDeleteHierarchyModuleMutation'; @@ -396,6 +450,7 @@ export * from './useCopyTemplateToBlueprintMutation'; export * from './useProvisionSpatialRelationMutation'; export * from './useBootstrapUserMutation'; export * from './useSetFieldOrderMutation'; +export * from './useAppendSmartTagsMutation'; export * from './useProvisionUniqueConstraintMutation'; export * from './useProvisionFullTextSearchMutation'; export * from './useProvisionIndexMutation'; @@ -417,5 +472,4 @@ export * from './useSignUpMutation'; export * from './useRequestCrossOriginTokenMutation'; export * from './useSignInMutation'; export * from './useProvisionTableMutation'; -export * from './useRequestUploadUrlMutation'; export * from './useProvisionBucketMutation'; diff --git a/sdk/constructive-react/src/admin/hooks/mutations/useRequestUploadUrlMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useAppendSmartTagsMutation.ts similarity index 50% rename from sdk/constructive-react/src/admin/hooks/mutations/useRequestUploadUrlMutation.ts rename to sdk/constructive-react/src/public/hooks/mutations/useAppendSmartTagsMutation.ts index 0c1a31765..cccb694d9 100644 --- a/sdk/constructive-react/src/admin/hooks/mutations/useRequestUploadUrlMutation.ts +++ b/sdk/constructive-react/src/public/hooks/mutations/useAppendSmartTagsMutation.ts @@ -1,5 +1,5 @@ /** - * Custom mutation hook for requestUploadUrl + * Custom mutation hook for appendSmartTags * @generated by @constructive-io/graphql-codegen * DO NOT EDIT - changes will be overwritten */ @@ -10,45 +10,45 @@ import { getClient } from '../client'; import { buildSelectionArgs } from '../selection'; import type { SelectionConfig } from '../selection'; import { customMutationKeys } from '../mutation-keys'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect, RequestUploadUrlPayload } from '../../orm/input-types'; +import type { AppendSmartTagsVariables } from '../../orm/mutation'; +import type { AppendSmartTagsPayloadSelect, AppendSmartTagsPayload } from '../../orm/input-types'; import type { InferSelectResult, HookStrictSelect, StrictSelect } from '../../orm/select-types'; -export type { RequestUploadUrlVariables } from '../../orm/mutation'; -export type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export function useRequestUploadUrlMutation( +export type { AppendSmartTagsVariables } from '../../orm/mutation'; +export type { AppendSmartTagsPayloadSelect } from '../../orm/input-types'; +export function useAppendSmartTagsMutation( params: { selection: { - fields: S & RequestUploadUrlPayloadSelect; - } & HookStrictSelect, RequestUploadUrlPayloadSelect>; + fields: S & AppendSmartTagsPayloadSelect; + } & HookStrictSelect, AppendSmartTagsPayloadSelect>; } & Omit< UseMutationOptions< { - requestUploadUrl: InferSelectResult | null; + appendSmartTags: InferSelectResult | null; }, Error, - RequestUploadUrlVariables + AppendSmartTagsVariables >, 'mutationFn' > ): UseMutationResult< { - requestUploadUrl: InferSelectResult | null; + appendSmartTags: InferSelectResult | null; }, Error, - RequestUploadUrlVariables + AppendSmartTagsVariables > { const args = buildSelectionArgs(params.selection); const { selection: _selection, ...mutationOptions } = params ?? {}; void _selection; return useMutation({ - mutationKey: customMutationKeys.requestUploadUrl(), - mutationFn: (variables: RequestUploadUrlVariables) => + mutationKey: customMutationKeys.appendSmartTags(), + mutationFn: (variables: AppendSmartTagsVariables) => getClient() - .mutation.requestUploadUrl(variables, { + .mutation.appendSmartTags(variables, { select: args.select, } as { select: S; - } & StrictSelect) + } & StrictSelect) .unwrap(), ...mutationOptions, }); diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateApiSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateApiSettingMutation.ts new file mode 100644 index 000000000..4d87de050 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateApiSettingMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { apiSettingKeys } from '../query-keys'; +import { apiSettingMutationKeys } from '../mutation-keys'; +import type { + ApiSettingSelect, + ApiSettingWithRelations, + CreateApiSettingInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + ApiSettingSelect, + ApiSettingWithRelations, + CreateApiSettingInput, +} from '../../orm/input-types'; +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateApiSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateApiSettingMutation( + params: { + selection: { + fields: S & ApiSettingSelect; + } & HookStrictSelect, ApiSettingSelect>; + } & Omit< + UseMutationOptions< + { + createApiSetting: { + apiSetting: InferSelectResult; + }; + }, + Error, + CreateApiSettingInput['apiSetting'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createApiSetting: { + apiSetting: InferSelectResult; + }; + }, + Error, + CreateApiSettingInput['apiSetting'] +>; +export function useCreateApiSettingMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: apiSettingMutationKeys.create(), + mutationFn: (data: CreateApiSettingInput['apiSetting']) => + getClient() + .apiSetting.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCapMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCapMutation.ts new file mode 100644 index 000000000..057ed1bda --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCapMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import { appLimitCapMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapSelect, + AppLimitCapWithRelations, + CreateAppLimitCapInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapSelect, + AppLimitCapWithRelations, + CreateAppLimitCapInput, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCapMutation( + params: { + selection: { + fields: S & AppLimitCapSelect; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapInput['appLimitCap'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapInput['appLimitCap'] +>; +export function useCreateAppLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapMutationKeys.create(), + mutationFn: (data: CreateAppLimitCapInput['appLimitCap']) => + getClient() + .appLimitCap.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..deb3d56ba --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCapsDefaultMutation.ts @@ -0,0 +1,91 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import { appLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + CreateAppLimitCapsDefaultInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + CreateAppLimitCapsDefaultInput, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCapsDefaultMutation( + params: { + selection: { + fields: S & AppLimitCapsDefaultSelect; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapsDefaultInput['appLimitCapsDefault'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateAppLimitCapsDefaultInput['appLimitCapsDefault'] +>; +export function useCreateAppLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapsDefaultMutationKeys.create(), + mutationFn: (data: CreateAppLimitCapsDefaultInput['appLimitCapsDefault']) => + getClient() + .appLimitCapsDefault.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditCodeItemMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditCodeItemMutation.ts new file mode 100644 index 000000000..5babc7b22 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditCodeItemMutation.ts @@ -0,0 +1,91 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import { appLimitCreditCodeItemMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + CreateAppLimitCreditCodeItemInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + CreateAppLimitCreditCodeItemInput, +} from '../../orm/input-types'; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditCodeItemMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditCodeItemMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeItemSelect; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem'] +>; +export function useCreateAppLimitCreditCodeItemMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeItemMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditCodeItemInput['appLimitCreditCodeItem']) => + getClient() + .appLimitCreditCodeItem.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditCodeMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditCodeMutation.ts new file mode 100644 index 000000000..0fd950f9a --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditCodeMutation.ts @@ -0,0 +1,91 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import { appLimitCreditCodeMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + CreateAppLimitCreditCodeInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + CreateAppLimitCreditCodeInput, +} from '../../orm/input-types'; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditCodeMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditCodeMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeSelect; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeInput['appLimitCreditCode'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditCodeInput['appLimitCreditCode'] +>; +export function useCreateAppLimitCreditCodeMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditCodeInput['appLimitCreditCode']) => + getClient() + .appLimitCreditCode.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditMutation.ts new file mode 100644 index 000000000..0b731bf13 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditMutation.ts @@ -0,0 +1,91 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import { appLimitCreditMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + CreateAppLimitCreditInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + CreateAppLimitCreditInput, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditMutation( + params: { + selection: { + fields: S & AppLimitCreditSelect; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditInput['appLimitCredit'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditInput['appLimitCredit'] +>; +export function useCreateAppLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditInput['appLimitCredit']) => + getClient() + .appLimitCredit.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditRedemptionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditRedemptionMutation.ts new file mode 100644 index 000000000..b745e34f4 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateAppLimitCreditRedemptionMutation.ts @@ -0,0 +1,91 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import { appLimitCreditRedemptionMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + CreateAppLimitCreditRedemptionInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + CreateAppLimitCreditRedemptionInput, +} from '../../orm/input-types'; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateAppLimitCreditRedemptionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateAppLimitCreditRedemptionMutation( + params: { + selection: { + fields: S & AppLimitCreditRedemptionSelect; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseMutationOptions< + { + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption'] +>; +export function useCreateAppLimitCreditRedemptionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditRedemptionMutationKeys.create(), + mutationFn: (data: CreateAppLimitCreditRedemptionInput['appLimitCreditRedemption']) => + getClient() + .appLimitCreditRedemption.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateBillingProviderModuleMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateBillingProviderModuleMutation.ts new file mode 100644 index 000000000..d90cc2464 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateBillingProviderModuleMutation.ts @@ -0,0 +1,91 @@ +/** + * Create mutation hook for BillingProviderModule + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { billingProviderModuleKeys } from '../query-keys'; +import { billingProviderModuleMutationKeys } from '../mutation-keys'; +import type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, + CreateBillingProviderModuleInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, + CreateBillingProviderModuleInput, +} from '../../orm/input-types'; +/** + * Mutation hook for creating a BillingProviderModule + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateBillingProviderModuleMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateBillingProviderModuleMutation( + params: { + selection: { + fields: S & BillingProviderModuleSelect; + } & HookStrictSelect, BillingProviderModuleSelect>; + } & Omit< + UseMutationOptions< + { + createBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }, + Error, + CreateBillingProviderModuleInput['billingProviderModule'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }, + Error, + CreateBillingProviderModuleInput['billingProviderModule'] +>; +export function useCreateBillingProviderModuleMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: billingProviderModuleMutationKeys.create(), + mutationFn: (data: CreateBillingProviderModuleInput['billingProviderModule']) => + getClient() + .billingProviderModule.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateCorsSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateCorsSettingMutation.ts new file mode 100644 index 000000000..965eee3c3 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateCorsSettingMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { corsSettingKeys } from '../query-keys'; +import { corsSettingMutationKeys } from '../mutation-keys'; +import type { + CorsSettingSelect, + CorsSettingWithRelations, + CreateCorsSettingInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + CorsSettingSelect, + CorsSettingWithRelations, + CreateCorsSettingInput, +} from '../../orm/input-types'; +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateCorsSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateCorsSettingMutation( + params: { + selection: { + fields: S & CorsSettingSelect; + } & HookStrictSelect, CorsSettingSelect>; + } & Omit< + UseMutationOptions< + { + createCorsSetting: { + corsSetting: InferSelectResult; + }; + }, + Error, + CreateCorsSettingInput['corsSetting'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createCorsSetting: { + corsSetting: InferSelectResult; + }; + }, + Error, + CreateCorsSettingInput['corsSetting'] +>; +export function useCreateCorsSettingMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: corsSettingMutationKeys.create(), + mutationFn: (data: CreateCorsSettingInput['corsSetting']) => + getClient() + .corsSetting.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateDatabaseSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateDatabaseSettingMutation.ts new file mode 100644 index 000000000..0bdff4b8f --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateDatabaseSettingMutation.ts @@ -0,0 +1,91 @@ +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { databaseSettingKeys } from '../query-keys'; +import { databaseSettingMutationKeys } from '../mutation-keys'; +import type { + DatabaseSettingSelect, + DatabaseSettingWithRelations, + CreateDatabaseSettingInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + DatabaseSettingSelect, + DatabaseSettingWithRelations, + CreateDatabaseSettingInput, +} from '../../orm/input-types'; +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateDatabaseSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateDatabaseSettingMutation( + params: { + selection: { + fields: S & DatabaseSettingSelect; + } & HookStrictSelect, DatabaseSettingSelect>; + } & Omit< + UseMutationOptions< + { + createDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }, + Error, + CreateDatabaseSettingInput['databaseSetting'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }, + Error, + CreateDatabaseSettingInput['databaseSetting'] +>; +export function useCreateDatabaseSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: databaseSettingMutationKeys.create(), + mutationFn: (data: CreateDatabaseSettingInput['databaseSetting']) => + getClient() + .databaseSetting.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: databaseSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateFunctionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateFunctionMutation.ts new file mode 100644 index 000000000..60018d9da --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateFunctionMutation.ts @@ -0,0 +1,88 @@ +/** + * Create mutation hook for Function + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { functionKeys } from '../query-keys'; +import { functionMutationKeys } from '../mutation-keys'; +import type { + FunctionSelect, + FunctionWithRelations, + CreateFunctionInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + FunctionSelect, + FunctionWithRelations, + CreateFunctionInput, +} from '../../orm/input-types'; +/** + * Mutation hook for creating a Function + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateFunctionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateFunctionMutation( + params: { + selection: { + fields: S & FunctionSelect; + } & HookStrictSelect, FunctionSelect>; + } & Omit< + UseMutationOptions< + { + createFunction: { + function: InferSelectResult; + }; + }, + Error, + CreateFunctionInput['function'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createFunction: { + function: InferSelectResult; + }; + }, + Error, + CreateFunctionInput['function'] +>; +export function useCreateFunctionMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: functionMutationKeys.create(), + mutationFn: (data: CreateFunctionInput['function']) => + getClient() + .function.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: functionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCapMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCapMutation.ts new file mode 100644 index 000000000..b9379cd91 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCapMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import { orgLimitCapMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + CreateOrgLimitCapInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + CreateOrgLimitCapInput, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateOrgLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateOrgLimitCapMutation( + params: { + selection: { + fields: S & OrgLimitCapSelect; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapInput['orgLimitCap'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapInput['orgLimitCap'] +>; +export function useCreateOrgLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapMutationKeys.create(), + mutationFn: (data: CreateOrgLimitCapInput['orgLimitCap']) => + getClient() + .orgLimitCap.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..02eadbe20 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCapsDefaultMutation.ts @@ -0,0 +1,91 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import { orgLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + CreateOrgLimitCapsDefaultInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + CreateOrgLimitCapsDefaultInput, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateOrgLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateOrgLimitCapsDefaultMutation( + params: { + selection: { + fields: S & OrgLimitCapsDefaultSelect; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault'] +>; +export function useCreateOrgLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapsDefaultMutationKeys.create(), + mutationFn: (data: CreateOrgLimitCapsDefaultInput['orgLimitCapsDefault']) => + getClient() + .orgLimitCapsDefault.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCreditMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCreditMutation.ts new file mode 100644 index 000000000..fc986c124 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateOrgLimitCreditMutation.ts @@ -0,0 +1,91 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import { orgLimitCreditMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + CreateOrgLimitCreditInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + CreateOrgLimitCreditInput, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateOrgLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateOrgLimitCreditMutation( + params: { + selection: { + fields: S & OrgLimitCreditSelect; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCreditInput['orgLimitCredit'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + CreateOrgLimitCreditInput['orgLimitCredit'] +>; +export function useCreateOrgLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCreditMutationKeys.create(), + mutationFn: (data: CreateOrgLimitCreditInput['orgLimitCredit']) => + getClient() + .orgLimitCredit.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreatePartitionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreatePartitionMutation.ts new file mode 100644 index 000000000..bc22bc90b --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreatePartitionMutation.ts @@ -0,0 +1,88 @@ +/** + * Create mutation hook for Partition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { partitionKeys } from '../query-keys'; +import { partitionMutationKeys } from '../mutation-keys'; +import type { + PartitionSelect, + PartitionWithRelations, + CreatePartitionInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + PartitionSelect, + PartitionWithRelations, + CreatePartitionInput, +} from '../../orm/input-types'; +/** + * Mutation hook for creating a Partition + * + * @example + * ```tsx + * const { mutate, isPending } = useCreatePartitionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreatePartitionMutation( + params: { + selection: { + fields: S & PartitionSelect; + } & HookStrictSelect, PartitionSelect>; + } & Omit< + UseMutationOptions< + { + createPartition: { + partition: InferSelectResult; + }; + }, + Error, + CreatePartitionInput['partition'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createPartition: { + partition: InferSelectResult; + }; + }, + Error, + CreatePartitionInput['partition'] +>; +export function useCreatePartitionMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: partitionMutationKeys.create(), + mutationFn: (data: CreatePartitionInput['partition']) => + getClient() + .partition.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: partitionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreatePubkeySettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreatePubkeySettingMutation.ts new file mode 100644 index 000000000..9b6dd9dda --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreatePubkeySettingMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { pubkeySettingKeys } from '../query-keys'; +import { pubkeySettingMutationKeys } from '../mutation-keys'; +import type { + PubkeySettingSelect, + PubkeySettingWithRelations, + CreatePubkeySettingInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + PubkeySettingSelect, + PubkeySettingWithRelations, + CreatePubkeySettingInput, +} from '../../orm/input-types'; +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useCreatePubkeySettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreatePubkeySettingMutation( + params: { + selection: { + fields: S & PubkeySettingSelect; + } & HookStrictSelect, PubkeySettingSelect>; + } & Omit< + UseMutationOptions< + { + createPubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }, + Error, + CreatePubkeySettingInput['pubkeySetting'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createPubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }, + Error, + CreatePubkeySettingInput['pubkeySetting'] +>; +export function useCreatePubkeySettingMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: pubkeySettingMutationKeys.create(), + mutationFn: (data: CreatePubkeySettingInput['pubkeySetting']) => + getClient() + .pubkeySetting.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateRlsSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateRlsSettingMutation.ts new file mode 100644 index 000000000..68a8bcc55 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateRlsSettingMutation.ts @@ -0,0 +1,88 @@ +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { rlsSettingKeys } from '../query-keys'; +import { rlsSettingMutationKeys } from '../mutation-keys'; +import type { + RlsSettingSelect, + RlsSettingWithRelations, + CreateRlsSettingInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + RlsSettingSelect, + RlsSettingWithRelations, + CreateRlsSettingInput, +} from '../../orm/input-types'; +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateRlsSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateRlsSettingMutation( + params: { + selection: { + fields: S & RlsSettingSelect; + } & HookStrictSelect, RlsSettingSelect>; + } & Omit< + UseMutationOptions< + { + createRlsSetting: { + rlsSetting: InferSelectResult; + }; + }, + Error, + CreateRlsSettingInput['rlsSetting'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createRlsSetting: { + rlsSetting: InferSelectResult; + }; + }, + Error, + CreateRlsSettingInput['rlsSetting'] +>; +export function useCreateRlsSettingMutation( + params: { + selection: SelectionConfig; + } & Omit, 'mutationFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: rlsSettingMutationKeys.create(), + mutationFn: (data: CreateRlsSettingInput['rlsSetting']) => + getClient() + .rlsSetting.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useCreateWebauthnSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useCreateWebauthnSettingMutation.ts new file mode 100644 index 000000000..2f89e81b4 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useCreateWebauthnSettingMutation.ts @@ -0,0 +1,91 @@ +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { webauthnSettingKeys } from '../query-keys'; +import { webauthnSettingMutationKeys } from '../mutation-keys'; +import type { + WebauthnSettingSelect, + WebauthnSettingWithRelations, + CreateWebauthnSettingInput, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + WebauthnSettingSelect, + WebauthnSettingWithRelations, + CreateWebauthnSettingInput, +} from '../../orm/input-types'; +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useCreateWebauthnSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ name: 'New item' }); + * ``` + */ +export function useCreateWebauthnSettingMutation( + params: { + selection: { + fields: S & WebauthnSettingSelect; + } & HookStrictSelect, WebauthnSettingSelect>; + } & Omit< + UseMutationOptions< + { + createWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }, + Error, + CreateWebauthnSettingInput['webauthnSetting'] + >, + 'mutationFn' + > +): UseMutationResult< + { + createWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }, + Error, + CreateWebauthnSettingInput['webauthnSetting'] +>; +export function useCreateWebauthnSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: webauthnSettingMutationKeys.create(), + mutationFn: (data: CreateWebauthnSettingInput['webauthnSetting']) => + getClient() + .webauthnSetting.create({ + data, + select: args.select, + }) + .unwrap(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteApiSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteApiSettingMutation.ts new file mode 100644 index 000000000..2f3e5dd4e --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteApiSettingMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { apiSettingKeys } from '../query-keys'; +import { apiSettingMutationKeys } from '../mutation-keys'; +import type { ApiSettingSelect, ApiSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { ApiSettingSelect, ApiSettingWithRelations } from '../../orm/input-types'; +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteApiSettingMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteApiSettingMutation( + params: { + selection: { + fields: S & ApiSettingSelect; + } & HookStrictSelect, ApiSettingSelect>; + } & Omit< + UseMutationOptions< + { + deleteApiSetting: { + apiSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteApiSetting: { + apiSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteApiSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: apiSettingMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .apiSetting.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: apiSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCapMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCapMutation.ts new file mode 100644 index 000000000..0e569e8ea --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCapMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import { appLimitCapMutationKeys } from '../mutation-keys'; +import type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCapMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCapMutation( + params: { + selection: { + fields: S & AppLimitCapSelect; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCap.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..ce11fa078 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCapsDefaultMutation.ts @@ -0,0 +1,104 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import { appLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCapsDefaultMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCapsDefaultMutation( + params: { + selection: { + fields: S & AppLimitCapsDefaultSelect; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapsDefaultMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCapsDefault.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditCodeItemMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditCodeItemMutation.ts new file mode 100644 index 000000000..22f5ce1ad --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditCodeItemMutation.ts @@ -0,0 +1,104 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import { appLimitCreditCodeItemMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditCodeItemMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditCodeItemMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeItemSelect; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditCodeItemMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeItemMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCreditCodeItem.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditCodeMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditCodeMutation.ts new file mode 100644 index 000000000..0d9e7d835 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditCodeMutation.ts @@ -0,0 +1,104 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import { appLimitCreditCodeMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditCodeMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditCodeMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeSelect; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditCodeMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCreditCode.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditCodeKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditMutation.ts new file mode 100644 index 000000000..49998d5fc --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditMutation.ts @@ -0,0 +1,98 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import { appLimitCreditMutationKeys } from '../mutation-keys'; +import type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditMutation( + params: { + selection: { + fields: S & AppLimitCreditSelect; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCredit.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditRedemptionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditRedemptionMutation.ts new file mode 100644 index 000000000..98cb4c2e0 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteAppLimitCreditRedemptionMutation.ts @@ -0,0 +1,104 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import { appLimitCreditRedemptionMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteAppLimitCreditRedemptionMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteAppLimitCreditRedemptionMutation( + params: { + selection: { + fields: S & AppLimitCreditRedemptionSelect; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseMutationOptions< + { + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteAppLimitCreditRedemptionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditRedemptionMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .appLimitCreditRedemption.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteBillingProviderModuleMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteBillingProviderModuleMutation.ts new file mode 100644 index 000000000..cea2b526b --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteBillingProviderModuleMutation.ts @@ -0,0 +1,104 @@ +/** + * Delete mutation hook for BillingProviderModule + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { billingProviderModuleKeys } from '../query-keys'; +import { billingProviderModuleMutationKeys } from '../mutation-keys'; +import type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, +} from '../../orm/input-types'; +/** + * Mutation hook for deleting a BillingProviderModule with typed selection + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteBillingProviderModuleMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteBillingProviderModuleMutation( + params: { + selection: { + fields: S & BillingProviderModuleSelect; + } & HookStrictSelect, BillingProviderModuleSelect>; + } & Omit< + UseMutationOptions< + { + deleteBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteBillingProviderModuleMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: billingProviderModuleMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .billingProviderModule.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: billingProviderModuleKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteCorsSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteCorsSettingMutation.ts new file mode 100644 index 000000000..9dc2c7b71 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteCorsSettingMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { corsSettingKeys } from '../query-keys'; +import { corsSettingMutationKeys } from '../mutation-keys'; +import type { CorsSettingSelect, CorsSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { CorsSettingSelect, CorsSettingWithRelations } from '../../orm/input-types'; +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteCorsSettingMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteCorsSettingMutation( + params: { + selection: { + fields: S & CorsSettingSelect; + } & HookStrictSelect, CorsSettingSelect>; + } & Omit< + UseMutationOptions< + { + deleteCorsSetting: { + corsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteCorsSetting: { + corsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteCorsSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: corsSettingMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .corsSetting.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: corsSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteDatabaseSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteDatabaseSettingMutation.ts new file mode 100644 index 000000000..06d676a38 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteDatabaseSettingMutation.ts @@ -0,0 +1,98 @@ +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { databaseSettingKeys } from '../query-keys'; +import { databaseSettingMutationKeys } from '../mutation-keys'; +import type { DatabaseSettingSelect, DatabaseSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { DatabaseSettingSelect, DatabaseSettingWithRelations } from '../../orm/input-types'; +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteDatabaseSettingMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteDatabaseSettingMutation( + params: { + selection: { + fields: S & DatabaseSettingSelect; + } & HookStrictSelect, DatabaseSettingSelect>; + } & Omit< + UseMutationOptions< + { + deleteDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteDatabaseSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: databaseSettingMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .databaseSetting.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: databaseSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: databaseSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteFunctionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteFunctionMutation.ts new file mode 100644 index 000000000..c73fbc7fb --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteFunctionMutation.ts @@ -0,0 +1,98 @@ +/** + * Delete mutation hook for Function + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { functionKeys } from '../query-keys'; +import { functionMutationKeys } from '../mutation-keys'; +import type { FunctionSelect, FunctionWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { FunctionSelect, FunctionWithRelations } from '../../orm/input-types'; +/** + * Mutation hook for deleting a Function with typed selection + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteFunctionMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteFunctionMutation( + params: { + selection: { + fields: S & FunctionSelect; + } & HookStrictSelect, FunctionSelect>; + } & Omit< + UseMutationOptions< + { + deleteFunction: { + function: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteFunction: { + function: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteFunctionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: functionMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .function.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: functionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: functionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCapMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCapMutation.ts new file mode 100644 index 000000000..83d7ac598 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCapMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import { orgLimitCapMutationKeys } from '../mutation-keys'; +import type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteOrgLimitCapMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteOrgLimitCapMutation( + params: { + selection: { + fields: S & OrgLimitCapSelect; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteOrgLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .orgLimitCap.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: orgLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..f1d705fc2 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCapsDefaultMutation.ts @@ -0,0 +1,104 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import { orgLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteOrgLimitCapsDefaultMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteOrgLimitCapsDefaultMutation( + params: { + selection: { + fields: S & OrgLimitCapsDefaultSelect; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteOrgLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapsDefaultMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .orgLimitCapsDefault.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCreditMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCreditMutation.ts new file mode 100644 index 000000000..339bba9bd --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteOrgLimitCreditMutation.ts @@ -0,0 +1,98 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import { orgLimitCreditMutationKeys } from '../mutation-keys'; +import type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteOrgLimitCreditMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteOrgLimitCreditMutation( + params: { + selection: { + fields: S & OrgLimitCreditSelect; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteOrgLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCreditMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .orgLimitCredit.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: orgLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeletePartitionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeletePartitionMutation.ts new file mode 100644 index 000000000..987ddd72e --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeletePartitionMutation.ts @@ -0,0 +1,98 @@ +/** + * Delete mutation hook for Partition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { partitionKeys } from '../query-keys'; +import { partitionMutationKeys } from '../mutation-keys'; +import type { PartitionSelect, PartitionWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { PartitionSelect, PartitionWithRelations } from '../../orm/input-types'; +/** + * Mutation hook for deleting a Partition with typed selection + * + * @example + * ```tsx + * const { mutate, isPending } = useDeletePartitionMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeletePartitionMutation( + params: { + selection: { + fields: S & PartitionSelect; + } & HookStrictSelect, PartitionSelect>; + } & Omit< + UseMutationOptions< + { + deletePartition: { + partition: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deletePartition: { + partition: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeletePartitionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: partitionMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .partition.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: partitionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: partitionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeletePubkeySettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeletePubkeySettingMutation.ts new file mode 100644 index 000000000..77809a4d8 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeletePubkeySettingMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { pubkeySettingKeys } from '../query-keys'; +import { pubkeySettingMutationKeys } from '../mutation-keys'; +import type { PubkeySettingSelect, PubkeySettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { PubkeySettingSelect, PubkeySettingWithRelations } from '../../orm/input-types'; +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useDeletePubkeySettingMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeletePubkeySettingMutation( + params: { + selection: { + fields: S & PubkeySettingSelect; + } & HookStrictSelect, PubkeySettingSelect>; + } & Omit< + UseMutationOptions< + { + deletePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deletePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeletePubkeySettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: pubkeySettingMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .pubkeySetting.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: pubkeySettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteRlsSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteRlsSettingMutation.ts new file mode 100644 index 000000000..6e9601517 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteRlsSettingMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { rlsSettingKeys } from '../query-keys'; +import { rlsSettingMutationKeys } from '../mutation-keys'; +import type { RlsSettingSelect, RlsSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { RlsSettingSelect, RlsSettingWithRelations } from '../../orm/input-types'; +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteRlsSettingMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteRlsSettingMutation( + params: { + selection: { + fields: S & RlsSettingSelect; + } & HookStrictSelect, RlsSettingSelect>; + } & Omit< + UseMutationOptions< + { + deleteRlsSetting: { + rlsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteRlsSetting: { + rlsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteRlsSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: rlsSettingMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .rlsSetting.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: rlsSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useDeleteWebauthnSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useDeleteWebauthnSettingMutation.ts new file mode 100644 index 000000000..ced7179d0 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useDeleteWebauthnSettingMutation.ts @@ -0,0 +1,98 @@ +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { webauthnSettingKeys } from '../query-keys'; +import { webauthnSettingMutationKeys } from '../mutation-keys'; +import type { WebauthnSettingSelect, WebauthnSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { WebauthnSettingSelect, WebauthnSettingWithRelations } from '../../orm/input-types'; +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useDeleteWebauthnSettingMutation({ + * selection: { fields: { id: true } }, + * }); + * + * mutate({ id: 'value-to-delete' }); + * ``` + */ +export function useDeleteWebauthnSettingMutation( + params: { + selection: { + fields: S & WebauthnSettingSelect; + } & HookStrictSelect, WebauthnSettingSelect>; + } & Omit< + UseMutationOptions< + { + deleteWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + deleteWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + } +>; +export function useDeleteWebauthnSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: webauthnSettingMutationKeys.all, + mutationFn: ({ id }: { id: string }) => + getClient() + .webauthnSetting.delete({ + where: { + id, + }, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.removeQueries({ + queryKey: webauthnSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useRequestUploadUrlMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useRequestUploadUrlMutation.ts deleted file mode 100644 index 0c1a31765..000000000 --- a/sdk/constructive-react/src/public/hooks/mutations/useRequestUploadUrlMutation.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Custom mutation hook for requestUploadUrl - * @generated by @constructive-io/graphql-codegen - * DO NOT EDIT - changes will be overwritten - */ - -import { useMutation } from '@tanstack/react-query'; -import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; -import { getClient } from '../client'; -import { buildSelectionArgs } from '../selection'; -import type { SelectionConfig } from '../selection'; -import { customMutationKeys } from '../mutation-keys'; -import type { RequestUploadUrlVariables } from '../../orm/mutation'; -import type { RequestUploadUrlPayloadSelect, RequestUploadUrlPayload } from '../../orm/input-types'; -import type { InferSelectResult, HookStrictSelect, StrictSelect } from '../../orm/select-types'; -export type { RequestUploadUrlVariables } from '../../orm/mutation'; -export type { RequestUploadUrlPayloadSelect } from '../../orm/input-types'; -export function useRequestUploadUrlMutation( - params: { - selection: { - fields: S & RequestUploadUrlPayloadSelect; - } & HookStrictSelect, RequestUploadUrlPayloadSelect>; - } & Omit< - UseMutationOptions< - { - requestUploadUrl: InferSelectResult | null; - }, - Error, - RequestUploadUrlVariables - >, - 'mutationFn' - > -): UseMutationResult< - { - requestUploadUrl: InferSelectResult | null; - }, - Error, - RequestUploadUrlVariables -> { - const args = buildSelectionArgs(params.selection); - const { selection: _selection, ...mutationOptions } = params ?? {}; - void _selection; - return useMutation({ - mutationKey: customMutationKeys.requestUploadUrl(), - mutationFn: (variables: RequestUploadUrlVariables) => - getClient() - .mutation.requestUploadUrl(variables, { - select: args.select, - } as { - select: S; - } & StrictSelect) - .unwrap(), - ...mutationOptions, - }); -} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateApiSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateApiSettingMutation.ts new file mode 100644 index 000000000..113a21810 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateApiSettingMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { apiSettingKeys } from '../query-keys'; +import { apiSettingMutationKeys } from '../mutation-keys'; +import type { + ApiSettingSelect, + ApiSettingWithRelations, + ApiSettingPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + ApiSettingSelect, + ApiSettingWithRelations, + ApiSettingPatch, +} from '../../orm/input-types'; +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateApiSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', apiSettingPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateApiSettingMutation( + params: { + selection: { + fields: S & ApiSettingSelect; + } & HookStrictSelect, ApiSettingSelect>; + } & Omit< + UseMutationOptions< + { + updateApiSetting: { + apiSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + apiSettingPatch: ApiSettingPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateApiSetting: { + apiSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + apiSettingPatch: ApiSettingPatch; + } +>; +export function useUpdateApiSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + apiSettingPatch: ApiSettingPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: apiSettingMutationKeys.all, + mutationFn: ({ id, apiSettingPatch }: { id: string; apiSettingPatch: ApiSettingPatch }) => + getClient() + .apiSetting.update({ + where: { + id, + }, + data: apiSettingPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: apiSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCapMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCapMutation.ts new file mode 100644 index 000000000..965a60280 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCapMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import { appLimitCapMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapPatch, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCapPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCapMutation( + params: { + selection: { + fields: S & AppLimitCapSelect; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapPatch: AppLimitCapPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapPatch: AppLimitCapPatch; + } +>; +export function useUpdateAppLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCapPatch: AppLimitCapPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapMutationKeys.all, + mutationFn: ({ id, appLimitCapPatch }: { id: string; appLimitCapPatch: AppLimitCapPatch }) => + getClient() + .appLimitCap.update({ + where: { + id, + }, + data: appLimitCapPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..f881cbfa9 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCapsDefaultMutation.ts @@ -0,0 +1,116 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import { appLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultPatch, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCapsDefaultPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCapsDefaultMutation( + params: { + selection: { + fields: S & AppLimitCapsDefaultSelect; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + } +>; +export function useUpdateAppLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCapsDefaultMutationKeys.all, + mutationFn: ({ + id, + appLimitCapsDefaultPatch, + }: { + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; + }) => + getClient() + .appLimitCapsDefault.update({ + where: { + id, + }, + data: appLimitCapsDefaultPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditCodeItemMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditCodeItemMutation.ts new file mode 100644 index 000000000..fc06f9059 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditCodeItemMutation.ts @@ -0,0 +1,116 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import { appLimitCreditCodeItemMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemPatch, +} from '../../orm/input-types'; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditCodeItemMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditCodeItemPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditCodeItemMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeItemSelect; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + } +>; +export function useUpdateAppLimitCreditCodeItemMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeItemMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditCodeItemPatch, + }: { + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; + }) => + getClient() + .appLimitCreditCodeItem.update({ + where: { + id, + }, + data: appLimitCreditCodeItemPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeItemKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditCodeMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditCodeMutation.ts new file mode 100644 index 000000000..2fcf15adf --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditCodeMutation.ts @@ -0,0 +1,116 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import { appLimitCreditCodeMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodePatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodePatch, +} from '../../orm/input-types'; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditCodeMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditCodePatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditCodeMutation( + params: { + selection: { + fields: S & AppLimitCreditCodeSelect; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + } +>; +export function useUpdateAppLimitCreditCodeMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditCodeMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditCodePatch, + }: { + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; + }) => + getClient() + .appLimitCreditCode.update({ + where: { + id, + }, + data: appLimitCreditCodePatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditCodeKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditMutation.ts new file mode 100644 index 000000000..4283aef63 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditMutation.ts @@ -0,0 +1,116 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import { appLimitCreditMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditPatch, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditMutation( + params: { + selection: { + fields: S & AppLimitCreditSelect; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + } +>; +export function useUpdateAppLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditPatch, + }: { + id: string; + appLimitCreditPatch: AppLimitCreditPatch; + }) => + getClient() + .appLimitCredit.update({ + where: { + id, + }, + data: appLimitCreditPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditRedemptionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditRedemptionMutation.ts new file mode 100644 index 000000000..d1181e58a --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateAppLimitCreditRedemptionMutation.ts @@ -0,0 +1,116 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import { appLimitCreditRedemptionMutationKeys } from '../mutation-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionPatch, +} from '../../orm/input-types'; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateAppLimitCreditRedemptionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', appLimitCreditRedemptionPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateAppLimitCreditRedemptionMutation( + params: { + selection: { + fields: S & AppLimitCreditRedemptionSelect; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseMutationOptions< + { + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }, + Error, + { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + } +>; +export function useUpdateAppLimitCreditRedemptionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: appLimitCreditRedemptionMutationKeys.all, + mutationFn: ({ + id, + appLimitCreditRedemptionPatch, + }: { + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; + }) => + getClient() + .appLimitCreditRedemption.update({ + where: { + id, + }, + data: appLimitCreditRedemptionPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: appLimitCreditRedemptionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateBillingProviderModuleMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateBillingProviderModuleMutation.ts new file mode 100644 index 000000000..bd0a18815 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateBillingProviderModuleMutation.ts @@ -0,0 +1,116 @@ +/** + * Update mutation hook for BillingProviderModule + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { billingProviderModuleKeys } from '../query-keys'; +import { billingProviderModuleMutationKeys } from '../mutation-keys'; +import type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, + BillingProviderModulePatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, + BillingProviderModulePatch, +} from '../../orm/input-types'; +/** + * Mutation hook for updating a BillingProviderModule + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateBillingProviderModuleMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', billingProviderModulePatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateBillingProviderModuleMutation( + params: { + selection: { + fields: S & BillingProviderModuleSelect; + } & HookStrictSelect, BillingProviderModuleSelect>; + } & Omit< + UseMutationOptions< + { + updateBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }, + Error, + { + id: string; + billingProviderModulePatch: BillingProviderModulePatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }, + Error, + { + id: string; + billingProviderModulePatch: BillingProviderModulePatch; + } +>; +export function useUpdateBillingProviderModuleMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + billingProviderModulePatch: BillingProviderModulePatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: billingProviderModuleMutationKeys.all, + mutationFn: ({ + id, + billingProviderModulePatch, + }: { + id: string; + billingProviderModulePatch: BillingProviderModulePatch; + }) => + getClient() + .billingProviderModule.update({ + where: { + id, + }, + data: billingProviderModulePatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: billingProviderModuleKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateCorsSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateCorsSettingMutation.ts new file mode 100644 index 000000000..68c01b177 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateCorsSettingMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { corsSettingKeys } from '../query-keys'; +import { corsSettingMutationKeys } from '../mutation-keys'; +import type { + CorsSettingSelect, + CorsSettingWithRelations, + CorsSettingPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + CorsSettingSelect, + CorsSettingWithRelations, + CorsSettingPatch, +} from '../../orm/input-types'; +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateCorsSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', corsSettingPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateCorsSettingMutation( + params: { + selection: { + fields: S & CorsSettingSelect; + } & HookStrictSelect, CorsSettingSelect>; + } & Omit< + UseMutationOptions< + { + updateCorsSetting: { + corsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + corsSettingPatch: CorsSettingPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateCorsSetting: { + corsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + corsSettingPatch: CorsSettingPatch; + } +>; +export function useUpdateCorsSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + corsSettingPatch: CorsSettingPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: corsSettingMutationKeys.all, + mutationFn: ({ id, corsSettingPatch }: { id: string; corsSettingPatch: CorsSettingPatch }) => + getClient() + .corsSetting.update({ + where: { + id, + }, + data: corsSettingPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: corsSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateDatabaseSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateDatabaseSettingMutation.ts new file mode 100644 index 000000000..6fa57d944 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateDatabaseSettingMutation.ts @@ -0,0 +1,116 @@ +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { databaseSettingKeys } from '../query-keys'; +import { databaseSettingMutationKeys } from '../mutation-keys'; +import type { + DatabaseSettingSelect, + DatabaseSettingWithRelations, + DatabaseSettingPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + DatabaseSettingSelect, + DatabaseSettingWithRelations, + DatabaseSettingPatch, +} from '../../orm/input-types'; +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateDatabaseSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', databaseSettingPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateDatabaseSettingMutation( + params: { + selection: { + fields: S & DatabaseSettingSelect; + } & HookStrictSelect, DatabaseSettingSelect>; + } & Omit< + UseMutationOptions< + { + updateDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + databaseSettingPatch: DatabaseSettingPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + databaseSettingPatch: DatabaseSettingPatch; + } +>; +export function useUpdateDatabaseSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + databaseSettingPatch: DatabaseSettingPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: databaseSettingMutationKeys.all, + mutationFn: ({ + id, + databaseSettingPatch, + }: { + id: string; + databaseSettingPatch: DatabaseSettingPatch; + }) => + getClient() + .databaseSetting.update({ + where: { + id, + }, + data: databaseSettingPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: databaseSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: databaseSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateFunctionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateFunctionMutation.ts new file mode 100644 index 000000000..3abe2748d --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateFunctionMutation.ts @@ -0,0 +1,102 @@ +/** + * Update mutation hook for Function + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { functionKeys } from '../query-keys'; +import { functionMutationKeys } from '../mutation-keys'; +import type { FunctionSelect, FunctionWithRelations, FunctionPatch } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { FunctionSelect, FunctionWithRelations, FunctionPatch } from '../../orm/input-types'; +/** + * Mutation hook for updating a Function + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateFunctionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', functionPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateFunctionMutation( + params: { + selection: { + fields: S & FunctionSelect; + } & HookStrictSelect, FunctionSelect>; + } & Omit< + UseMutationOptions< + { + updateFunction: { + function: InferSelectResult; + }; + }, + Error, + { + id: string; + functionPatch: FunctionPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateFunction: { + function: InferSelectResult; + }; + }, + Error, + { + id: string; + functionPatch: FunctionPatch; + } +>; +export function useUpdateFunctionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + functionPatch: FunctionPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: functionMutationKeys.all, + mutationFn: ({ id, functionPatch }: { id: string; functionPatch: FunctionPatch }) => + getClient() + .function.update({ + where: { + id, + }, + data: functionPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: functionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: functionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCapMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCapMutation.ts new file mode 100644 index 000000000..042098c77 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCapMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import { orgLimitCapMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapPatch, +} from '../../orm/input-types'; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateOrgLimitCapMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', orgLimitCapPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateOrgLimitCapMutation( + params: { + selection: { + fields: S & OrgLimitCapSelect; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseMutationOptions< + { + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapPatch: OrgLimitCapPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapPatch: OrgLimitCapPatch; + } +>; +export function useUpdateOrgLimitCapMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + orgLimitCapPatch: OrgLimitCapPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapMutationKeys.all, + mutationFn: ({ id, orgLimitCapPatch }: { id: string; orgLimitCapPatch: OrgLimitCapPatch }) => + getClient() + .orgLimitCap.update({ + where: { + id, + }, + data: orgLimitCapPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCapsDefaultMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCapsDefaultMutation.ts new file mode 100644 index 000000000..9d7b74e93 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCapsDefaultMutation.ts @@ -0,0 +1,116 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import { orgLimitCapsDefaultMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultPatch, +} from '../../orm/input-types'; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateOrgLimitCapsDefaultMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', orgLimitCapsDefaultPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateOrgLimitCapsDefaultMutation( + params: { + selection: { + fields: S & OrgLimitCapsDefaultSelect; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseMutationOptions< + { + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + } +>; +export function useUpdateOrgLimitCapsDefaultMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCapsDefaultMutationKeys.all, + mutationFn: ({ + id, + orgLimitCapsDefaultPatch, + }: { + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; + }) => + getClient() + .orgLimitCapsDefault.update({ + where: { + id, + }, + data: orgLimitCapsDefaultPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCapsDefaultKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCreditMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCreditMutation.ts new file mode 100644 index 000000000..deb27f48d --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateOrgLimitCreditMutation.ts @@ -0,0 +1,116 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import { orgLimitCreditMutationKeys } from '../mutation-keys'; +import type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditPatch, +} from '../../orm/input-types'; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateOrgLimitCreditMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', orgLimitCreditPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateOrgLimitCreditMutation( + params: { + selection: { + fields: S & OrgLimitCreditSelect; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseMutationOptions< + { + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }, + Error, + { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + } +>; +export function useUpdateOrgLimitCreditMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: orgLimitCreditMutationKeys.all, + mutationFn: ({ + id, + orgLimitCreditPatch, + }: { + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; + }) => + getClient() + .orgLimitCredit.update({ + where: { + id, + }, + data: orgLimitCreditPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: orgLimitCreditKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdatePartitionMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdatePartitionMutation.ts new file mode 100644 index 000000000..ca02056eb --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdatePartitionMutation.ts @@ -0,0 +1,110 @@ +/** + * Update mutation hook for Partition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { partitionKeys } from '../query-keys'; +import { partitionMutationKeys } from '../mutation-keys'; +import type { + PartitionSelect, + PartitionWithRelations, + PartitionPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + PartitionSelect, + PartitionWithRelations, + PartitionPatch, +} from '../../orm/input-types'; +/** + * Mutation hook for updating a Partition + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdatePartitionMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', partitionPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdatePartitionMutation( + params: { + selection: { + fields: S & PartitionSelect; + } & HookStrictSelect, PartitionSelect>; + } & Omit< + UseMutationOptions< + { + updatePartition: { + partition: InferSelectResult; + }; + }, + Error, + { + id: string; + partitionPatch: PartitionPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updatePartition: { + partition: InferSelectResult; + }; + }, + Error, + { + id: string; + partitionPatch: PartitionPatch; + } +>; +export function useUpdatePartitionMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + partitionPatch: PartitionPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: partitionMutationKeys.all, + mutationFn: ({ id, partitionPatch }: { id: string; partitionPatch: PartitionPatch }) => + getClient() + .partition.update({ + where: { + id, + }, + data: partitionPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: partitionKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: partitionKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdatePubkeySettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdatePubkeySettingMutation.ts new file mode 100644 index 000000000..6c63a3867 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdatePubkeySettingMutation.ts @@ -0,0 +1,116 @@ +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { pubkeySettingKeys } from '../query-keys'; +import { pubkeySettingMutationKeys } from '../mutation-keys'; +import type { + PubkeySettingSelect, + PubkeySettingWithRelations, + PubkeySettingPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + PubkeySettingSelect, + PubkeySettingWithRelations, + PubkeySettingPatch, +} from '../../orm/input-types'; +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdatePubkeySettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', pubkeySettingPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdatePubkeySettingMutation( + params: { + selection: { + fields: S & PubkeySettingSelect; + } & HookStrictSelect, PubkeySettingSelect>; + } & Omit< + UseMutationOptions< + { + updatePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }, + Error, + { + id: string; + pubkeySettingPatch: PubkeySettingPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updatePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }, + Error, + { + id: string; + pubkeySettingPatch: PubkeySettingPatch; + } +>; +export function useUpdatePubkeySettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + pubkeySettingPatch: PubkeySettingPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: pubkeySettingMutationKeys.all, + mutationFn: ({ + id, + pubkeySettingPatch, + }: { + id: string; + pubkeySettingPatch: PubkeySettingPatch; + }) => + getClient() + .pubkeySetting.update({ + where: { + id, + }, + data: pubkeySettingPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: pubkeySettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateRlsSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateRlsSettingMutation.ts new file mode 100644 index 000000000..0f793941a --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateRlsSettingMutation.ts @@ -0,0 +1,110 @@ +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { rlsSettingKeys } from '../query-keys'; +import { rlsSettingMutationKeys } from '../mutation-keys'; +import type { + RlsSettingSelect, + RlsSettingWithRelations, + RlsSettingPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + RlsSettingSelect, + RlsSettingWithRelations, + RlsSettingPatch, +} from '../../orm/input-types'; +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateRlsSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', rlsSettingPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateRlsSettingMutation( + params: { + selection: { + fields: S & RlsSettingSelect; + } & HookStrictSelect, RlsSettingSelect>; + } & Omit< + UseMutationOptions< + { + updateRlsSetting: { + rlsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + rlsSettingPatch: RlsSettingPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateRlsSetting: { + rlsSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + rlsSettingPatch: RlsSettingPatch; + } +>; +export function useUpdateRlsSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + rlsSettingPatch: RlsSettingPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: rlsSettingMutationKeys.all, + mutationFn: ({ id, rlsSettingPatch }: { id: string; rlsSettingPatch: RlsSettingPatch }) => + getClient() + .rlsSetting.update({ + where: { + id, + }, + data: rlsSettingPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: rlsSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/mutations/useUpdateWebauthnSettingMutation.ts b/sdk/constructive-react/src/public/hooks/mutations/useUpdateWebauthnSettingMutation.ts new file mode 100644 index 000000000..f76caac38 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/mutations/useUpdateWebauthnSettingMutation.ts @@ -0,0 +1,116 @@ +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { webauthnSettingKeys } from '../query-keys'; +import { webauthnSettingMutationKeys } from '../mutation-keys'; +import type { + WebauthnSettingSelect, + WebauthnSettingWithRelations, + WebauthnSettingPatch, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + WebauthnSettingSelect, + WebauthnSettingWithRelations, + WebauthnSettingPatch, +} from '../../orm/input-types'; +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```tsx + * const { mutate, isPending } = useUpdateWebauthnSettingMutation({ + * selection: { fields: { id: true, name: true } }, + * }); + * + * mutate({ id: 'value-here', webauthnSettingPatch: { name: 'Updated' } }); + * ``` + */ +export function useUpdateWebauthnSettingMutation( + params: { + selection: { + fields: S & WebauthnSettingSelect; + } & HookStrictSelect, WebauthnSettingSelect>; + } & Omit< + UseMutationOptions< + { + updateWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + webauthnSettingPatch: WebauthnSettingPatch; + } + >, + 'mutationFn' + > +): UseMutationResult< + { + updateWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }, + Error, + { + id: string; + webauthnSettingPatch: WebauthnSettingPatch; + } +>; +export function useUpdateWebauthnSettingMutation( + params: { + selection: SelectionConfig; + } & Omit< + UseMutationOptions< + any, + Error, + { + id: string; + webauthnSettingPatch: WebauthnSettingPatch; + } + >, + 'mutationFn' + > +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...mutationOptions } = params ?? {}; + void _selection; + const queryClient = useQueryClient(); + return useMutation({ + mutationKey: webauthnSettingMutationKeys.all, + mutationFn: ({ + id, + webauthnSettingPatch, + }: { + id: string; + webauthnSettingPatch: WebauthnSettingPatch; + }) => + getClient() + .webauthnSetting.update({ + where: { + id, + }, + data: webauthnSettingPatch, + select: args.select, + }) + .unwrap(), + onSuccess: (_, variables) => { + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.detail(variables.id), + }); + queryClient.invalidateQueries({ + queryKey: webauthnSettingKeys.lists(), + }); + }, + ...mutationOptions, + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/index.ts b/sdk/constructive-react/src/public/hooks/queries/index.ts index c82372532..1bc8632e6 100644 --- a/sdk/constructive-react/src/public/hooks/queries/index.ts +++ b/sdk/constructive-react/src/public/hooks/queries/index.ts @@ -26,6 +26,8 @@ export * from './useFieldsQuery'; export * from './useFieldQuery'; export * from './useSpatialRelationsQuery'; export * from './useSpatialRelationQuery'; +export * from './usePartitionsQuery'; +export * from './usePartitionQuery'; export * from './useForeignKeyConstraintsQuery'; export * from './useForeignKeyConstraintQuery'; export * from './useFullTextSearchesQuery'; @@ -66,6 +68,8 @@ export * from './useDefaultPrivilegesQuery'; export * from './useDefaultPrivilegeQuery'; export * from './useEnumsQuery'; export * from './useEnumQuery'; +export * from './useFunctionsQuery'; +export * from './useFunctionQuery'; export * from './useApiSchemasQuery'; export * from './useApiSchemaQuery'; export * from './useApiModulesQuery'; @@ -78,6 +82,8 @@ export * from './useSiteModulesQuery'; export * from './useSiteModuleQuery'; export * from './useSiteThemesQuery'; export * from './useSiteThemeQuery'; +export * from './useCorsSettingsQuery'; +export * from './useCorsSettingQuery'; export * from './useTriggerFunctionsQuery'; export * from './useTriggerFunctionQuery'; export * from './useDatabaseTransfersQuery'; @@ -88,6 +94,8 @@ export * from './useSitesQuery'; export * from './useSiteQuery'; export * from './useAppsQuery'; export * from './useAppQuery'; +export * from './useApiSettingsQuery'; +export * from './useApiSettingQuery'; export * from './useConnectedAccountsModulesQuery'; export * from './useConnectedAccountsModuleQuery'; export * from './useCryptoAddressesModulesQuery'; @@ -170,8 +178,16 @@ export * from './useOrgPermissionDefaultsQuery'; export * from './useOrgPermissionDefaultQuery'; export * from './useAppLimitsQuery'; export * from './useAppLimitQuery'; +export * from './useAppLimitCreditsQuery'; +export * from './useAppLimitCreditQuery'; +export * from './useAppLimitCreditCodeItemsQuery'; +export * from './useAppLimitCreditCodeItemQuery'; +export * from './useAppLimitCreditRedemptionsQuery'; +export * from './useAppLimitCreditRedemptionQuery'; export * from './useOrgLimitsQuery'; export * from './useOrgLimitQuery'; +export * from './useOrgLimitCreditsQuery'; +export * from './useOrgLimitCreditQuery'; export * from './useOrgLimitAggregatesQuery'; export * from './useOrgLimitAggregateQuery'; export * from './useAppStepsQuery'; @@ -213,6 +229,16 @@ export * from './useStoresQuery'; export * from './useStoreQuery'; export * from './useAppPermissionDefaultsQuery'; export * from './useAppPermissionDefaultQuery'; +export * from './useAppLimitCreditCodesQuery'; +export * from './useAppLimitCreditCodeQuery'; +export * from './useAppLimitCapsDefaultsQuery'; +export * from './useAppLimitCapsDefaultQuery'; +export * from './useOrgLimitCapsDefaultsQuery'; +export * from './useOrgLimitCapsDefaultQuery'; +export * from './useAppLimitCapsQuery'; +export * from './useAppLimitCapQuery'; +export * from './useOrgLimitCapsQuery'; +export * from './useOrgLimitCapQuery'; export * from './useMembershipTypesQuery'; export * from './useMembershipTypeQuery'; export * from './useMigrateFilesQuery'; @@ -229,18 +255,24 @@ export * from './useUserConnectedAccountsQuery'; export * from './useUserConnectedAccountQuery'; export * from './useCommitsQuery'; export * from './useCommitQuery'; +export * from './usePubkeySettingsQuery'; +export * from './usePubkeySettingQuery'; export * from './useRateLimitsModulesQuery'; export * from './useRateLimitsModuleQuery'; export * from './useAppMembershipDefaultsQuery'; export * from './useAppMembershipDefaultQuery'; export * from './useOrgMembershipDefaultsQuery'; export * from './useOrgMembershipDefaultQuery'; +export * from './useRlsSettingsQuery'; +export * from './useRlsSettingQuery'; export * from './useAppLimitEventsQuery'; export * from './useOrgLimitEventsQuery'; -export * from './usePlansModulesQuery'; -export * from './usePlansModuleQuery'; export * from './useRlsModulesQuery'; export * from './useRlsModuleQuery'; +export * from './useDatabaseSettingsQuery'; +export * from './useDatabaseSettingQuery'; +export * from './usePlansModulesQuery'; +export * from './usePlansModuleQuery'; export * from './useSqlActionsQuery'; export * from './useSqlActionQuery'; export * from './useBillingModulesQuery'; @@ -251,8 +283,12 @@ export * from './useUsersQuery'; export * from './useUserQuery'; export * from './useOrgMembershipSettingsQuery'; export * from './useOrgMembershipSettingQuery'; +export * from './useWebauthnSettingsQuery'; +export * from './useWebauthnSettingQuery'; export * from './useAppMembershipsQuery'; export * from './useAppMembershipQuery'; +export * from './useBillingProviderModulesQuery'; +export * from './useBillingProviderModuleQuery'; export * from './useHierarchyModulesQuery'; export * from './useHierarchyModuleQuery'; export * from './useCurrentUserIdQuery'; diff --git a/sdk/constructive-react/src/public/hooks/queries/useApiSettingQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useApiSettingQuery.ts new file mode 100644 index 000000000..c2dde5b0a --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useApiSettingQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { apiSettingKeys } from '../query-keys'; +import type { ApiSettingSelect, ApiSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { ApiSettingSelect, ApiSettingWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const apiSettingQueryKey = apiSettingKeys.detail; +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```tsx + * const { data, isLoading } = useApiSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useApiSettingQuery< + S extends ApiSettingSelect, + TData = { + apiSetting: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, ApiSettingSelect>; + } & Omit< + UseQueryOptions< + { + apiSetting: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useApiSettingQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: apiSettingKeys.detail(params.id), + queryFn: () => + getClient() + .apiSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```ts + * const data = await fetchApiSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchApiSettingQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, ApiSettingSelect>; +}): Promise<{ + apiSetting: InferSelectResult | null; +}>; +export async function fetchApiSettingQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .apiSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```ts + * await prefetchApiSettingQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchApiSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, ApiSettingSelect>; + } +): Promise; +export async function prefetchApiSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: apiSettingKeys.detail(params.id), + queryFn: () => + getClient() + .apiSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useApiSettingsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useApiSettingsQuery.ts new file mode 100644 index 000000000..784f8fbc4 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useApiSettingsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { apiSettingKeys } from '../query-keys'; +import type { + ApiSettingSelect, + ApiSettingWithRelations, + ApiSettingFilter, + ApiSettingOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + ApiSettingSelect, + ApiSettingWithRelations, + ApiSettingFilter, + ApiSettingOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const apiSettingsQueryKey = apiSettingKeys.list; +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```tsx + * const { data, isLoading } = useApiSettingsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useApiSettingsQuery< + S extends ApiSettingSelect, + TData = { + apiSettings: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, ApiSettingSelect>; + } & Omit< + UseQueryOptions< + { + apiSettings: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useApiSettingsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: apiSettingKeys.list(args), + queryFn: () => getClient().apiSetting.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```ts + * const data = await fetchApiSettingsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchApiSettingsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, ApiSettingSelect>; +}): Promise<{ + apiSettings: ConnectionResult>; +}>; +export async function fetchApiSettingsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().apiSetting.findMany(args).unwrap(); +} +/** + * Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default + * + * @example + * ```ts + * await prefetchApiSettingsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchApiSettingsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, ApiSettingSelect>; + } +): Promise; +export async function prefetchApiSettingsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: apiSettingKeys.list(args), + queryFn: () => getClient().apiSetting.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapQuery.ts new file mode 100644 index 000000000..eaa378033 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCapSelect, AppLimitCapWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapQueryKey = appLimitCapKeys.detail; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCapQuery< + S extends AppLimitCapSelect, + TData = { + appLimitCap: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCap: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchAppLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCapQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapSelect>; +}): Promise<{ + appLimitCap: InferSelectResult | null; +}>; +export async function fetchAppLimitCapQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchAppLimitCapQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapSelect>; + } +): Promise; +export async function prefetchAppLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsDefaultQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsDefaultQuery.ts new file mode 100644 index 000000000..b83e08353 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsDefaultQuery.ts @@ -0,0 +1,144 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapsDefaultQueryKey = appLimitCapsDefaultKeys.detail; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCapsDefaultQuery< + S extends AppLimitCapsDefaultSelect, + TData = { + appLimitCapsDefault: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCapsDefault: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapsDefaultQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchAppLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCapsDefaultQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; +}): Promise<{ + appLimitCapsDefault: InferSelectResult | null; +}>; +export async function fetchAppLimitCapsDefaultQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchAppLimitCapsDefaultQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchAppLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsDefaultsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsDefaultsQuery.ts new file mode 100644 index 000000000..9b50cb574 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsDefaultsQuery.ts @@ -0,0 +1,174 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCapsDefaultKeys } from '../query-keys'; +import type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapsDefaultsQueryKey = appLimitCapsDefaultKeys.list; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCapsDefaultsQuery< + S extends AppLimitCapsDefaultSelect, + TData = { + appLimitCapsDefaults: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCapsDefaults: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapsDefaultsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().appLimitCapsDefault.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchAppLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCapsDefaultsQuery(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCapsDefaultSelect>; +}): Promise<{ + appLimitCapsDefaults: ConnectionResult>; +}>; +export async function fetchAppLimitCapsDefaultsQuery(params: { + selection: ListSelectionConfig< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >(params.selection); + return getClient().appLimitCapsDefault.findMany(args).unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchAppLimitCapsDefaultsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchAppLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().appLimitCapsDefault.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsQuery.ts new file mode 100644 index 000000000..527d7116c --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCapsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCapKeys } from '../query-keys'; +import type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapFilter, + AppLimitCapOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCapSelect, + AppLimitCapWithRelations, + AppLimitCapFilter, + AppLimitCapOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCapsQueryKey = appLimitCapKeys.list; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCapsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCapsQuery< + S extends AppLimitCapSelect, + TData = { + appLimitCaps: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCaps: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCapsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCapKeys.list(args), + queryFn: () => getClient().appLimitCap.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchAppLimitCapsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCapsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCapSelect>; +}): Promise<{ + appLimitCaps: ConnectionResult>; +}>; +export async function fetchAppLimitCapsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().appLimitCap.findMany(args).unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchAppLimitCapsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCapSelect>; + } +): Promise; +export async function prefetchAppLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: appLimitCapKeys.list(args), + queryFn: () => getClient().appLimitCap.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeItemQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeItemQuery.ts new file mode 100644 index 000000000..684213c82 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeItemQuery.ts @@ -0,0 +1,146 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodeItemQueryKey = appLimitCreditCodeItemKeys.detail; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodeItemQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditCodeItemQuery< + S extends AppLimitCreditCodeItemSelect, + TData = { + appLimitCreditCodeItem: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCodeItem: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodeItemQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeItemKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCodeItem.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodeItemQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodeItemQuery< + S extends AppLimitCreditCodeItemSelect, +>(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; +}): Promise<{ + appLimitCreditCodeItem: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditCodeItemQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCreditCodeItem.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * await prefetchAppLimitCreditCodeItemQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditCodeItemQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeItemSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodeItemQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeItemKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCodeItem.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeItemsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeItemsQuery.ts new file mode 100644 index 000000000..8e026ce03 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeItemsQuery.ts @@ -0,0 +1,180 @@ +/** + * Items within a credit code — each row grants credits for a specific limit definition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditCodeItemKeys } from '../query-keys'; +import type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodeItemsQueryKey = appLimitCreditCodeItemKeys.list; +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodeItemsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditCodeItemsQuery< + S extends AppLimitCreditCodeItemSelect, + TData = { + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeItemSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodeItemsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeItemKeys.list(args), + queryFn: () => getClient().appLimitCreditCodeItem.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodeItemsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodeItemsQuery< + S extends AppLimitCreditCodeItemSelect, +>(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeItemSelect>; +}): Promise<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; +}>; +export async function fetchAppLimitCreditCodeItemsQuery(params: { + selection: ListSelectionConfig< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >(params.selection); + return getClient().appLimitCreditCodeItem.findMany(args).unwrap(); +} +/** + * Items within a credit code — each row grants credits for a specific limit definition + * + * @example + * ```ts + * await prefetchAppLimitCreditCodeItemsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditCodeItemsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeItemSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodeItemsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeItemKeys.list(args), + queryFn: () => getClient().appLimitCreditCodeItem.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeQuery.ts new file mode 100644 index 000000000..4064c3a52 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodeQuery.ts @@ -0,0 +1,144 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodeQueryKey = appLimitCreditCodeKeys.detail; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodeQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditCodeQuery< + S extends AppLimitCreditCodeSelect, + TData = { + appLimitCreditCode: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCode: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodeQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCode.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodeQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodeQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeSelect>; +}): Promise<{ + appLimitCreditCode: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditCodeQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCreditCode.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * await prefetchAppLimitCreditCodeQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditCodeQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditCodeSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodeQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditCode.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodesQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodesQuery.ts new file mode 100644 index 000000000..c69d74cd1 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditCodesQuery.ts @@ -0,0 +1,171 @@ +/** + * Redeemable credit codes managed by admins with the add_credits permission + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditCodeKeys } from '../query-keys'; +import type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditCodeSelect, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditCodesQueryKey = appLimitCreditCodeKeys.list; +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditCodesQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditCodesQuery< + S extends AppLimitCreditCodeSelect, + TData = { + appLimitCreditCodes: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditCodes: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditCodesQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditCodeKeys.list(args), + queryFn: () => getClient().appLimitCreditCode.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * const data = await fetchAppLimitCreditCodesQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditCodesQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditCodeSelect>; +}): Promise<{ + appLimitCreditCodes: ConnectionResult>; +}>; +export async function fetchAppLimitCreditCodesQuery(params: { + selection: ListSelectionConfig< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >(params.selection); + return getClient().appLimitCreditCode.findMany(args).unwrap(); +} +/** + * Redeemable credit codes managed by admins with the add_credits permission + * + * @example + * ```ts + * await prefetchAppLimitCreditCodesQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditCodesQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditCodeSelect>; + } +): Promise; +export async function prefetchAppLimitCreditCodesQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditCodeKeys.list(args), + queryFn: () => getClient().appLimitCreditCode.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditQuery.ts new file mode 100644 index 000000000..126746048 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditQuery.ts @@ -0,0 +1,138 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { AppLimitCreditSelect, AppLimitCreditWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditQueryKey = appLimitCreditKeys.detail; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditQuery< + S extends AppLimitCreditSelect, + TData = { + appLimitCredit: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCredit: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchAppLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditSelect>; +}): Promise<{ + appLimitCredit: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchAppLimitCreditQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditSelect>; + } +): Promise; +export async function prefetchAppLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditRedemptionQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditRedemptionQuery.ts new file mode 100644 index 000000000..7ab69db6a --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditRedemptionQuery.ts @@ -0,0 +1,151 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditRedemptionQueryKey = appLimitCreditRedemptionKeys.detail; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditRedemptionQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useAppLimitCreditRedemptionQuery< + S extends AppLimitCreditRedemptionSelect, + TData = { + appLimitCreditRedemption: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditRedemption: InferSelectResult< + AppLimitCreditRedemptionWithRelations, + S + > | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditRedemptionQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditRedemptionKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditRedemption.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * const data = await fetchAppLimitCreditRedemptionQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchAppLimitCreditRedemptionQuery< + S extends AppLimitCreditRedemptionSelect, +>(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; +}): Promise<{ + appLimitCreditRedemption: InferSelectResult | null; +}>; +export async function fetchAppLimitCreditRedemptionQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .appLimitCreditRedemption.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * await prefetchAppLimitCreditRedemptionQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchAppLimitCreditRedemptionQuery< + S extends AppLimitCreditRedemptionSelect, +>( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, AppLimitCreditRedemptionSelect>; + } +): Promise; +export async function prefetchAppLimitCreditRedemptionQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditRedemptionKeys.detail(params.id), + queryFn: () => + getClient() + .appLimitCreditRedemption.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditRedemptionsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditRedemptionsQuery.ts new file mode 100644 index 000000000..099a5d24b --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditRedemptionsQuery.ts @@ -0,0 +1,182 @@ +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditRedemptionKeys } from '../query-keys'; +import type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditRedemptionsQueryKey = appLimitCreditRedemptionKeys.list; +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditRedemptionsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditRedemptionsQuery< + S extends AppLimitCreditRedemptionSelect, + TData = { + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditRedemptionSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditRedemptionsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditRedemptionKeys.list(args), + queryFn: () => getClient().appLimitCreditRedemption.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * const data = await fetchAppLimitCreditRedemptionsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditRedemptionsQuery< + S extends AppLimitCreditRedemptionSelect, +>(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditRedemptionSelect>; +}): Promise<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; +}>; +export async function fetchAppLimitCreditRedemptionsQuery(params: { + selection: ListSelectionConfig< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >; +}) { + const args = buildListSelectionArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >(params.selection); + return getClient().appLimitCreditRedemption.findMany(args).unwrap(); +} +/** + * Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits + * + * @example + * ```ts + * await prefetchAppLimitCreditRedemptionsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditRedemptionsQuery< + S extends AppLimitCreditRedemptionSelect, +>( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, AppLimitCreditRedemptionSelect>; + } +): Promise; +export async function prefetchAppLimitCreditRedemptionsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditRedemptionKeys.list(args), + queryFn: () => getClient().appLimitCreditRedemption.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditsQuery.ts new file mode 100644 index 000000000..30d99ddbe --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useAppLimitCreditsQuery.ts @@ -0,0 +1,159 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { appLimitCreditKeys } from '../query-keys'; +import type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditFilter, + AppLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + AppLimitCreditSelect, + AppLimitCreditWithRelations, + AppLimitCreditFilter, + AppLimitCreditOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const appLimitCreditsQueryKey = appLimitCreditKeys.list; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useAppLimitCreditsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useAppLimitCreditsQuery< + S extends AppLimitCreditSelect, + TData = { + appLimitCredits: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + appLimitCredits: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useAppLimitCreditsQuery( + params: { + selection: ListSelectionConfig< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: appLimitCreditKeys.list(args), + queryFn: () => getClient().appLimitCredit.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchAppLimitCreditsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchAppLimitCreditsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditSelect>; +}): Promise<{ + appLimitCredits: ConnectionResult>; +}>; +export async function fetchAppLimitCreditsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >(params.selection); + return getClient().appLimitCredit.findMany(args).unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchAppLimitCreditsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchAppLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, AppLimitCreditSelect>; + } +): Promise; +export async function prefetchAppLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: appLimitCreditKeys.list(args), + queryFn: () => getClient().appLimitCredit.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useBillingProviderModuleQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useBillingProviderModuleQuery.ts new file mode 100644 index 000000000..9aa39aac7 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useBillingProviderModuleQuery.ts @@ -0,0 +1,146 @@ +/** + * Single item query hook for BillingProviderModule + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { billingProviderModuleKeys } from '../query-keys'; +import type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const billingProviderModuleQueryKey = billingProviderModuleKeys.detail; +/** + * Query hook for fetching a single BillingProviderModule + * + * @example + * ```tsx + * const { data, isLoading } = useBillingProviderModuleQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useBillingProviderModuleQuery< + S extends BillingProviderModuleSelect, + TData = { + billingProviderModule: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, BillingProviderModuleSelect>; + } & Omit< + UseQueryOptions< + { + billingProviderModule: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useBillingProviderModuleQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: billingProviderModuleKeys.detail(params.id), + queryFn: () => + getClient() + .billingProviderModule.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Fetch a single BillingProviderModule without React hooks + * + * @example + * ```ts + * const data = await fetchBillingProviderModuleQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchBillingProviderModuleQuery< + S extends BillingProviderModuleSelect, +>(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, BillingProviderModuleSelect>; +}): Promise<{ + billingProviderModule: InferSelectResult | null; +}>; +export async function fetchBillingProviderModuleQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .billingProviderModule.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Prefetch a single BillingProviderModule for SSR or cache warming + * + * @example + * ```ts + * await prefetchBillingProviderModuleQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchBillingProviderModuleQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, BillingProviderModuleSelect>; + } +): Promise; +export async function prefetchBillingProviderModuleQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: billingProviderModuleKeys.detail(params.id), + queryFn: () => + getClient() + .billingProviderModule.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useBillingProviderModulesQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useBillingProviderModulesQuery.ts new file mode 100644 index 000000000..318d990ff --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useBillingProviderModulesQuery.ts @@ -0,0 +1,180 @@ +/** + * List query hook for BillingProviderModule + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { billingProviderModuleKeys } from '../query-keys'; +import type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + BillingProviderModuleSelect, + BillingProviderModuleWithRelations, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const billingProviderModulesQueryKey = billingProviderModuleKeys.list; +/** + * Query hook for fetching BillingProviderModule list + * + * @example + * ```tsx + * const { data, isLoading } = useBillingProviderModulesQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useBillingProviderModulesQuery< + S extends BillingProviderModuleSelect, + TData = { + billingProviderModules: ConnectionResult< + InferSelectResult + >; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, BillingProviderModuleSelect>; + } & Omit< + UseQueryOptions< + { + billingProviderModules: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useBillingProviderModulesQuery( + params: { + selection: ListSelectionConfig< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: billingProviderModuleKeys.list(args), + queryFn: () => getClient().billingProviderModule.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Fetch BillingProviderModule list without React hooks + * + * @example + * ```ts + * const data = await fetchBillingProviderModulesQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchBillingProviderModulesQuery< + S extends BillingProviderModuleSelect, +>(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, BillingProviderModuleSelect>; +}): Promise<{ + billingProviderModules: ConnectionResult< + InferSelectResult + >; +}>; +export async function fetchBillingProviderModulesQuery(params: { + selection: ListSelectionConfig< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + >; +}) { + const args = buildListSelectionArgs< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + >(params.selection); + return getClient().billingProviderModule.findMany(args).unwrap(); +} +/** + * Prefetch BillingProviderModule list for SSR or cache warming + * + * @example + * ```ts + * await prefetchBillingProviderModulesQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchBillingProviderModulesQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, BillingProviderModuleSelect>; + } +): Promise; +export async function prefetchBillingProviderModulesQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: billingProviderModuleKeys.list(args), + queryFn: () => getClient().billingProviderModule.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useCorsSettingQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useCorsSettingQuery.ts new file mode 100644 index 000000000..042b9024c --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useCorsSettingQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { corsSettingKeys } from '../query-keys'; +import type { CorsSettingSelect, CorsSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { CorsSettingSelect, CorsSettingWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const corsSettingQueryKey = corsSettingKeys.detail; +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = useCorsSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useCorsSettingQuery< + S extends CorsSettingSelect, + TData = { + corsSetting: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, CorsSettingSelect>; + } & Omit< + UseQueryOptions< + { + corsSetting: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useCorsSettingQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: corsSettingKeys.detail(params.id), + queryFn: () => + getClient() + .corsSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```ts + * const data = await fetchCorsSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchCorsSettingQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, CorsSettingSelect>; +}): Promise<{ + corsSetting: InferSelectResult | null; +}>; +export async function fetchCorsSettingQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .corsSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```ts + * await prefetchCorsSettingQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchCorsSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, CorsSettingSelect>; + } +): Promise; +export async function prefetchCorsSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: corsSettingKeys.detail(params.id), + queryFn: () => + getClient() + .corsSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useCorsSettingsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useCorsSettingsQuery.ts new file mode 100644 index 000000000..cfedcf6f7 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useCorsSettingsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { corsSettingKeys } from '../query-keys'; +import type { + CorsSettingSelect, + CorsSettingWithRelations, + CorsSettingFilter, + CorsSettingOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + CorsSettingSelect, + CorsSettingWithRelations, + CorsSettingFilter, + CorsSettingOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const corsSettingsQueryKey = corsSettingKeys.list; +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = useCorsSettingsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useCorsSettingsQuery< + S extends CorsSettingSelect, + TData = { + corsSettings: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, CorsSettingSelect>; + } & Omit< + UseQueryOptions< + { + corsSettings: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useCorsSettingsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: corsSettingKeys.list(args), + queryFn: () => getClient().corsSetting.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```ts + * const data = await fetchCorsSettingsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchCorsSettingsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, CorsSettingSelect>; +}): Promise<{ + corsSettings: ConnectionResult>; +}>; +export async function fetchCorsSettingsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().corsSetting.findMany(args).unwrap(); +} +/** + * Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries + * + * @example + * ```ts + * await prefetchCorsSettingsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchCorsSettingsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, CorsSettingSelect>; + } +): Promise; +export async function prefetchCorsSettingsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: corsSettingKeys.list(args), + queryFn: () => getClient().corsSetting.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useDatabaseSettingQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useDatabaseSettingQuery.ts new file mode 100644 index 000000000..319213184 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useDatabaseSettingQuery.ts @@ -0,0 +1,138 @@ +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { databaseSettingKeys } from '../query-keys'; +import type { DatabaseSettingSelect, DatabaseSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { DatabaseSettingSelect, DatabaseSettingWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const databaseSettingQueryKey = databaseSettingKeys.detail; +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```tsx + * const { data, isLoading } = useDatabaseSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useDatabaseSettingQuery< + S extends DatabaseSettingSelect, + TData = { + databaseSetting: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, DatabaseSettingSelect>; + } & Omit< + UseQueryOptions< + { + databaseSetting: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useDatabaseSettingQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: databaseSettingKeys.detail(params.id), + queryFn: () => + getClient() + .databaseSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```ts + * const data = await fetchDatabaseSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchDatabaseSettingQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, DatabaseSettingSelect>; +}): Promise<{ + databaseSetting: InferSelectResult | null; +}>; +export async function fetchDatabaseSettingQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .databaseSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```ts + * await prefetchDatabaseSettingQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchDatabaseSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, DatabaseSettingSelect>; + } +): Promise; +export async function prefetchDatabaseSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: databaseSettingKeys.detail(params.id), + queryFn: () => + getClient() + .databaseSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useDatabaseSettingsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useDatabaseSettingsQuery.ts new file mode 100644 index 000000000..9e6d98f34 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useDatabaseSettingsQuery.ts @@ -0,0 +1,163 @@ +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { databaseSettingKeys } from '../query-keys'; +import type { + DatabaseSettingSelect, + DatabaseSettingWithRelations, + DatabaseSettingFilter, + DatabaseSettingOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + DatabaseSettingSelect, + DatabaseSettingWithRelations, + DatabaseSettingFilter, + DatabaseSettingOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const databaseSettingsQueryKey = databaseSettingKeys.list; +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```tsx + * const { data, isLoading } = useDatabaseSettingsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useDatabaseSettingsQuery< + S extends DatabaseSettingSelect, + TData = { + databaseSettings: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, DatabaseSettingSelect>; + } & Omit< + UseQueryOptions< + { + databaseSettings: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useDatabaseSettingsQuery( + params: { + selection: ListSelectionConfig< + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: databaseSettingKeys.list(args), + queryFn: () => getClient().databaseSetting.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```ts + * const data = await fetchDatabaseSettingsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchDatabaseSettingsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, DatabaseSettingSelect>; +}): Promise<{ + databaseSettings: ConnectionResult>; +}>; +export async function fetchDatabaseSettingsQuery(params: { + selection: ListSelectionConfig< + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy + >; +}) { + const args = buildListSelectionArgs< + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy + >(params.selection); + return getClient().databaseSetting.findMany(args).unwrap(); +} +/** + * Database-wide feature flags and settings; controls which platform features are available to all APIs in this database + * + * @example + * ```ts + * await prefetchDatabaseSettingsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchDatabaseSettingsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, DatabaseSettingSelect>; + } +): Promise; +export async function prefetchDatabaseSettingsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: databaseSettingKeys.list(args), + queryFn: () => getClient().databaseSetting.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useFunctionQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useFunctionQuery.ts new file mode 100644 index 000000000..5f7eece7e --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useFunctionQuery.ts @@ -0,0 +1,138 @@ +/** + * Single item query hook for Function + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { functionKeys } from '../query-keys'; +import type { FunctionSelect, FunctionWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { FunctionSelect, FunctionWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const functionQueryKey = functionKeys.detail; +/** + * Query hook for fetching a single Function + * + * @example + * ```tsx + * const { data, isLoading } = useFunctionQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useFunctionQuery< + S extends FunctionSelect, + TData = { + function: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, FunctionSelect>; + } & Omit< + UseQueryOptions< + { + function: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useFunctionQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: functionKeys.detail(params.id), + queryFn: () => + getClient() + .function.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Fetch a single Function without React hooks + * + * @example + * ```ts + * const data = await fetchFunctionQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchFunctionQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, FunctionSelect>; +}): Promise<{ + function: InferSelectResult | null; +}>; +export async function fetchFunctionQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .function.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Prefetch a single Function for SSR or cache warming + * + * @example + * ```ts + * await prefetchFunctionQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchFunctionQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, FunctionSelect>; + } +): Promise; +export async function prefetchFunctionQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: functionKeys.detail(params.id), + queryFn: () => + getClient() + .function.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useFunctionsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useFunctionsQuery.ts new file mode 100644 index 000000000..68e1b0b38 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useFunctionsQuery.ts @@ -0,0 +1,145 @@ +/** + * List query hook for Function + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { functionKeys } from '../query-keys'; +import type { + FunctionSelect, + FunctionWithRelations, + FunctionFilter, + FunctionOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + FunctionSelect, + FunctionWithRelations, + FunctionFilter, + FunctionOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const functionsQueryKey = functionKeys.list; +/** + * Query hook for fetching Function list + * + * @example + * ```tsx + * const { data, isLoading } = useFunctionsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useFunctionsQuery< + S extends FunctionSelect, + TData = { + functions: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, FunctionSelect>; + } & Omit< + UseQueryOptions< + { + functions: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useFunctionsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: functionKeys.list(args), + queryFn: () => getClient().function.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Fetch Function list without React hooks + * + * @example + * ```ts + * const data = await fetchFunctionsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchFunctionsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, FunctionSelect>; +}): Promise<{ + functions: ConnectionResult>; +}>; +export async function fetchFunctionsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().function.findMany(args).unwrap(); +} +/** + * Prefetch Function list for SSR or cache warming + * + * @example + * ```ts + * await prefetchFunctionsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchFunctionsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, FunctionSelect>; + } +): Promise; +export async function prefetchFunctionsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: functionKeys.list(args), + queryFn: () => getClient().function.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapQuery.ts new file mode 100644 index 000000000..14f620cbe --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCapSelect, OrgLimitCapWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapQueryKey = orgLimitCapKeys.detail; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useOrgLimitCapQuery< + S extends OrgLimitCapSelect, + TData = { + orgLimitCap: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCap: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchOrgLimitCapQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapSelect>; +}): Promise<{ + orgLimitCap: InferSelectResult | null; +}>; +export async function fetchOrgLimitCapQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .orgLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchOrgLimitCapQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchOrgLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapSelect>; + } +): Promise; +export async function prefetchOrgLimitCapQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCap.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsDefaultQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsDefaultQuery.ts new file mode 100644 index 000000000..d8ba258b5 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsDefaultQuery.ts @@ -0,0 +1,144 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapsDefaultQueryKey = orgLimitCapsDefaultKeys.detail; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useOrgLimitCapsDefaultQuery< + S extends OrgLimitCapsDefaultSelect, + TData = { + orgLimitCapsDefault: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCapsDefault: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapsDefaultQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapsDefaultQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchOrgLimitCapsDefaultQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; +}): Promise<{ + orgLimitCapsDefault: InferSelectResult | null; +}>; +export async function fetchOrgLimitCapsDefaultQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .orgLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchOrgLimitCapsDefaultQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchOrgLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchOrgLimitCapsDefaultQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapsDefaultKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCapsDefault.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsDefaultsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsDefaultsQuery.ts new file mode 100644 index 000000000..2d94c1883 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsDefaultsQuery.ts @@ -0,0 +1,174 @@ +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { orgLimitCapsDefaultKeys } from '../query-keys'; +import type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapsDefaultsQueryKey = orgLimitCapsDefaultKeys.list; +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useOrgLimitCapsDefaultsQuery< + S extends OrgLimitCapsDefaultSelect, + TData = { + orgLimitCapsDefaults: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, OrgLimitCapsDefaultSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCapsDefaults: ConnectionResult< + InferSelectResult + >; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapsDefaultsQuery( + params: { + selection: ListSelectionConfig< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().orgLimitCapsDefault.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapsDefaultsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchOrgLimitCapsDefaultsQuery(params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, OrgLimitCapsDefaultSelect>; +}): Promise<{ + orgLimitCapsDefaults: ConnectionResult>; +}>; +export async function fetchOrgLimitCapsDefaultsQuery(params: { + selection: ListSelectionConfig< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >; +}) { + const args = buildListSelectionArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >(params.selection); + return getClient().orgLimitCapsDefault.findMany(args).unwrap(); +} +/** + * Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. + * + * @example + * ```ts + * await prefetchOrgLimitCapsDefaultsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchOrgLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit< + ListSelectionConfig, + 'fields' + > & + HookStrictSelect, OrgLimitCapsDefaultSelect>; + } +): Promise; +export async function prefetchOrgLimitCapsDefaultsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapsDefaultKeys.list(args), + queryFn: () => getClient().orgLimitCapsDefault.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsQuery.ts new file mode 100644 index 000000000..66139a68c --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCapsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { orgLimitCapKeys } from '../query-keys'; +import type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapFilter, + OrgLimitCapOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + OrgLimitCapSelect, + OrgLimitCapWithRelations, + OrgLimitCapFilter, + OrgLimitCapOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCapsQueryKey = orgLimitCapKeys.list; +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCapsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useOrgLimitCapsQuery< + S extends OrgLimitCapSelect, + TData = { + orgLimitCaps: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCapSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCaps: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCapsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCapKeys.list(args), + queryFn: () => getClient().orgLimitCap.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * const data = await fetchOrgLimitCapsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchOrgLimitCapsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCapSelect>; +}): Promise<{ + orgLimitCaps: ConnectionResult>; +}>; +export async function fetchOrgLimitCapsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().orgLimitCap.findMany(args).unwrap(); +} +/** + * Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. + * + * @example + * ```ts + * await prefetchOrgLimitCapsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchOrgLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCapSelect>; + } +): Promise; +export async function prefetchOrgLimitCapsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: orgLimitCapKeys.list(args), + queryFn: () => getClient().orgLimitCap.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCreditQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCreditQuery.ts new file mode 100644 index 000000000..b8c62a26e --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCreditQuery.ts @@ -0,0 +1,138 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { OrgLimitCreditSelect, OrgLimitCreditWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCreditQueryKey = orgLimitCreditKeys.detail; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useOrgLimitCreditQuery< + S extends OrgLimitCreditSelect, + TData = { + orgLimitCredit: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCredit: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCreditQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchOrgLimitCreditQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchOrgLimitCreditQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCreditSelect>; +}): Promise<{ + orgLimitCredit: InferSelectResult | null; +}>; +export async function fetchOrgLimitCreditQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .orgLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchOrgLimitCreditQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchOrgLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, OrgLimitCreditSelect>; + } +): Promise; +export async function prefetchOrgLimitCreditQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCreditKeys.detail(params.id), + queryFn: () => + getClient() + .orgLimitCredit.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCreditsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCreditsQuery.ts new file mode 100644 index 000000000..7f8786ae3 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useOrgLimitCreditsQuery.ts @@ -0,0 +1,159 @@ +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { orgLimitCreditKeys } from '../query-keys'; +import type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + OrgLimitCreditSelect, + OrgLimitCreditWithRelations, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const orgLimitCreditsQueryKey = orgLimitCreditKeys.list; +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```tsx + * const { data, isLoading } = useOrgLimitCreditsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useOrgLimitCreditsQuery< + S extends OrgLimitCreditSelect, + TData = { + orgLimitCredits: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCreditSelect>; + } & Omit< + UseQueryOptions< + { + orgLimitCredits: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useOrgLimitCreditsQuery( + params: { + selection: ListSelectionConfig< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: orgLimitCreditKeys.list(args), + queryFn: () => getClient().orgLimitCredit.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * const data = await fetchOrgLimitCreditsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchOrgLimitCreditsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCreditSelect>; +}): Promise<{ + orgLimitCredits: ConnectionResult>; +}>; +export async function fetchOrgLimitCreditsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >(params.selection); + return getClient().orgLimitCredit.findMany(args).unwrap(); +} +/** + * Append-only ledger of credit grants that automatically update limit ceilings + * + * @example + * ```ts + * await prefetchOrgLimitCreditsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchOrgLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, OrgLimitCreditSelect>; + } +): Promise; +export async function prefetchOrgLimitCreditsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: orgLimitCreditKeys.list(args), + queryFn: () => getClient().orgLimitCredit.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/usePartitionQuery.ts b/sdk/constructive-react/src/public/hooks/queries/usePartitionQuery.ts new file mode 100644 index 000000000..7a27eaa64 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/usePartitionQuery.ts @@ -0,0 +1,138 @@ +/** + * Single item query hook for Partition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { partitionKeys } from '../query-keys'; +import type { PartitionSelect, PartitionWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { PartitionSelect, PartitionWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const partitionQueryKey = partitionKeys.detail; +/** + * Query hook for fetching a single Partition + * + * @example + * ```tsx + * const { data, isLoading } = usePartitionQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function usePartitionQuery< + S extends PartitionSelect, + TData = { + partition: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, PartitionSelect>; + } & Omit< + UseQueryOptions< + { + partition: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function usePartitionQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: partitionKeys.detail(params.id), + queryFn: () => + getClient() + .partition.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Fetch a single Partition without React hooks + * + * @example + * ```ts + * const data = await fetchPartitionQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchPartitionQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, PartitionSelect>; +}): Promise<{ + partition: InferSelectResult | null; +}>; +export async function fetchPartitionQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .partition.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Prefetch a single Partition for SSR or cache warming + * + * @example + * ```ts + * await prefetchPartitionQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchPartitionQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, PartitionSelect>; + } +): Promise; +export async function prefetchPartitionQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: partitionKeys.detail(params.id), + queryFn: () => + getClient() + .partition.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/usePartitionsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/usePartitionsQuery.ts new file mode 100644 index 000000000..3a61acc14 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/usePartitionsQuery.ts @@ -0,0 +1,145 @@ +/** + * List query hook for Partition + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { partitionKeys } from '../query-keys'; +import type { + PartitionSelect, + PartitionWithRelations, + PartitionFilter, + PartitionOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + PartitionSelect, + PartitionWithRelations, + PartitionFilter, + PartitionOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const partitionsQueryKey = partitionKeys.list; +/** + * Query hook for fetching Partition list + * + * @example + * ```tsx + * const { data, isLoading } = usePartitionsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function usePartitionsQuery< + S extends PartitionSelect, + TData = { + partitions: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, PartitionSelect>; + } & Omit< + UseQueryOptions< + { + partitions: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function usePartitionsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: partitionKeys.list(args), + queryFn: () => getClient().partition.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Fetch Partition list without React hooks + * + * @example + * ```ts + * const data = await fetchPartitionsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchPartitionsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, PartitionSelect>; +}): Promise<{ + partitions: ConnectionResult>; +}>; +export async function fetchPartitionsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().partition.findMany(args).unwrap(); +} +/** + * Prefetch Partition list for SSR or cache warming + * + * @example + * ```ts + * await prefetchPartitionsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchPartitionsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, PartitionSelect>; + } +): Promise; +export async function prefetchPartitionsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: partitionKeys.list(args), + queryFn: () => getClient().partition.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/usePubkeySettingQuery.ts b/sdk/constructive-react/src/public/hooks/queries/usePubkeySettingQuery.ts new file mode 100644 index 000000000..c1de123e7 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/usePubkeySettingQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { pubkeySettingKeys } from '../query-keys'; +import type { PubkeySettingSelect, PubkeySettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { PubkeySettingSelect, PubkeySettingWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const pubkeySettingQueryKey = pubkeySettingKeys.detail; +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = usePubkeySettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function usePubkeySettingQuery< + S extends PubkeySettingSelect, + TData = { + pubkeySetting: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, PubkeySettingSelect>; + } & Omit< + UseQueryOptions< + { + pubkeySetting: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function usePubkeySettingQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: pubkeySettingKeys.detail(params.id), + queryFn: () => + getClient() + .pubkeySetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```ts + * const data = await fetchPubkeySettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchPubkeySettingQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, PubkeySettingSelect>; +}): Promise<{ + pubkeySetting: InferSelectResult | null; +}>; +export async function fetchPubkeySettingQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .pubkeySetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```ts + * await prefetchPubkeySettingQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchPubkeySettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, PubkeySettingSelect>; + } +): Promise; +export async function prefetchPubkeySettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: pubkeySettingKeys.detail(params.id), + queryFn: () => + getClient() + .pubkeySetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/usePubkeySettingsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/usePubkeySettingsQuery.ts new file mode 100644 index 000000000..7afc92f9a --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/usePubkeySettingsQuery.ts @@ -0,0 +1,151 @@ +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { pubkeySettingKeys } from '../query-keys'; +import type { + PubkeySettingSelect, + PubkeySettingWithRelations, + PubkeySettingFilter, + PubkeySettingOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + PubkeySettingSelect, + PubkeySettingWithRelations, + PubkeySettingFilter, + PubkeySettingOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const pubkeySettingsQueryKey = pubkeySettingKeys.list; +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = usePubkeySettingsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function usePubkeySettingsQuery< + S extends PubkeySettingSelect, + TData = { + pubkeySettings: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, PubkeySettingSelect>; + } & Omit< + UseQueryOptions< + { + pubkeySettings: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function usePubkeySettingsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: pubkeySettingKeys.list(args), + queryFn: () => getClient().pubkeySetting.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```ts + * const data = await fetchPubkeySettingsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchPubkeySettingsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, PubkeySettingSelect>; +}): Promise<{ + pubkeySettings: ConnectionResult>; +}>; +export async function fetchPubkeySettingsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs< + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy + >(params.selection); + return getClient().pubkeySetting.findMany(args).unwrap(); +} +/** + * Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries + * + * @example + * ```ts + * await prefetchPubkeySettingsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchPubkeySettingsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, PubkeySettingSelect>; + } +): Promise; +export async function prefetchPubkeySettingsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs< + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: pubkeySettingKeys.list(args), + queryFn: () => getClient().pubkeySetting.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useRlsSettingQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useRlsSettingQuery.ts new file mode 100644 index 000000000..6f45b0c1f --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useRlsSettingQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { rlsSettingKeys } from '../query-keys'; +import type { RlsSettingSelect, RlsSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { RlsSettingSelect, RlsSettingWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const rlsSettingQueryKey = rlsSettingKeys.detail; +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = useRlsSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useRlsSettingQuery< + S extends RlsSettingSelect, + TData = { + rlsSetting: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, RlsSettingSelect>; + } & Omit< + UseQueryOptions< + { + rlsSetting: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useRlsSettingQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: rlsSettingKeys.detail(params.id), + queryFn: () => + getClient() + .rlsSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```ts + * const data = await fetchRlsSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchRlsSettingQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, RlsSettingSelect>; +}): Promise<{ + rlsSetting: InferSelectResult | null; +}>; +export async function fetchRlsSettingQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .rlsSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```ts + * await prefetchRlsSettingQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchRlsSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, RlsSettingSelect>; + } +): Promise; +export async function prefetchRlsSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: rlsSettingKeys.detail(params.id), + queryFn: () => + getClient() + .rlsSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useRlsSettingsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useRlsSettingsQuery.ts new file mode 100644 index 000000000..648c90227 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useRlsSettingsQuery.ts @@ -0,0 +1,145 @@ +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { rlsSettingKeys } from '../query-keys'; +import type { + RlsSettingSelect, + RlsSettingWithRelations, + RlsSettingFilter, + RlsSettingOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + RlsSettingSelect, + RlsSettingWithRelations, + RlsSettingFilter, + RlsSettingOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const rlsSettingsQueryKey = rlsSettingKeys.list; +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = useRlsSettingsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useRlsSettingsQuery< + S extends RlsSettingSelect, + TData = { + rlsSettings: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, RlsSettingSelect>; + } & Omit< + UseQueryOptions< + { + rlsSettings: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useRlsSettingsQuery( + params: { + selection: ListSelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs( + params.selection + ); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: rlsSettingKeys.list(args), + queryFn: () => getClient().rlsSetting.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```ts + * const data = await fetchRlsSettingsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchRlsSettingsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, RlsSettingSelect>; +}): Promise<{ + rlsSettings: ConnectionResult>; +}>; +export async function fetchRlsSettingsQuery(params: { + selection: ListSelectionConfig; +}) { + const args = buildListSelectionArgs( + params.selection + ); + return getClient().rlsSetting.findMany(args).unwrap(); +} +/** + * Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries + * + * @example + * ```ts + * await prefetchRlsSettingsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchRlsSettingsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, RlsSettingSelect>; + } +): Promise; +export async function prefetchRlsSettingsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig; + } +): Promise { + const args = buildListSelectionArgs( + params.selection + ); + await queryClient.prefetchQuery({ + queryKey: rlsSettingKeys.list(args), + queryFn: () => getClient().rlsSetting.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useWebauthnSettingQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useWebauthnSettingQuery.ts new file mode 100644 index 000000000..90fadfdaa --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useWebauthnSettingQuery.ts @@ -0,0 +1,138 @@ +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildSelectionArgs } from '../selection'; +import type { SelectionConfig } from '../selection'; +import { webauthnSettingKeys } from '../query-keys'; +import type { WebauthnSettingSelect, WebauthnSettingWithRelations } from '../../orm/input-types'; +import type { InferSelectResult, HookStrictSelect } from '../../orm/select-types'; +export type { WebauthnSettingSelect, WebauthnSettingWithRelations } from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const webauthnSettingQueryKey = webauthnSettingKeys.detail; +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = useWebauthnSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true, name: true } }, + * }); + * ``` + */ +export function useWebauthnSettingQuery< + S extends WebauthnSettingSelect, + TData = { + webauthnSetting: InferSelectResult | null; + }, +>( + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, WebauthnSettingSelect>; + } & Omit< + UseQueryOptions< + { + webauthnSetting: InferSelectResult | null; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useWebauthnSettingQuery( + params: { + id: string; + selection: SelectionConfig; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildSelectionArgs(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: webauthnSettingKeys.detail(params.id), + queryFn: () => + getClient() + .webauthnSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + ...queryOptions, + }); +} +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```ts + * const data = await fetchWebauthnSettingQuery({ + * id: 'some-id', + * selection: { fields: { id: true } }, + * }); + * ``` + */ +export async function fetchWebauthnSettingQuery(params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, WebauthnSettingSelect>; +}): Promise<{ + webauthnSetting: InferSelectResult | null; +}>; +export async function fetchWebauthnSettingQuery(params: { + id: string; + selection: SelectionConfig; +}) { + const args = buildSelectionArgs(params.selection); + return getClient() + .webauthnSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(); +} +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```ts + * await prefetchWebauthnSettingQuery(queryClient, { id: 'some-id', selection: { fields: { id: true } } }); + * ``` + */ +export async function prefetchWebauthnSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: { + fields: S; + } & HookStrictSelect, WebauthnSettingSelect>; + } +): Promise; +export async function prefetchWebauthnSettingQuery( + queryClient: QueryClient, + params: { + id: string; + selection: SelectionConfig; + } +): Promise { + const args = buildSelectionArgs(params.selection); + await queryClient.prefetchQuery({ + queryKey: webauthnSettingKeys.detail(params.id), + queryFn: () => + getClient() + .webauthnSetting.findOne({ + id: params.id, + select: args.select, + }) + .unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/queries/useWebauthnSettingsQuery.ts b/sdk/constructive-react/src/public/hooks/queries/useWebauthnSettingsQuery.ts new file mode 100644 index 000000000..efdfdcd26 --- /dev/null +++ b/sdk/constructive-react/src/public/hooks/queries/useWebauthnSettingsQuery.ts @@ -0,0 +1,163 @@ +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ + +import { useQuery } from '@tanstack/react-query'; +import type { UseQueryOptions, UseQueryResult, QueryClient } from '@tanstack/react-query'; +import { getClient } from '../client'; +import { buildListSelectionArgs } from '../selection'; +import type { ListSelectionConfig } from '../selection'; +import { webauthnSettingKeys } from '../query-keys'; +import type { + WebauthnSettingSelect, + WebauthnSettingWithRelations, + WebauthnSettingFilter, + WebauthnSettingOrderBy, +} from '../../orm/input-types'; +import type { + FindManyArgs, + InferSelectResult, + ConnectionResult, + HookStrictSelect, +} from '../../orm/select-types'; +export type { + WebauthnSettingSelect, + WebauthnSettingWithRelations, + WebauthnSettingFilter, + WebauthnSettingOrderBy, +} from '../../orm/input-types'; +/** Query key factory - re-exported from query-keys.ts */ +export const webauthnSettingsQueryKey = webauthnSettingKeys.list; +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```tsx + * const { data, isLoading } = useWebauthnSettingsQuery({ + * selection: { + * fields: { id: true, name: true }, + * where: { name: { equalTo: "example" } }, + * orderBy: ['CREATED_AT_DESC'], + * first: 10, + * }, + * }); + * ``` + */ +export function useWebauthnSettingsQuery< + S extends WebauthnSettingSelect, + TData = { + webauthnSettings: ConnectionResult>; + }, +>( + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, WebauthnSettingSelect>; + } & Omit< + UseQueryOptions< + { + webauthnSettings: ConnectionResult>; + }, + Error, + TData + >, + 'queryKey' | 'queryFn' + > +): UseQueryResult; +export function useWebauthnSettingsQuery( + params: { + selection: ListSelectionConfig< + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy + >; + } & Omit, 'queryKey' | 'queryFn'> +) { + const args = buildListSelectionArgs< + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy + >(params.selection); + const { selection: _selection, ...queryOptions } = params ?? {}; + void _selection; + return useQuery({ + queryKey: webauthnSettingKeys.list(args), + queryFn: () => getClient().webauthnSetting.findMany(args).unwrap(), + ...queryOptions, + }); +} +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```ts + * const data = await fetchWebauthnSettingsQuery({ + * selection: { + * fields: { id: true }, + * first: 10, + * }, + * }); + * ``` + */ +export async function fetchWebauthnSettingsQuery(params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, WebauthnSettingSelect>; +}): Promise<{ + webauthnSettings: ConnectionResult>; +}>; +export async function fetchWebauthnSettingsQuery(params: { + selection: ListSelectionConfig< + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy + >; +}) { + const args = buildListSelectionArgs< + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy + >(params.selection); + return getClient().webauthnSetting.findMany(args).unwrap(); +} +/** + * Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries + * + * @example + * ```ts + * await prefetchWebauthnSettingsQuery(queryClient, { selection: { fields: { id: true }, first: 10 } }); + * ``` + */ +export async function prefetchWebauthnSettingsQuery( + queryClient: QueryClient, + params: { + selection: { + fields: S; + } & Omit, 'fields'> & + HookStrictSelect, WebauthnSettingSelect>; + } +): Promise; +export async function prefetchWebauthnSettingsQuery( + queryClient: QueryClient, + params: { + selection: ListSelectionConfig< + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy + >; + } +): Promise { + const args = buildListSelectionArgs< + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy + >(params.selection); + await queryClient.prefetchQuery({ + queryKey: webauthnSettingKeys.list(args), + queryFn: () => getClient().webauthnSetting.findMany(args).unwrap(), + }); +} diff --git a/sdk/constructive-react/src/public/hooks/query-keys.ts b/sdk/constructive-react/src/public/hooks/query-keys.ts index c942401a5..d0aa3df36 100644 --- a/sdk/constructive-react/src/public/hooks/query-keys.ts +++ b/sdk/constructive-react/src/public/hooks/query-keys.ts @@ -136,6 +136,15 @@ export const spatialRelationKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...spatialRelationKeys.details(), id] as const, } as const; +export const partitionKeys = { + /** All partition queries */ all: ['partition'] as const, + /** List query keys */ lists: () => [...partitionKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...partitionKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...partitionKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...partitionKeys.details(), id] as const, +} as const; export const foreignKeyConstraintKeys = { /** All foreignKeyConstraint queries */ all: ['foreignkeyconstraint'] as const, /** List query keys */ lists: () => [...foreignKeyConstraintKeys.all, 'list'] as const, @@ -316,6 +325,15 @@ export const enumKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...enumKeys.details(), id] as const, } as const; +export const functionKeys = { + /** All function queries */ all: ['function'] as const, + /** List query keys */ lists: () => [...functionKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...functionKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...functionKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...functionKeys.details(), id] as const, +} as const; export const apiSchemaKeys = { /** All apiSchema queries */ all: ['apischema'] as const, /** List query keys */ lists: () => [...apiSchemaKeys.all, 'list'] as const, @@ -370,6 +388,15 @@ export const siteThemeKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...siteThemeKeys.details(), id] as const, } as const; +export const corsSettingKeys = { + /** All corsSetting queries */ all: ['corssetting'] as const, + /** List query keys */ lists: () => [...corsSettingKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...corsSettingKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...corsSettingKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...corsSettingKeys.details(), id] as const, +} as const; export const triggerFunctionKeys = { /** All triggerFunction queries */ all: ['triggerfunction'] as const, /** List query keys */ lists: () => [...triggerFunctionKeys.all, 'list'] as const, @@ -415,6 +442,15 @@ export const appKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appKeys.details(), id] as const, } as const; +export const apiSettingKeys = { + /** All apiSetting queries */ all: ['apisetting'] as const, + /** List query keys */ lists: () => [...apiSettingKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...apiSettingKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...apiSettingKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...apiSettingKeys.details(), id] as const, +} as const; export const connectedAccountsModuleKeys = { /** All connectedAccountsModule queries */ all: ['connectedaccountsmodule'] as const, /** List query keys */ lists: () => [...connectedAccountsModuleKeys.all, 'list'] as const, @@ -784,6 +820,33 @@ export const appLimitKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appLimitKeys.details(), id] as const, } as const; +export const appLimitCreditKeys = { + /** All appLimitCredit queries */ all: ['applimitcredit'] as const, + /** List query keys */ lists: () => [...appLimitCreditKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditKeys.details(), id] as const, +} as const; +export const appLimitCreditCodeItemKeys = { + /** All appLimitCreditCodeItem queries */ all: ['applimitcreditcodeitem'] as const, + /** List query keys */ lists: () => [...appLimitCreditCodeItemKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditCodeItemKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditCodeItemKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditCodeItemKeys.details(), id] as const, +} as const; +export const appLimitCreditRedemptionKeys = { + /** All appLimitCreditRedemption queries */ all: ['applimitcreditredemption'] as const, + /** List query keys */ lists: () => [...appLimitCreditRedemptionKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditRedemptionKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditRedemptionKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditRedemptionKeys.details(), id] as const, +} as const; export const orgLimitKeys = { /** All orgLimit queries */ all: ['orglimit'] as const, /** List query keys */ lists: () => [...orgLimitKeys.all, 'list'] as const, @@ -793,6 +856,15 @@ export const orgLimitKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgLimitKeys.details(), id] as const, } as const; +export const orgLimitCreditKeys = { + /** All orgLimitCredit queries */ all: ['orglimitcredit'] as const, + /** List query keys */ lists: () => [...orgLimitCreditKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitCreditKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitCreditKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitCreditKeys.details(), id] as const, +} as const; export const orgLimitAggregateKeys = { /** All orgLimitAggregate queries */ all: ['orglimitaggregate'] as const, /** List query keys */ lists: () => [...orgLimitAggregateKeys.all, 'list'] as const, @@ -982,6 +1054,51 @@ export const appPermissionDefaultKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appPermissionDefaultKeys.details(), id] as const, } as const; +export const appLimitCreditCodeKeys = { + /** All appLimitCreditCode queries */ all: ['applimitcreditcode'] as const, + /** List query keys */ lists: () => [...appLimitCreditCodeKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCreditCodeKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCreditCodeKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCreditCodeKeys.details(), id] as const, +} as const; +export const appLimitCapsDefaultKeys = { + /** All appLimitCapsDefault queries */ all: ['applimitcapsdefault'] as const, + /** List query keys */ lists: () => [...appLimitCapsDefaultKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCapsDefaultKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCapsDefaultKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCapsDefaultKeys.details(), id] as const, +} as const; +export const orgLimitCapsDefaultKeys = { + /** All orgLimitCapsDefault queries */ all: ['orglimitcapsdefault'] as const, + /** List query keys */ lists: () => [...orgLimitCapsDefaultKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitCapsDefaultKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitCapsDefaultKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitCapsDefaultKeys.details(), id] as const, +} as const; +export const appLimitCapKeys = { + /** All appLimitCap queries */ all: ['applimitcap'] as const, + /** List query keys */ lists: () => [...appLimitCapKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...appLimitCapKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...appLimitCapKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...appLimitCapKeys.details(), id] as const, +} as const; +export const orgLimitCapKeys = { + /** All orgLimitCap queries */ all: ['orglimitcap'] as const, + /** List query keys */ lists: () => [...orgLimitCapKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...orgLimitCapKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...orgLimitCapKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...orgLimitCapKeys.details(), id] as const, +} as const; export const membershipTypeKeys = { /** All membershipType queries */ all: ['membershiptype'] as const, /** List query keys */ lists: () => [...membershipTypeKeys.all, 'list'] as const, @@ -1054,6 +1171,15 @@ export const commitKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...commitKeys.details(), id] as const, } as const; +export const pubkeySettingKeys = { + /** All pubkeySetting queries */ all: ['pubkeysetting'] as const, + /** List query keys */ lists: () => [...pubkeySettingKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...pubkeySettingKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...pubkeySettingKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...pubkeySettingKeys.details(), id] as const, +} as const; export const rateLimitsModuleKeys = { /** All rateLimitsModule queries */ all: ['ratelimitsmodule'] as const, /** List query keys */ lists: () => [...rateLimitsModuleKeys.all, 'list'] as const, @@ -1081,6 +1207,15 @@ export const orgMembershipDefaultKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgMembershipDefaultKeys.details(), id] as const, } as const; +export const rlsSettingKeys = { + /** All rlsSetting queries */ all: ['rlssetting'] as const, + /** List query keys */ lists: () => [...rlsSettingKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...rlsSettingKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...rlsSettingKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...rlsSettingKeys.details(), id] as const, +} as const; export const appLimitEventKeys = { /** All appLimitEvent queries */ all: ['applimitevent'] as const, /** List query keys */ lists: () => [...appLimitEventKeys.all, 'list'] as const, @@ -1099,15 +1234,6 @@ export const orgLimitEventKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgLimitEventKeys.details(), id] as const, } as const; -export const plansModuleKeys = { - /** All plansModule queries */ all: ['plansmodule'] as const, - /** List query keys */ lists: () => [...plansModuleKeys.all, 'list'] as const, - /** List query key with variables */ list: (variables?: object) => - [...plansModuleKeys.lists(), variables] as const, - /** Detail query keys */ details: () => [...plansModuleKeys.all, 'detail'] as const, - /** Detail query key for specific item */ detail: (id: string | number) => - [...plansModuleKeys.details(), id] as const, -} as const; export const rlsModuleKeys = { /** All rlsModule queries */ all: ['rlsmodule'] as const, /** List query keys */ lists: () => [...rlsModuleKeys.all, 'list'] as const, @@ -1117,6 +1243,24 @@ export const rlsModuleKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...rlsModuleKeys.details(), id] as const, } as const; +export const databaseSettingKeys = { + /** All databaseSetting queries */ all: ['databasesetting'] as const, + /** List query keys */ lists: () => [...databaseSettingKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...databaseSettingKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...databaseSettingKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...databaseSettingKeys.details(), id] as const, +} as const; +export const plansModuleKeys = { + /** All plansModule queries */ all: ['plansmodule'] as const, + /** List query keys */ lists: () => [...plansModuleKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...plansModuleKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...plansModuleKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...plansModuleKeys.details(), id] as const, +} as const; export const sqlActionKeys = { /** All sqlAction queries */ all: ['sqlaction'] as const, /** List query keys */ lists: () => [...sqlActionKeys.all, 'list'] as const, @@ -1162,6 +1306,15 @@ export const orgMembershipSettingKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...orgMembershipSettingKeys.details(), id] as const, } as const; +export const webauthnSettingKeys = { + /** All webauthnSetting queries */ all: ['webauthnsetting'] as const, + /** List query keys */ lists: () => [...webauthnSettingKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...webauthnSettingKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...webauthnSettingKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...webauthnSettingKeys.details(), id] as const, +} as const; export const appMembershipKeys = { /** All appMembership queries */ all: ['appmembership'] as const, /** List query keys */ lists: () => [...appMembershipKeys.all, 'list'] as const, @@ -1171,6 +1324,15 @@ export const appMembershipKeys = { /** Detail query key for specific item */ detail: (id: string | number) => [...appMembershipKeys.details(), id] as const, } as const; +export const billingProviderModuleKeys = { + /** All billingProviderModule queries */ all: ['billingprovidermodule'] as const, + /** List query keys */ lists: () => [...billingProviderModuleKeys.all, 'list'] as const, + /** List query key with variables */ list: (variables?: object) => + [...billingProviderModuleKeys.lists(), variables] as const, + /** Detail query keys */ details: () => [...billingProviderModuleKeys.all, 'detail'] as const, + /** Detail query key for specific item */ detail: (id: string | number) => + [...billingProviderModuleKeys.details(), id] as const, +} as const; export const hierarchyModuleKeys = { /** All hierarchyModule queries */ all: ['hierarchymodule'] as const, /** List query keys */ lists: () => [...hierarchyModuleKeys.all, 'list'] as const, @@ -1266,6 +1428,7 @@ export const queryKeys = { checkConstraint: checkConstraintKeys, field: fieldKeys, spatialRelation: spatialRelationKeys, + partition: partitionKeys, foreignKeyConstraint: foreignKeyConstraintKeys, fullTextSearch: fullTextSearchKeys, index: indexKeys, @@ -1286,17 +1449,20 @@ export const queryKeys = { schemaGrant: schemaGrantKeys, defaultPrivilege: defaultPrivilegeKeys, enum: enumKeys, + function: functionKeys, apiSchema: apiSchemaKeys, apiModule: apiModuleKeys, domain: domainKeys, siteMetadatum: siteMetadatumKeys, siteModule: siteModuleKeys, siteTheme: siteThemeKeys, + corsSetting: corsSettingKeys, triggerFunction: triggerFunctionKeys, databaseTransfer: databaseTransferKeys, api: apiKeys, site: siteKeys, app: appKeys, + apiSetting: apiSettingKeys, connectedAccountsModule: connectedAccountsModuleKeys, cryptoAddressesModule: cryptoAddressesModuleKeys, cryptoAuthModule: cryptoAuthModuleKeys, @@ -1338,7 +1504,11 @@ export const queryKeys = { orgChartEdgeGrant: orgChartEdgeGrantKeys, orgPermissionDefault: orgPermissionDefaultKeys, appLimit: appLimitKeys, + appLimitCredit: appLimitCreditKeys, + appLimitCreditCodeItem: appLimitCreditCodeItemKeys, + appLimitCreditRedemption: appLimitCreditRedemptionKeys, orgLimit: orgLimitKeys, + orgLimitCredit: orgLimitCreditKeys, orgLimitAggregate: orgLimitAggregateKeys, appStep: appStepKeys, appAchievement: appAchievementKeys, @@ -1360,6 +1530,11 @@ export const queryKeys = { ref: refKeys, store: storeKeys, appPermissionDefault: appPermissionDefaultKeys, + appLimitCreditCode: appLimitCreditCodeKeys, + appLimitCapsDefault: appLimitCapsDefaultKeys, + orgLimitCapsDefault: orgLimitCapsDefaultKeys, + appLimitCap: appLimitCapKeys, + orgLimitCap: orgLimitCapKeys, membershipType: membershipTypeKeys, migrateFile: migrateFileKeys, devicesModule: devicesModuleKeys, @@ -1368,19 +1543,24 @@ export const queryKeys = { orgLimitDefault: orgLimitDefaultKeys, userConnectedAccount: userConnectedAccountKeys, commit: commitKeys, + pubkeySetting: pubkeySettingKeys, rateLimitsModule: rateLimitsModuleKeys, appMembershipDefault: appMembershipDefaultKeys, orgMembershipDefault: orgMembershipDefaultKeys, + rlsSetting: rlsSettingKeys, appLimitEvent: appLimitEventKeys, orgLimitEvent: orgLimitEventKeys, - plansModule: plansModuleKeys, rlsModule: rlsModuleKeys, + databaseSetting: databaseSettingKeys, + plansModule: plansModuleKeys, sqlAction: sqlActionKeys, billingModule: billingModuleKeys, astMigration: astMigrationKeys, user: userKeys, orgMembershipSetting: orgMembershipSettingKeys, + webauthnSetting: webauthnSettingKeys, appMembership: appMembershipKeys, + billingProviderModule: billingProviderModuleKeys, hierarchyModule: hierarchyModuleKeys, custom: customQueryKeys, } as const; diff --git a/sdk/constructive-react/src/public/orm/README.md b/sdk/constructive-react/src/public/orm/README.md index 910f95827..fd19e2e43 100644 --- a/sdk/constructive-react/src/public/orm/README.md +++ b/sdk/constructive-react/src/public/orm/README.md @@ -34,6 +34,7 @@ const db = createClient({ | `checkConstraint` | findMany, findOne, create, update, delete | | `field` | findMany, findOne, create, update, delete | | `spatialRelation` | findMany, findOne, create, update, delete | +| `partition` | findMany, findOne, create, update, delete | | `foreignKeyConstraint` | findMany, findOne, create, update, delete | | `fullTextSearch` | findMany, findOne, create, update, delete | | `index` | findMany, findOne, create, update, delete | @@ -54,17 +55,20 @@ const db = createClient({ | `schemaGrant` | findMany, findOne, create, update, delete | | `defaultPrivilege` | findMany, findOne, create, update, delete | | `enum` | findMany, findOne, create, update, delete | +| `function` | findMany, findOne, create, update, delete | | `apiSchema` | findMany, findOne, create, update, delete | | `apiModule` | findMany, findOne, create, update, delete | | `domain` | findMany, findOne, create, update, delete | | `siteMetadatum` | findMany, findOne, create, update, delete | | `siteModule` | findMany, findOne, create, update, delete | | `siteTheme` | findMany, findOne, create, update, delete | +| `corsSetting` | findMany, findOne, create, update, delete | | `triggerFunction` | findMany, findOne, create, update, delete | | `databaseTransfer` | findMany, findOne, create, update, delete | | `api` | findMany, findOne, create, update, delete | | `site` | findMany, findOne, create, update, delete | | `app` | findMany, findOne, create, update, delete | +| `apiSetting` | findMany, findOne, create, update, delete | | `connectedAccountsModule` | findMany, findOne, create, update, delete | | `cryptoAddressesModule` | findMany, findOne, create, update, delete | | `cryptoAuthModule` | findMany, findOne, create, update, delete | @@ -106,7 +110,11 @@ const db = createClient({ | `orgChartEdgeGrant` | findMany, findOne, create, update, delete | | `orgPermissionDefault` | findMany, findOne, create, update, delete | | `appLimit` | findMany, findOne, create, update, delete | +| `appLimitCredit` | findMany, findOne, create, update, delete | +| `appLimitCreditCodeItem` | findMany, findOne, create, update, delete | +| `appLimitCreditRedemption` | findMany, findOne, create, update, delete | | `orgLimit` | findMany, findOne, create, update, delete | +| `orgLimitCredit` | findMany, findOne, create, update, delete | | `orgLimitAggregate` | findMany, findOne, create, update, delete | | `appStep` | findMany, findOne, create, update, delete | | `appAchievement` | findMany, findOne, create, update, delete | @@ -128,6 +136,11 @@ const db = createClient({ | `ref` | findMany, findOne, create, update, delete | | `store` | findMany, findOne, create, update, delete | | `appPermissionDefault` | findMany, findOne, create, update, delete | +| `appLimitCreditCode` | findMany, findOne, create, update, delete | +| `appLimitCapsDefault` | findMany, findOne, create, update, delete | +| `orgLimitCapsDefault` | findMany, findOne, create, update, delete | +| `appLimitCap` | findMany, findOne, create, update, delete | +| `orgLimitCap` | findMany, findOne, create, update, delete | | `membershipType` | findMany, findOne, create, update, delete | | `migrateFile` | findMany, findOne, create, update, delete | | `devicesModule` | findMany, findOne, create, update, delete | @@ -136,19 +149,24 @@ const db = createClient({ | `orgLimitDefault` | findMany, findOne, create, update, delete | | `userConnectedAccount` | findMany, findOne, create, update, delete | | `commit` | findMany, findOne, create, update, delete | +| `pubkeySetting` | findMany, findOne, create, update, delete | | `rateLimitsModule` | findMany, findOne, create, update, delete | | `appMembershipDefault` | findMany, findOne, create, update, delete | | `orgMembershipDefault` | findMany, findOne, create, update, delete | +| `rlsSetting` | findMany, findOne, create, update, delete | | `appLimitEvent` | findMany, findOne, create, update, delete | | `orgLimitEvent` | findMany, findOne, create, update, delete | -| `plansModule` | findMany, findOne, create, update, delete | | `rlsModule` | findMany, findOne, create, update, delete | +| `databaseSetting` | findMany, findOne, create, update, delete | +| `plansModule` | findMany, findOne, create, update, delete | | `sqlAction` | findMany, findOne, create, update, delete | | `billingModule` | findMany, findOne, create, update, delete | | `astMigration` | findMany, findOne, create, update, delete | | `user` | findMany, findOne, create, update, delete | | `orgMembershipSetting` | findMany, findOne, create, update, delete | +| `webauthnSetting` | findMany, findOne, create, update, delete | | `appMembership` | findMany, findOne, create, update, delete | +| `billingProviderModule` | findMany, findOne, create, update, delete | | `hierarchyModule` | findMany, findOne, create, update, delete | ## Table Operations @@ -643,6 +661,45 @@ const updated = await db.spatialRelation.update({ where: { id: '' }, data: const deleted = await db.spatialRelation.delete({ where: { id: '' } }).execute(); ``` +### `db.partition` + +CRUD operations for Partition records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `tableId` | UUID | Yes | +| `strategy` | String | Yes | +| `partitionKeyId` | UUID | Yes | +| `interval` | String | Yes | +| `retention` | String | Yes | +| `lookahead` | Int | Yes | +| `namingPattern` | String | Yes | +| `createdAt` | Datetime | No | +| `updatedAt` | Datetime | No | + +**Operations:** + +```typescript +// List all partition records +const items = await db.partition.findMany({ select: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }).execute(); + +// Get one by id +const item = await db.partition.findOne({ id: '', select: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }).execute(); + +// Create +const created = await db.partition.create({ data: { databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.partition.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.partition.delete({ where: { id: '' } }).execute(); +``` + ### `db.foreignKeyConstraint` CRUD operations for ForeignKeyConstraint records. @@ -1438,6 +1495,38 @@ const updated = await db.enum.update({ where: { id: '' }, data: { database const deleted = await db.enum.delete({ where: { id: '' } }).execute(); ``` +### `db.function` + +CRUD operations for Function records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `name` | String | Yes | + +**Operations:** + +```typescript +// List all function records +const items = await db.function.findMany({ select: { id: true, databaseId: true, schemaId: true, name: true } }).execute(); + +// Get one by id +const item = await db.function.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, name: true } }).execute(); + +// Create +const created = await db.function.create({ data: { databaseId: '', schemaId: '', name: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.function.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.function.delete({ where: { id: '' } }).execute(); +``` + ### `db.apiSchema` CRUD operations for ApiSchema records. @@ -1636,6 +1725,38 @@ const updated = await db.siteTheme.update({ where: { id: '' }, data: { dat const deleted = await db.siteTheme.delete({ where: { id: '' } }).execute(); ``` +### `db.corsSetting` + +CRUD operations for CorsSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `apiId` | UUID | Yes | +| `allowedOrigins` | String | Yes | + +**Operations:** + +```typescript +// List all corsSetting records +const items = await db.corsSetting.findMany({ select: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }).execute(); + +// Get one by id +const item = await db.corsSetting.findOne({ id: '', select: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }).execute(); + +// Create +const created = await db.corsSetting.create({ data: { databaseId: '', apiId: '', allowedOrigins: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.corsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.corsSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.triggerFunction` CRUD operations for TriggerFunction records. @@ -1821,6 +1942,47 @@ const updated = await db.app.update({ where: { id: '' }, data: { databaseI const deleted = await db.app.delete({ where: { id: '' } }).execute(); ``` +### `db.apiSetting` + +CRUD operations for ApiSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `apiId` | UUID | Yes | +| `enableAggregates` | Boolean | Yes | +| `enablePostgis` | Boolean | Yes | +| `enableSearch` | Boolean | Yes | +| `enableDirectUploads` | Boolean | Yes | +| `enablePresignedUploads` | Boolean | Yes | +| `enableManyToMany` | Boolean | Yes | +| `enableConnectionFilter` | Boolean | Yes | +| `enableLtree` | Boolean | Yes | +| `enableLlm` | Boolean | Yes | +| `options` | JSON | Yes | + +**Operations:** + +```typescript +// List all apiSetting records +const items = await db.apiSetting.findMany({ select: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Get one by id +const item = await db.apiSetting.findOne({ id: '', select: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Create +const created = await db.apiSetting.create({ data: { databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.apiSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.apiSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.connectedAccountsModule` CRUD operations for ConnectedAccountsModule records. @@ -2190,7 +2352,16 @@ CRUD operations for LimitsModule records. | `limitDecrementTrigger` | String | Yes | | `limitUpdateTrigger` | String | Yes | | `limitCheckFunction` | String | Yes | +| `limitCreditsTableId` | UUID | Yes | +| `eventsTableId` | UUID | Yes | +| `creditCodesTableId` | UUID | Yes | +| `creditCodeItemsTableId` | UUID | Yes | +| `creditRedemptionsTableId` | UUID | Yes | | `aggregateTableId` | UUID | Yes | +| `limitCapsTableId` | UUID | Yes | +| `limitCapsDefaultsTableId` | UUID | Yes | +| `capCheckTrigger` | String | Yes | +| `resolveCapFunction` | String | Yes | | `prefix` | String | Yes | | `membershipType` | Int | Yes | | `entityTableId` | UUID | Yes | @@ -2200,13 +2371,13 @@ CRUD operations for LimitsModule records. ```typescript // List all limitsModule records -const items = await db.limitsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); +const items = await db.limitsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); // Get one by id -const item = await db.limitsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); +const item = await db.limitsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); // Create -const created = await db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); +const created = await db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); // Update const updated = await db.limitsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -2751,23 +2922,32 @@ CRUD operations for StorageModule records. | `provider` | String | Yes | | `allowedOrigins` | String | Yes | | `restrictReads` | Boolean | Yes | +| `hasPathShares` | Boolean | Yes | +| `pathSharesTableId` | UUID | Yes | | `uploadUrlExpirySeconds` | Int | Yes | | `downloadUrlExpirySeconds` | Int | Yes | | `defaultMaxFileSize` | BigInt | Yes | | `maxFilenameLength` | Int | Yes | | `cacheTtlSeconds` | Int | Yes | +| `maxBulkFiles` | Int | Yes | +| `maxBulkTotalSize` | BigInt | Yes | +| `hasVersioning` | Boolean | Yes | +| `hasContentHash` | Boolean | Yes | +| `hasCustomKeys` | Boolean | Yes | +| `hasAuditLog` | Boolean | Yes | +| `fileEventsTableId` | UUID | Yes | **Operations:** ```typescript // List all storageModule records -const items = await db.storageModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }).execute(); +const items = await db.storageModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }).execute(); // Get one by id -const item = await db.storageModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }).execute(); +const item = await db.storageModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }).execute(); // Create -const created = await db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }, select: { id: true } }).execute(); +const created = await db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }, select: { id: true } }).execute(); // Update const updated = await db.storageModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -2807,19 +2987,20 @@ CRUD operations for EntityTypeProvision records. | `outStorageModuleId` | UUID | Yes | | `outBucketsTableId` | UUID | Yes | | `outFilesTableId` | UUID | Yes | +| `outPathSharesTableId` | UUID | Yes | | `outInvitesModuleId` | UUID | Yes | **Operations:** ```typescript // List all entityTypeProvision records -const items = await db.entityTypeProvision.findMany({ select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }).execute(); +const items = await db.entityTypeProvision.findMany({ select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }).execute(); // Get one by id -const item = await db.entityTypeProvision.findOne({ id: '', select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }).execute(); +const item = await db.entityTypeProvision.findOne({ id: '', select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }).execute(); // Create -const created = await db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); +const created = await db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); // Update const updated = await db.entityTypeProvision.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -3440,18 +3621,21 @@ CRUD operations for AppLimit records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | **Operations:** ```typescript // List all appLimit records -const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Get one by id -const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Create -const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); +const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); // Update const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -3460,6 +3644,104 @@ const updated = await db.appLimit.update({ where: { id: '' }, data: { name const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCredit` + +CRUD operations for AppLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCredit records +const items = await db.appLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.appLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCredit.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditCodeItem` + +CRUD operations for AppLimitCreditCodeItem records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `defaultLimitId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCodeItem records +const items = await db.appLimitCreditCodeItem.findMany({ select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Create +const created = await db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditRedemption` + +CRUD operations for AppLimitCreditRedemption records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditRedemption records +const items = await db.appLimitCreditRedemption.findMany({ select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditRedemption.findOne({ id: '', select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Create +const created = await db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgLimit` CRUD operations for OrgLimit records. @@ -3476,19 +3758,22 @@ CRUD operations for OrgLimit records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | | `entityId` | UUID | Yes | **Operations:** ```typescript // List all orgLimit records -const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); // Get one by id -const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); // Create -const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute(); +const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); // Update const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -3497,6 +3782,41 @@ const updated = await db.orgLimit.update({ where: { id: '' }, data: { name const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitCredit` + +CRUD operations for OrgLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `entityId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all orgLimitCredit records +const items = await db.orgLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgLimitAggregate` CRUD operations for OrgLimitAggregate records. @@ -3513,18 +3833,22 @@ CRUD operations for OrgLimitAggregate records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `reserved` | BigInt | Yes | **Operations:** ```typescript // List all orgLimitAggregate records -const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); // Get one by id -const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); // Create -const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); +const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); // Update const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -4247,6 +4571,165 @@ const updated = await db.appPermissionDefault.update({ where: { id: '' }, const deleted = await db.appPermissionDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditCode` + +CRUD operations for AppLimitCreditCode records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `code` | String | Yes | +| `maxRedemptions` | Int | Yes | +| `currentRedemptions` | Int | Yes | +| `expiresAt` | Datetime | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCode records +const items = await db.appLimitCreditCode.findMany({ select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCode.findOne({ id: '', select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Create +const created = await db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCode.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCapsDefault` + +CRUD operations for AppLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCapsDefault records +const items = await db.appLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCapsDefault` + +CRUD operations for OrgLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCapsDefault records +const items = await db.orgLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCap` + +CRUD operations for AppLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCap records +const items = await db.appLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCap.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCap` + +CRUD operations for OrgLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCap records +const items = await db.orgLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCap.delete({ where: { id: '' } }).execute(); +``` + ### `db.membershipType` CRUD operations for MembershipType records. @@ -4519,6 +5002,43 @@ const updated = await db.commit.update({ where: { id: '' }, data: { messag const deleted = await db.commit.delete({ where: { id: '' } }).execute(); ``` +### `db.pubkeySetting` + +CRUD operations for PubkeySetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `cryptoNetwork` | String | Yes | +| `userField` | String | Yes | +| `signUpWithKeyFunctionId` | UUID | Yes | +| `signInRequestChallengeFunctionId` | UUID | Yes | +| `signInRecordFailureFunctionId` | UUID | Yes | +| `signInWithChallengeFunctionId` | UUID | Yes | + +**Operations:** + +```typescript +// List all pubkeySetting records +const items = await db.pubkeySetting.findMany({ select: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }).execute(); + +// Get one by id +const item = await db.pubkeySetting.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }).execute(); + +// Create +const created = await db.pubkeySetting.create({ data: { databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.pubkeySetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.pubkeySetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.rateLimitsModule` CRUD operations for RateLimitsModule records. @@ -4626,6 +5146,44 @@ const updated = await db.orgMembershipDefault.update({ where: { id: '' }, const deleted = await db.orgMembershipDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.rlsSetting` + +CRUD operations for RlsSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `authenticateSchemaId` | UUID | Yes | +| `roleSchemaId` | UUID | Yes | +| `authenticateFunctionId` | UUID | Yes | +| `authenticateStrictFunctionId` | UUID | Yes | +| `currentRoleFunctionId` | UUID | Yes | +| `currentRoleIdFunctionId` | UUID | Yes | +| `currentUserAgentFunctionId` | UUID | Yes | +| `currentIpAddressFunctionId` | UUID | Yes | + +**Operations:** + +```typescript +// List all rlsSetting records +const items = await db.rlsSetting.findMany({ select: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }).execute(); + +// Get one by id +const item = await db.rlsSetting.findOne({ id: '', select: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }).execute(); + +// Create +const created = await db.rlsSetting.create({ data: { databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.rlsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.rlsSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.appLimitEvent` CRUD operations for AppLimitEvent records. @@ -4700,9 +5258,9 @@ const updated = await db.orgLimitEvent.update({ where: { id: '' }, data: { const deleted = await db.orgLimitEvent.delete({ where: { id: '' } }).execute(); ``` -### `db.plansModule` +### `db.rlsModule` -CRUD operations for PlansModule records. +CRUD operations for RlsModule records. **Fields:** @@ -4712,36 +5270,76 @@ CRUD operations for PlansModule records. | `databaseId` | UUID | Yes | | `schemaId` | UUID | Yes | | `privateSchemaId` | UUID | Yes | -| `plansTableId` | UUID | Yes | -| `plansTableName` | String | Yes | -| `planLimitsTableId` | UUID | Yes | -| `planLimitsTableName` | String | Yes | -| `applyPlanFunction` | String | Yes | -| `applyPlanAggregateFunction` | String | Yes | -| `prefix` | String | Yes | +| `sessionCredentialsTableId` | UUID | Yes | +| `sessionsTableId` | UUID | Yes | +| `usersTableId` | UUID | Yes | +| `authenticate` | String | Yes | +| `authenticateStrict` | String | Yes | +| `currentRole` | String | Yes | +| `currentRoleId` | String | Yes | **Operations:** ```typescript -// List all plansModule records -const items = await db.plansModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); +// List all rlsModule records +const items = await db.rlsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); // Get one by id -const item = await db.plansModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); +const item = await db.rlsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); // Create -const created = await db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); +const created = await db.rlsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }, select: { id: true } }).execute(); // Update -const updated = await db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); +const updated = await db.rlsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.plansModule.delete({ where: { id: '' } }).execute(); +const deleted = await db.rlsModule.delete({ where: { id: '' } }).execute(); ``` -### `db.rlsModule` +### `db.databaseSetting` -CRUD operations for RlsModule records. +CRUD operations for DatabaseSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `enableAggregates` | Boolean | Yes | +| `enablePostgis` | Boolean | Yes | +| `enableSearch` | Boolean | Yes | +| `enableDirectUploads` | Boolean | Yes | +| `enablePresignedUploads` | Boolean | Yes | +| `enableManyToMany` | Boolean | Yes | +| `enableConnectionFilter` | Boolean | Yes | +| `enableLtree` | Boolean | Yes | +| `enableLlm` | Boolean | Yes | +| `options` | JSON | Yes | + +**Operations:** + +```typescript +// List all databaseSetting records +const items = await db.databaseSetting.findMany({ select: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Get one by id +const item = await db.databaseSetting.findOne({ id: '', select: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Create +const created = await db.databaseSetting.create({ data: { databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.databaseSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.databaseSetting.delete({ where: { id: '' } }).execute(); +``` + +### `db.plansModule` + +CRUD operations for PlansModule records. **Fields:** @@ -4751,31 +5349,33 @@ CRUD operations for RlsModule records. | `databaseId` | UUID | Yes | | `schemaId` | UUID | Yes | | `privateSchemaId` | UUID | Yes | -| `sessionCredentialsTableId` | UUID | Yes | -| `sessionsTableId` | UUID | Yes | -| `usersTableId` | UUID | Yes | -| `authenticate` | String | Yes | -| `authenticateStrict` | String | Yes | -| `currentRole` | String | Yes | -| `currentRoleId` | String | Yes | +| `plansTableId` | UUID | Yes | +| `plansTableName` | String | Yes | +| `planLimitsTableId` | UUID | Yes | +| `planLimitsTableName` | String | Yes | +| `planPricingTableId` | UUID | Yes | +| `planOverridesTableId` | UUID | Yes | +| `applyPlanFunction` | String | Yes | +| `applyPlanAggregateFunction` | String | Yes | +| `prefix` | String | Yes | **Operations:** ```typescript -// List all rlsModule records -const items = await db.rlsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); +// List all plansModule records +const items = await db.plansModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); // Get one by id -const item = await db.rlsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); +const item = await db.plansModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); // Create -const created = await db.rlsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }, select: { id: true } }).execute(); +const created = await db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); // Update -const updated = await db.rlsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); +const updated = await db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.rlsModule.delete({ where: { id: '' } }).execute(); +const deleted = await db.plansModule.delete({ where: { id: '' } }).execute(); ``` ### `db.sqlAction` @@ -4986,6 +5586,52 @@ const updated = await db.orgMembershipSetting.update({ where: { id: '' }, const deleted = await db.orgMembershipSetting.delete({ where: { id: '' } }).execute(); ``` +### `db.webauthnSetting` + +CRUD operations for WebauthnSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `credentialsSchemaId` | UUID | Yes | +| `sessionsSchemaId` | UUID | Yes | +| `sessionSecretsSchemaId` | UUID | Yes | +| `credentialsTableId` | UUID | Yes | +| `sessionsTableId` | UUID | Yes | +| `sessionCredentialsTableId` | UUID | Yes | +| `sessionSecretsTableId` | UUID | Yes | +| `userFieldId` | UUID | Yes | +| `rpId` | String | Yes | +| `rpName` | String | Yes | +| `originAllowlist` | String | Yes | +| `attestationType` | String | Yes | +| `requireUserVerification` | Boolean | Yes | +| `residentKey` | String | Yes | +| `challengeExpirySeconds` | BigInt | Yes | + +**Operations:** + +```typescript +// List all webauthnSetting records +const items = await db.webauthnSetting.findMany({ select: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }).execute(); + +// Get one by id +const item = await db.webauthnSetting.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }).execute(); + +// Create +const created = await db.webauthnSetting.create({ data: { databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.webauthnSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.webauthnSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.appMembership` CRUD operations for AppMembership records. @@ -5030,6 +5676,54 @@ const updated = await db.appMembership.update({ where: { id: '' }, data: { const deleted = await db.appMembership.delete({ where: { id: '' } }).execute(); ``` +### `db.billingProviderModule` + +CRUD operations for BillingProviderModule records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `privateSchemaId` | UUID | Yes | +| `provider` | String | Yes | +| `productsTableId` | UUID | Yes | +| `pricesTableId` | UUID | Yes | +| `subscriptionsTableId` | UUID | Yes | +| `billingCustomersTableId` | UUID | Yes | +| `billingCustomersTableName` | String | Yes | +| `billingProductsTableId` | UUID | Yes | +| `billingProductsTableName` | String | Yes | +| `billingPricesTableId` | UUID | Yes | +| `billingPricesTableName` | String | Yes | +| `billingSubscriptionsTableId` | UUID | Yes | +| `billingSubscriptionsTableName` | String | Yes | +| `billingWebhookEventsTableId` | UUID | Yes | +| `billingWebhookEventsTableName` | String | Yes | +| `processBillingEventFunction` | String | Yes | +| `prefix` | String | Yes | + +**Operations:** + +```typescript +// List all billingProviderModule records +const items = await db.billingProviderModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }).execute(); + +// Get one by id +const item = await db.billingProviderModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }).execute(); + +// Create +const created = await db.billingProviderModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.billingProviderModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.billingProviderModule.delete({ where: { id: '' } }).execute(); +``` + ### `db.hierarchyModule` CRUD operations for HierarchyModule records. @@ -5818,6 +6512,21 @@ setFieldOrder const result = await db.mutation.setFieldOrder({ input: { fieldIds: '' } }).execute(); ``` +### `db.mutation.appendSmartTags` + +appendSmartTags + +- **Type:** mutation +- **Arguments:** + + | Argument | Type | + |----------|------| + | `input` | AppendSmartTagsInput (required) | + +```typescript +const result = await db.mutation.appendSmartTags({ input: { pTableId: '', pTags: '' } }).execute(); +``` + ### `db.mutation.provisionUniqueConstraint` Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -6149,24 +6858,6 @@ Composable table provisioning: creates or finds a table, then creates fields (so const result = await db.mutation.provisionTable({ input: '' }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-react/src/public/orm/index.ts b/sdk/constructive-react/src/public/orm/index.ts index 4dca904e1..2eed6f3e8 100644 --- a/sdk/constructive-react/src/public/orm/index.ts +++ b/sdk/constructive-react/src/public/orm/index.ts @@ -18,6 +18,7 @@ import { TableModel } from './models/table'; import { CheckConstraintModel } from './models/checkConstraint'; import { FieldModel } from './models/field'; import { SpatialRelationModel } from './models/spatialRelation'; +import { PartitionModel } from './models/partition'; import { ForeignKeyConstraintModel } from './models/foreignKeyConstraint'; import { FullTextSearchModel } from './models/fullTextSearch'; import { IndexModel } from './models/index'; @@ -38,17 +39,20 @@ import { IdentityProvidersModuleModel } from './models/identityProvidersModule'; import { SchemaGrantModel } from './models/schemaGrant'; import { DefaultPrivilegeModel } from './models/defaultPrivilege'; import { EnumModel } from './models/enum'; +import { FunctionModel } from './models/function'; import { ApiSchemaModel } from './models/apiSchema'; import { ApiModuleModel } from './models/apiModule'; import { DomainModel } from './models/domain'; import { SiteMetadatumModel } from './models/siteMetadatum'; import { SiteModuleModel } from './models/siteModule'; import { SiteThemeModel } from './models/siteTheme'; +import { CorsSettingModel } from './models/corsSetting'; import { TriggerFunctionModel } from './models/triggerFunction'; import { DatabaseTransferModel } from './models/databaseTransfer'; import { ApiModel } from './models/api'; import { SiteModel } from './models/site'; import { AppModel } from './models/app'; +import { ApiSettingModel } from './models/apiSetting'; import { ConnectedAccountsModuleModel } from './models/connectedAccountsModule'; import { CryptoAddressesModuleModel } from './models/cryptoAddressesModule'; import { CryptoAuthModuleModel } from './models/cryptoAuthModule'; @@ -90,7 +94,11 @@ import { OrgChartEdgeModel } from './models/orgChartEdge'; import { OrgChartEdgeGrantModel } from './models/orgChartEdgeGrant'; import { OrgPermissionDefaultModel } from './models/orgPermissionDefault'; import { AppLimitModel } from './models/appLimit'; +import { AppLimitCreditModel } from './models/appLimitCredit'; +import { AppLimitCreditCodeItemModel } from './models/appLimitCreditCodeItem'; +import { AppLimitCreditRedemptionModel } from './models/appLimitCreditRedemption'; import { OrgLimitModel } from './models/orgLimit'; +import { OrgLimitCreditModel } from './models/orgLimitCredit'; import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; import { AppStepModel } from './models/appStep'; import { AppAchievementModel } from './models/appAchievement'; @@ -112,6 +120,11 @@ import { IdentityProviderModel } from './models/identityProvider'; import { RefModel } from './models/ref'; import { StoreModel } from './models/store'; import { AppPermissionDefaultModel } from './models/appPermissionDefault'; +import { AppLimitCreditCodeModel } from './models/appLimitCreditCode'; +import { AppLimitCapsDefaultModel } from './models/appLimitCapsDefault'; +import { OrgLimitCapsDefaultModel } from './models/orgLimitCapsDefault'; +import { AppLimitCapModel } from './models/appLimitCap'; +import { OrgLimitCapModel } from './models/orgLimitCap'; import { MembershipTypeModel } from './models/membershipType'; import { MigrateFileModel } from './models/migrateFile'; import { DevicesModuleModel } from './models/devicesModule'; @@ -120,19 +133,24 @@ import { AppLimitDefaultModel } from './models/appLimitDefault'; import { OrgLimitDefaultModel } from './models/orgLimitDefault'; import { UserConnectedAccountModel } from './models/userConnectedAccount'; import { CommitModel } from './models/commit'; +import { PubkeySettingModel } from './models/pubkeySetting'; import { RateLimitsModuleModel } from './models/rateLimitsModule'; import { AppMembershipDefaultModel } from './models/appMembershipDefault'; import { OrgMembershipDefaultModel } from './models/orgMembershipDefault'; +import { RlsSettingModel } from './models/rlsSetting'; import { AppLimitEventModel } from './models/appLimitEvent'; import { OrgLimitEventModel } from './models/orgLimitEvent'; -import { PlansModuleModel } from './models/plansModule'; import { RlsModuleModel } from './models/rlsModule'; +import { DatabaseSettingModel } from './models/databaseSetting'; +import { PlansModuleModel } from './models/plansModule'; import { SqlActionModel } from './models/sqlAction'; import { BillingModuleModel } from './models/billingModule'; import { AstMigrationModel } from './models/astMigration'; import { UserModel } from './models/user'; import { OrgMembershipSettingModel } from './models/orgMembershipSetting'; +import { WebauthnSettingModel } from './models/webauthnSetting'; import { AppMembershipModel } from './models/appMembership'; +import { BillingProviderModuleModel } from './models/billingProviderModule'; import { HierarchyModuleModel } from './models/hierarchyModule'; import { createQueryOperations } from './query'; import { createMutationOperations } from './mutation'; @@ -182,6 +200,7 @@ export function createClient(config: OrmClientConfig) { checkConstraint: new CheckConstraintModel(client), field: new FieldModel(client), spatialRelation: new SpatialRelationModel(client), + partition: new PartitionModel(client), foreignKeyConstraint: new ForeignKeyConstraintModel(client), fullTextSearch: new FullTextSearchModel(client), index: new IndexModel(client), @@ -202,17 +221,20 @@ export function createClient(config: OrmClientConfig) { schemaGrant: new SchemaGrantModel(client), defaultPrivilege: new DefaultPrivilegeModel(client), enum: new EnumModel(client), + function: new FunctionModel(client), apiSchema: new ApiSchemaModel(client), apiModule: new ApiModuleModel(client), domain: new DomainModel(client), siteMetadatum: new SiteMetadatumModel(client), siteModule: new SiteModuleModel(client), siteTheme: new SiteThemeModel(client), + corsSetting: new CorsSettingModel(client), triggerFunction: new TriggerFunctionModel(client), databaseTransfer: new DatabaseTransferModel(client), api: new ApiModel(client), site: new SiteModel(client), app: new AppModel(client), + apiSetting: new ApiSettingModel(client), connectedAccountsModule: new ConnectedAccountsModuleModel(client), cryptoAddressesModule: new CryptoAddressesModuleModel(client), cryptoAuthModule: new CryptoAuthModuleModel(client), @@ -254,7 +276,11 @@ export function createClient(config: OrmClientConfig) { orgChartEdgeGrant: new OrgChartEdgeGrantModel(client), orgPermissionDefault: new OrgPermissionDefaultModel(client), appLimit: new AppLimitModel(client), + appLimitCredit: new AppLimitCreditModel(client), + appLimitCreditCodeItem: new AppLimitCreditCodeItemModel(client), + appLimitCreditRedemption: new AppLimitCreditRedemptionModel(client), orgLimit: new OrgLimitModel(client), + orgLimitCredit: new OrgLimitCreditModel(client), orgLimitAggregate: new OrgLimitAggregateModel(client), appStep: new AppStepModel(client), appAchievement: new AppAchievementModel(client), @@ -276,6 +302,11 @@ export function createClient(config: OrmClientConfig) { ref: new RefModel(client), store: new StoreModel(client), appPermissionDefault: new AppPermissionDefaultModel(client), + appLimitCreditCode: new AppLimitCreditCodeModel(client), + appLimitCapsDefault: new AppLimitCapsDefaultModel(client), + orgLimitCapsDefault: new OrgLimitCapsDefaultModel(client), + appLimitCap: new AppLimitCapModel(client), + orgLimitCap: new OrgLimitCapModel(client), membershipType: new MembershipTypeModel(client), migrateFile: new MigrateFileModel(client), devicesModule: new DevicesModuleModel(client), @@ -284,19 +315,24 @@ export function createClient(config: OrmClientConfig) { orgLimitDefault: new OrgLimitDefaultModel(client), userConnectedAccount: new UserConnectedAccountModel(client), commit: new CommitModel(client), + pubkeySetting: new PubkeySettingModel(client), rateLimitsModule: new RateLimitsModuleModel(client), appMembershipDefault: new AppMembershipDefaultModel(client), orgMembershipDefault: new OrgMembershipDefaultModel(client), + rlsSetting: new RlsSettingModel(client), appLimitEvent: new AppLimitEventModel(client), orgLimitEvent: new OrgLimitEventModel(client), - plansModule: new PlansModuleModel(client), rlsModule: new RlsModuleModel(client), + databaseSetting: new DatabaseSettingModel(client), + plansModule: new PlansModuleModel(client), sqlAction: new SqlActionModel(client), billingModule: new BillingModuleModel(client), astMigration: new AstMigrationModel(client), user: new UserModel(client), orgMembershipSetting: new OrgMembershipSettingModel(client), + webauthnSetting: new WebauthnSettingModel(client), appMembership: new AppMembershipModel(client), + billingProviderModule: new BillingProviderModuleModel(client), hierarchyModule: new HierarchyModuleModel(client), query: createQueryOperations(client), mutation: createMutationOperations(client), diff --git a/sdk/constructive-react/src/public/orm/input-types.ts b/sdk/constructive-react/src/public/orm/input-types.ts index 923a0d41d..e0b7828e2 100644 --- a/sdk/constructive-react/src/public/orm/input-types.ts +++ b/sdk/constructive-react/src/public/orm/input-types.ts @@ -410,6 +410,19 @@ export interface SpatialRelation { createdAt?: string | null; updatedAt?: string | null; } +export interface Partition { + id: string; + databaseId?: string | null; + tableId?: string | null; + strategy?: string | null; + partitionKeyId?: string | null; + interval?: string | null; + retention?: string | null; + lookahead?: number | null; + namingPattern?: string | null; + createdAt?: string | null; + updatedAt?: string | null; +} export interface ForeignKeyConstraint { id: string; databaseId?: string | null; @@ -812,6 +825,12 @@ export interface Enum { scope?: number | null; tags?: string[] | null; } +export interface Function { + id: string; + databaseId?: string | null; + schemaId?: string | null; + name?: string | null; +} /** Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API */ export interface ApiSchema { /** Unique identifier for this API-schema mapping */ @@ -890,6 +909,17 @@ export interface SiteTheme { /** JSONB object containing theme tokens (colors, typography, spacing, etc.) */ theme?: Record | null; } +/** Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries */ +export interface CorsSetting { + /** Unique identifier for this CORS settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Optional API for per-API override; NULL means database-wide default */ + apiId?: string | null; + /** Array of allowed CORS origins (e.g. https://example.com) */ + allowedOrigins?: string[] | null; +} export interface TriggerFunction { id: string; databaseId?: string | null; @@ -973,6 +1003,35 @@ export interface App { /** URL to the Google Play Store listing */ playStoreLink?: ConstructiveInternalTypeUrl | null; } +/** Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default */ +export interface ApiSetting { + /** Unique identifier for this API settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** API these settings override for */ + apiId?: string | null; + /** Override: enable aggregate queries (NULL = inherit from database_settings) */ + enableAggregates?: boolean | null; + /** Override: enable PostGIS spatial types (NULL = inherit from database_settings) */ + enablePostgis?: boolean | null; + /** Override: enable unified search (NULL = inherit from database_settings) */ + enableSearch?: boolean | null; + /** Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) */ + enableDirectUploads?: boolean | null; + /** Override: enable presigned URL upload flow (NULL = inherit from database_settings) */ + enablePresignedUploads?: boolean | null; + /** Override: enable many-to-many relationships (NULL = inherit from database_settings) */ + enableManyToMany?: boolean | null; + /** Override: enable connection filter (NULL = inherit from database_settings) */ + enableConnectionFilter?: boolean | null; + /** Override: enable ltree hierarchical data type (NULL = inherit from database_settings) */ + enableLtree?: boolean | null; + /** Override: enable LLM/AI integration features (NULL = inherit from database_settings) */ + enableLlm?: boolean | null; + /** Extensible JSON for additional per-API settings that do not have dedicated columns */ + options?: Record | null; +} export interface ConnectedAccountsModule { id: string; databaseId?: string | null; @@ -1101,7 +1160,16 @@ export interface LimitsModule { limitDecrementTrigger?: string | null; limitUpdateTrigger?: string | null; limitCheckFunction?: string | null; + limitCreditsTableId?: string | null; + eventsTableId?: string | null; + creditCodesTableId?: string | null; + creditCodeItemsTableId?: string | null; + creditRedemptionsTableId?: string | null; aggregateTableId?: string | null; + limitCapsTableId?: string | null; + limitCapsDefaultsTableId?: string | null; + capCheckTrigger?: string | null; + resolveCapFunction?: string | null; prefix?: string | null; membershipType?: number | null; entityTableId?: string | null; @@ -1370,11 +1438,20 @@ export interface StorageModule { provider?: string | null; allowedOrigins?: string[] | null; restrictReads?: boolean | null; + hasPathShares?: boolean | null; + pathSharesTableId?: string | null; uploadUrlExpirySeconds?: number | null; downloadUrlExpirySeconds?: number | null; defaultMaxFileSize?: string | null; maxFilenameLength?: number | null; cacheTtlSeconds?: number | null; + maxBulkFiles?: number | null; + maxBulkTotalSize?: string | null; + hasVersioning?: boolean | null; + hasContentHash?: boolean | null; + hasCustomKeys?: boolean | null; + hasAuditLog?: boolean | null; + fileEventsTableId?: string | null; } /** * Provisions a new membership entity type. Each INSERT creates an entity table, registers a membership type, @@ -1566,6 +1643,7 @@ export interface EntityTypeProvision { outBucketsTableId?: string | null; /** Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. */ outFilesTableId?: string | null; + outPathSharesTableId?: string | null; /** * Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. * NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING @@ -1849,6 +1927,46 @@ export interface AppLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; +} +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface AppLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} +/** Items within a credit code — each row grants credits for a specific limit definition */ +export interface AppLimitCreditCodeItem { + id: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string | null; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string | null; + /** Number of credits this item grants per redemption */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; +} +/** Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits */ +export interface AppLimitCreditRedemption { + id: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string | null; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string | null; } /** Tracks per-actor usage counts against configurable maximum limits */ export interface OrgLimit { @@ -1867,8 +1985,30 @@ export interface OrgLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; entityId?: string | null; } +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface OrgLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ export interface OrgLimitAggregate { id: string; @@ -1886,6 +2026,14 @@ export interface OrgLimitAggregate { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string | null; } /** Log of individual user actions toward level requirements; every single step ever taken is recorded here */ export interface AppStep { @@ -2196,6 +2344,54 @@ export interface AppPermissionDefault { /** Default permission bitmask applied to new members */ permissions?: string | null; } +/** Redeemable credit codes managed by admins with the add_credits permission */ +export interface AppLimitCreditCode { + id: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string | null; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number | null; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number | null; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface AppLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface OrgLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface AppLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface OrgLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} /** Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) */ export interface MembershipType { /** Integer identifier for the membership type (1=App, 2=Organization, 3=Group) */ @@ -2283,6 +2479,27 @@ export interface Commit { treeId?: string | null; date?: string | null; } +/** Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries */ +export interface PubkeySetting { + /** Unique identifier for this pubkey settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing the crypto auth functions (FK to metaschema_public.schema) */ + schemaId?: string | null; + /** Crypto network for key derivation (e.g. cosmos, ethereum) */ + cryptoNetwork?: string | null; + /** Field name used to identify the user in crypto auth functions */ + userField?: string | null; + /** Reference to the sign-up-with-key function (FK to metaschema_public.function) */ + signUpWithKeyFunctionId?: string | null; + /** Reference to the sign-in challenge request function (FK to metaschema_public.function) */ + signInRequestChallengeFunctionId?: string | null; + /** Reference to the sign-in failure recording function (FK to metaschema_public.function) */ + signInRecordFailureFunctionId?: string | null; + /** Reference to the sign-in-with-challenge function (FK to metaschema_public.function) */ + signInWithChallengeFunctionId?: string | null; +} export interface RateLimitsModule { id: string; databaseId?: string | null; @@ -2318,6 +2535,29 @@ export interface OrgMembershipDefault { /** References the entity these membership defaults apply to */ entityId?: string | null; } +/** Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries */ +export interface RlsSetting { + /** Unique identifier for this RLS settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) */ + authenticateSchemaId?: string | null; + /** Schema containing current_role and related functions (FK to metaschema_public.schema) */ + roleSchemaId?: string | null; + /** Reference to the authenticate function (FK to metaschema_public.function) */ + authenticateFunctionId?: string | null; + /** Reference to the strict authenticate function (FK to metaschema_public.function) */ + authenticateStrictFunctionId?: string | null; + /** Reference to the current_role function (FK to metaschema_public.function) */ + currentRoleFunctionId?: string | null; + /** Reference to the current_role_id function (FK to metaschema_public.function) */ + currentRoleIdFunctionId?: string | null; + /** Reference to the current_user_agent function (FK to metaschema_public.function) */ + currentUserAgentFunctionId?: string | null; + /** Reference to the current_ip_address function (FK to metaschema_public.function) */ + currentIpAddressFunctionId?: string | null; +} /** Append-only log of limit events for historical reporting and audit */ export interface AppLimitEvent { /** Limit name this event applies to */ @@ -2360,19 +2600,6 @@ export interface OrgLimitEvent { /** Optional reason or source: achievement, invite, plan_change, purchase, etc. */ reason?: string | null; } -export interface PlansModule { - id: string; - databaseId?: string | null; - schemaId?: string | null; - privateSchemaId?: string | null; - plansTableId?: string | null; - plansTableName?: string | null; - planLimitsTableId?: string | null; - planLimitsTableName?: string | null; - applyPlanFunction?: string | null; - applyPlanAggregateFunction?: string | null; - prefix?: string | null; -} export interface RlsModule { id: string; databaseId?: string | null; @@ -2386,6 +2613,48 @@ export interface RlsModule { currentRole?: string | null; currentRoleId?: string | null; } +/** Database-wide feature flags and settings; controls which platform features are available to all APIs in this database */ +export interface DatabaseSetting { + /** Unique identifier for this settings record */ + id: string; + /** Reference to the metaschema database these settings apply to */ + databaseId?: string | null; + /** Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API */ + enableAggregates?: boolean | null; + /** Enable PostGIS spatial types and operators in the GraphQL API */ + enablePostgis?: boolean | null; + /** Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API */ + enableSearch?: boolean | null; + /** Enable direct (multipart) file upload mutations in the GraphQL API */ + enableDirectUploads?: boolean | null; + /** Enable presigned URL upload flow for S3/MinIO storage */ + enablePresignedUploads?: boolean | null; + /** Enable many-to-many relationship queries in the GraphQL API */ + enableManyToMany?: boolean | null; + /** Enable connection filter (where argument) in the GraphQL API */ + enableConnectionFilter?: boolean | null; + /** Enable ltree hierarchical data type support in the GraphQL API */ + enableLtree?: boolean | null; + /** Enable LLM/AI integration features in the GraphQL API */ + enableLlm?: boolean | null; + /** Extensible JSON for additional settings that do not have dedicated columns */ + options?: Record | null; +} +export interface PlansModule { + id: string; + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + plansTableId?: string | null; + plansTableName?: string | null; + planLimitsTableId?: string | null; + planLimitsTableName?: string | null; + planPricingTableId?: string | null; + planOverridesTableId?: string | null; + applyPlanFunction?: string | null; + applyPlanAggregateFunction?: string | null; + prefix?: string | null; +} export interface SqlAction { id: number; name?: string | null; @@ -2474,6 +2743,45 @@ export interface OrgMembershipSetting { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string | null; } +/** Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries */ +export interface WebauthnSetting { + /** Unique identifier for this WebAuthn settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) */ + schemaId?: string | null; + /** Schema of the webauthn_credentials table (FK to metaschema_public.schema) */ + credentialsSchemaId?: string | null; + /** Schema of the sessions table (FK to metaschema_public.schema) */ + sessionsSchemaId?: string | null; + /** Schema of the session_secrets table (FK to metaschema_public.schema) */ + sessionSecretsSchemaId?: string | null; + /** Reference to the webauthn_credentials table (FK to metaschema_public.table) */ + credentialsTableId?: string | null; + /** Reference to the sessions table (FK to metaschema_public.table) */ + sessionsTableId?: string | null; + /** Reference to the session_credentials table (FK to metaschema_public.table) */ + sessionCredentialsTableId?: string | null; + /** Reference to the session_secrets table (FK to metaschema_public.table) */ + sessionSecretsTableId?: string | null; + /** Reference to the user field on webauthn_credentials (FK to metaschema_public.field) */ + userFieldId?: string | null; + /** WebAuthn Relying Party ID (typically the domain name) */ + rpId?: string | null; + /** WebAuthn Relying Party display name */ + rpName?: string | null; + /** Allowed origins for WebAuthn registration and authentication */ + originAllowlist?: string[] | null; + /** Attestation conveyance preference (none, indirect, direct, enterprise) */ + attestationType?: string | null; + /** Whether to require user verification (biometric/PIN) during auth */ + requireUserVerification?: boolean | null; + /** Resident key requirement (discouraged, preferred, required) */ + residentKey?: string | null; + /** Challenge TTL in seconds (default 300 = 5 minutes) */ + challengeExpirySeconds?: string | null; +} /** Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status */ export interface AppMembership { id: string; @@ -2503,6 +2811,28 @@ export interface AppMembership { actorId?: string | null; profileId?: string | null; } +export interface BillingProviderModule { + id: string; + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + provider?: string | null; + productsTableId?: string | null; + pricesTableId?: string | null; + subscriptionsTableId?: string | null; + billingCustomersTableId?: string | null; + billingCustomersTableName?: string | null; + billingProductsTableId?: string | null; + billingProductsTableName?: string | null; + billingPricesTableId?: string | null; + billingPricesTableName?: string | null; + billingSubscriptionsTableId?: string | null; + billingSubscriptionsTableName?: string | null; + billingWebhookEventsTableId?: string | null; + billingWebhookEventsTableName?: string | null; + processBillingEventFunction?: string | null; + prefix?: string | null; +} export interface HierarchyModule { id: string; databaseId?: string | null; @@ -2547,12 +2877,17 @@ export interface ObjectRelations {} export interface AppLevelRequirementRelations {} export interface DatabaseRelations { owner?: User | null; + databaseSetting?: DatabaseSetting | null; + rlsSetting?: RlsSetting | null; + pubkeySetting?: PubkeySetting | null; + webauthnSetting?: WebauthnSetting | null; rlsModule?: RlsModule | null; hierarchyModule?: HierarchyModule | null; rateLimitsModule?: RateLimitsModule | null; devicesModule?: DevicesModule | null; plansModule?: PlansModule | null; billingModule?: BillingModule | null; + billingProviderModule?: BillingProviderModule | null; schemas?: ConnectionResult; tables?: ConnectionResult
; checkConstraints?: ConnectionResult; @@ -2574,7 +2909,9 @@ export interface DatabaseRelations { enums?: ConnectionResult; embeddingChunks?: ConnectionResult; spatialRelations?: ConnectionResult; + functions?: ConnectionResult; databaseTransfers?: ConnectionResult; + partitions?: ConnectionResult; apis?: ConnectionResult; apiModules?: ConnectionResult; apiSchemas?: ConnectionResult; @@ -2584,6 +2921,8 @@ export interface DatabaseRelations { siteMetadata?: ConnectionResult; siteModules?: ConnectionResult; siteThemes?: ConnectionResult; + apiSettings?: ConnectionResult; + corsSettings?: ConnectionResult; connectedAccountsModules?: ConnectionResult; cryptoAddressesModules?: ConnectionResult; cryptoAuthModules?: ConnectionResult; @@ -2623,6 +2962,7 @@ export interface SchemaRelations { views?: ConnectionResult; defaultPrivileges?: ConnectionResult; enums?: ConnectionResult; + functions?: ConnectionResult; apiSchemas?: ConnectionResult; sessionSecretsModules?: ConnectionResult; identityProvidersModulesByPrivateSchemaId?: ConnectionResult; @@ -2632,6 +2972,7 @@ export interface TableRelations { database?: Database | null; schema?: Schema | null; inherits?: Table | null; + partition?: Partition | null; checkConstraints?: ConnectionResult; fields?: ConnectionResult; foreignKeyConstraints?: ConnectionResult; @@ -2664,6 +3005,7 @@ export interface FieldRelations { table?: Table | null; spatialRelations?: ConnectionResult; spatialRelationsByRefFieldId?: ConnectionResult; + partitionsByPartitionKeyId?: ConnectionResult; } export interface SpatialRelationRelations { database?: Database | null; @@ -2672,6 +3014,11 @@ export interface SpatialRelationRelations { refTable?: Table | null; table?: Table | null; } +export interface PartitionRelations { + database?: Database | null; + partitionKey?: Field | null; + table?: Table | null; +} export interface ForeignKeyConstraintRelations { database?: Database | null; refTable?: Table | null; @@ -2766,6 +3113,10 @@ export interface EnumRelations { database?: Database | null; schema?: Schema | null; } +export interface FunctionRelations { + database?: Database | null; + schema?: Schema | null; +} export interface ApiSchemaRelations { api?: Api | null; database?: Database | null; @@ -2792,6 +3143,10 @@ export interface SiteThemeRelations { database?: Database | null; site?: Site | null; } +export interface CorsSettingRelations { + api?: Api | null; + database?: Database | null; +} export interface TriggerFunctionRelations { database?: Database | null; } @@ -2800,9 +3155,11 @@ export interface DatabaseTransferRelations { } export interface ApiRelations { database?: Database | null; + apiSetting?: ApiSetting | null; apiModules?: ConnectionResult; apiSchemas?: ConnectionResult; domains?: ConnectionResult; + corsSettings?: ConnectionResult; } export interface SiteRelations { database?: Database | null; @@ -2816,6 +3173,10 @@ export interface AppRelations { site?: Site | null; database?: Database | null; } +export interface ApiSettingRelations { + api?: Api | null; + database?: Database | null; +} export interface ConnectedAccountsModuleRelations { database?: Database | null; ownerTable?: Table | null; @@ -2884,9 +3245,16 @@ export interface LevelsModuleRelations { export interface LimitsModuleRelations { actorTable?: Table | null; aggregateTable?: Table | null; + creditCodeItemsTable?: Table | null; + creditCodesTable?: Table | null; + creditRedemptionsTable?: Table | null; database?: Database | null; defaultTable?: Table | null; entityTable?: Table | null; + eventsTable?: Table | null; + limitCapsDefaultsTable?: Table | null; + limitCapsTable?: Table | null; + limitCreditsTable?: Table | null; privateSchema?: Schema | null; schema?: Schema | null; table?: Table | null; @@ -2991,7 +3359,9 @@ export interface StorageModuleRelations { bucketsTable?: Table | null; database?: Database | null; entityTable?: Table | null; + fileEventsTable?: Table | null; filesTable?: Table | null; + pathSharesTable?: Table | null; privateSchema?: Schema | null; schema?: Schema | null; } @@ -3089,10 +3459,26 @@ export interface OrgPermissionDefaultRelations { export interface AppLimitRelations { actor?: User | null; } +export interface AppLimitCreditRelations { + actor?: User | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditCodeItemRelations { + creditCode?: AppLimitCreditCode | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditRedemptionRelations { + creditCode?: AppLimitCreditCode | null; +} export interface OrgLimitRelations { actor?: User | null; entity?: User | null; } +export interface OrgLimitCreditRelations { + actor?: User | null; + defaultLimit?: OrgLimitDefault | null; + entity?: User | null; +} export interface OrgLimitAggregateRelations { entity?: User | null; } @@ -3156,6 +3542,14 @@ export interface IdentityProviderRelations {} export interface RefRelations {} export interface StoreRelations {} export interface AppPermissionDefaultRelations {} +export interface AppLimitCreditCodeRelations { + appLimitCreditCodeItemsByCreditCodeId?: ConnectionResult; + appLimitCreditRedemptionsByCreditCodeId?: ConnectionResult; +} +export interface AppLimitCapsDefaultRelations {} +export interface OrgLimitCapsDefaultRelations {} +export interface AppLimitCapRelations {} +export interface OrgLimitCapRelations {} export interface MembershipTypeRelations {} export interface MigrateFileRelations {} export interface DevicesModuleRelations { @@ -3165,10 +3559,23 @@ export interface DevicesModuleRelations { userDevicesTableByUserDevicesTableId?: Table | null; } export interface NodeTypeRegistryRelations {} -export interface AppLimitDefaultRelations {} -export interface OrgLimitDefaultRelations {} +export interface AppLimitDefaultRelations { + appLimitCreditsByDefaultLimitId?: ConnectionResult; + appLimitCreditCodeItemsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitDefaultRelations { + orgLimitCreditsByDefaultLimitId?: ConnectionResult; +} export interface UserConnectedAccountRelations {} export interface CommitRelations {} +export interface PubkeySettingRelations { + database?: Database | null; + schema?: Schema | null; + signInRecordFailureFunction?: Function | null; + signInRequestChallengeFunction?: Function | null; + signInWithChallengeFunction?: Function | null; + signUpWithKeyFunction?: Function | null; +} export interface RateLimitsModuleRelations { database?: Database | null; ipRateLimitsTableByIpRateLimitsTableId?: Table | null; @@ -3180,15 +3587,19 @@ export interface AppMembershipDefaultRelations {} export interface OrgMembershipDefaultRelations { entity?: User | null; } -export interface AppLimitEventRelations {} -export interface OrgLimitEventRelations {} -export interface PlansModuleRelations { +export interface RlsSettingRelations { + authenticateFunction?: Function | null; + authenticateSchema?: Schema | null; + authenticateStrictFunction?: Function | null; + currentIpAddressFunction?: Function | null; + currentRoleFunction?: Function | null; + currentRoleIdFunction?: Function | null; + currentUserAgentFunction?: Function | null; database?: Database | null; - planLimitsTable?: Table | null; - plansTable?: Table | null; - privateSchema?: Schema | null; - schema?: Schema | null; + roleSchema?: Schema | null; } +export interface AppLimitEventRelations {} +export interface OrgLimitEventRelations {} export interface RlsModuleRelations { database?: Database | null; privateSchema?: Schema | null; @@ -3197,6 +3608,18 @@ export interface RlsModuleRelations { sessionsTable?: Table | null; usersTable?: Table | null; } +export interface DatabaseSettingRelations { + database?: Database | null; +} +export interface PlansModuleRelations { + database?: Database | null; + planLimitsTable?: Table | null; + planOverridesTable?: Table | null; + planPricingTable?: Table | null; + plansTable?: Table | null; + privateSchema?: Schema | null; + schema?: Schema | null; +} export interface SqlActionRelations {} export interface BillingModuleRelations { balancesTable?: Table | null; @@ -3244,8 +3667,11 @@ export interface UserRelations { childOrgChartEdgeGrants?: ConnectionResult; orgPermissionDefaultsByEntityId?: ConnectionResult; appLimitsByActorId?: ConnectionResult; + appLimitCreditsByActorId?: ConnectionResult; orgLimitsByActorId?: ConnectionResult; orgLimitsByEntityId?: ConnectionResult; + orgLimitCreditsByActorId?: ConnectionResult; + orgLimitCreditsByEntityId?: ConnectionResult; orgLimitAggregatesByEntityId?: ConnectionResult; appStepsByActorId?: ConnectionResult; appAchievementsByActorId?: ConnectionResult; @@ -3272,9 +3698,34 @@ export interface UserRelations { export interface OrgMembershipSettingRelations { entity?: User | null; } +export interface WebauthnSettingRelations { + credentialsSchema?: Schema | null; + credentialsTable?: Table | null; + database?: Database | null; + schema?: Schema | null; + sessionCredentialsTable?: Table | null; + sessionSecretsSchema?: Schema | null; + sessionSecretsTable?: Table | null; + sessionsSchema?: Schema | null; + sessionsTable?: Table | null; + userField?: Field | null; +} export interface AppMembershipRelations { actor?: User | null; } +export interface BillingProviderModuleRelations { + billingCustomersTable?: Table | null; + billingPricesTable?: Table | null; + billingProductsTable?: Table | null; + billingSubscriptionsTable?: Table | null; + billingWebhookEventsTable?: Table | null; + database?: Database | null; + pricesTable?: Table | null; + privateSchema?: Schema | null; + productsTable?: Table | null; + schema?: Schema | null; + subscriptionsTable?: Table | null; +} export interface HierarchyModuleRelations { chartEdgeGrantsTable?: Table | null; chartEdgesTable?: Table | null; @@ -3301,6 +3752,7 @@ export type TableWithRelations = Table & TableRelations; export type CheckConstraintWithRelations = CheckConstraint & CheckConstraintRelations; export type FieldWithRelations = Field & FieldRelations; export type SpatialRelationWithRelations = SpatialRelation & SpatialRelationRelations; +export type PartitionWithRelations = Partition & PartitionRelations; export type ForeignKeyConstraintWithRelations = ForeignKeyConstraint & ForeignKeyConstraintRelations; export type FullTextSearchWithRelations = FullTextSearch & FullTextSearchRelations; @@ -3326,17 +3778,20 @@ export type IdentityProvidersModuleWithRelations = IdentityProvidersModule & export type SchemaGrantWithRelations = SchemaGrant & SchemaGrantRelations; export type DefaultPrivilegeWithRelations = DefaultPrivilege & DefaultPrivilegeRelations; export type EnumWithRelations = Enum & EnumRelations; +export type FunctionWithRelations = Function & FunctionRelations; export type ApiSchemaWithRelations = ApiSchema & ApiSchemaRelations; export type ApiModuleWithRelations = ApiModule & ApiModuleRelations; export type DomainWithRelations = Domain & DomainRelations; export type SiteMetadatumWithRelations = SiteMetadatum & SiteMetadatumRelations; export type SiteModuleWithRelations = SiteModule & SiteModuleRelations; export type SiteThemeWithRelations = SiteTheme & SiteThemeRelations; +export type CorsSettingWithRelations = CorsSetting & CorsSettingRelations; export type TriggerFunctionWithRelations = TriggerFunction & TriggerFunctionRelations; export type DatabaseTransferWithRelations = DatabaseTransfer & DatabaseTransferRelations; export type ApiWithRelations = Api & ApiRelations; export type SiteWithRelations = Site & SiteRelations; export type AppWithRelations = App & AppRelations; +export type ApiSettingWithRelations = ApiSetting & ApiSettingRelations; export type ConnectedAccountsModuleWithRelations = ConnectedAccountsModule & ConnectedAccountsModuleRelations; export type CryptoAddressesModuleWithRelations = CryptoAddressesModule & @@ -3387,7 +3842,13 @@ export type OrgChartEdgeGrantWithRelations = OrgChartEdgeGrant & OrgChartEdgeGra export type OrgPermissionDefaultWithRelations = OrgPermissionDefault & OrgPermissionDefaultRelations; export type AppLimitWithRelations = AppLimit & AppLimitRelations; +export type AppLimitCreditWithRelations = AppLimitCredit & AppLimitCreditRelations; +export type AppLimitCreditCodeItemWithRelations = AppLimitCreditCodeItem & + AppLimitCreditCodeItemRelations; +export type AppLimitCreditRedemptionWithRelations = AppLimitCreditRedemption & + AppLimitCreditRedemptionRelations; export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; +export type OrgLimitCreditWithRelations = OrgLimitCredit & OrgLimitCreditRelations; export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; export type AppStepWithRelations = AppStep & AppStepRelations; export type AppAchievementWithRelations = AppAchievement & AppAchievementRelations; @@ -3410,6 +3871,11 @@ export type RefWithRelations = Ref & RefRelations; export type StoreWithRelations = Store & StoreRelations; export type AppPermissionDefaultWithRelations = AppPermissionDefault & AppPermissionDefaultRelations; +export type AppLimitCreditCodeWithRelations = AppLimitCreditCode & AppLimitCreditCodeRelations; +export type AppLimitCapsDefaultWithRelations = AppLimitCapsDefault & AppLimitCapsDefaultRelations; +export type OrgLimitCapsDefaultWithRelations = OrgLimitCapsDefault & OrgLimitCapsDefaultRelations; +export type AppLimitCapWithRelations = AppLimitCap & AppLimitCapRelations; +export type OrgLimitCapWithRelations = OrgLimitCap & OrgLimitCapRelations; export type MembershipTypeWithRelations = MembershipType & MembershipTypeRelations; export type MigrateFileWithRelations = MigrateFile & MigrateFileRelations; export type DevicesModuleWithRelations = DevicesModule & DevicesModuleRelations; @@ -3419,22 +3885,28 @@ export type OrgLimitDefaultWithRelations = OrgLimitDefault & OrgLimitDefaultRela export type UserConnectedAccountWithRelations = UserConnectedAccount & UserConnectedAccountRelations; export type CommitWithRelations = Commit & CommitRelations; +export type PubkeySettingWithRelations = PubkeySetting & PubkeySettingRelations; export type RateLimitsModuleWithRelations = RateLimitsModule & RateLimitsModuleRelations; export type AppMembershipDefaultWithRelations = AppMembershipDefault & AppMembershipDefaultRelations; export type OrgMembershipDefaultWithRelations = OrgMembershipDefault & OrgMembershipDefaultRelations; +export type RlsSettingWithRelations = RlsSetting & RlsSettingRelations; export type AppLimitEventWithRelations = AppLimitEvent & AppLimitEventRelations; export type OrgLimitEventWithRelations = OrgLimitEvent & OrgLimitEventRelations; -export type PlansModuleWithRelations = PlansModule & PlansModuleRelations; export type RlsModuleWithRelations = RlsModule & RlsModuleRelations; +export type DatabaseSettingWithRelations = DatabaseSetting & DatabaseSettingRelations; +export type PlansModuleWithRelations = PlansModule & PlansModuleRelations; export type SqlActionWithRelations = SqlAction & SqlActionRelations; export type BillingModuleWithRelations = BillingModule & BillingModuleRelations; export type AstMigrationWithRelations = AstMigration & AstMigrationRelations; export type UserWithRelations = User & UserRelations; export type OrgMembershipSettingWithRelations = OrgMembershipSetting & OrgMembershipSettingRelations; +export type WebauthnSettingWithRelations = WebauthnSetting & WebauthnSettingRelations; export type AppMembershipWithRelations = AppMembership & AppMembershipRelations; +export type BillingProviderModuleWithRelations = BillingProviderModule & + BillingProviderModuleRelations; export type HierarchyModuleWithRelations = HierarchyModule & HierarchyModuleRelations; // ============ Entity Select Types ============ export type OrgGetManagersRecordSelect = { @@ -3495,6 +3967,18 @@ export type DatabaseSelect = { owner?: { select: UserSelect; }; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + rlsSetting?: { + select: RlsSettingSelect; + }; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; rlsModule?: { select: RlsModuleSelect; }; @@ -3513,6 +3997,9 @@ export type DatabaseSelect = { billingModule?: { select: BillingModuleSelect; }; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; schemas?: { select: SchemaSelect; first?: number; @@ -3639,12 +4126,24 @@ export type DatabaseSelect = { filter?: SpatialRelationFilter; orderBy?: SpatialRelationOrderBy[]; }; + functions?: { + select: FunctionSelect; + first?: number; + filter?: FunctionFilter; + orderBy?: FunctionOrderBy[]; + }; databaseTransfers?: { select: DatabaseTransferSelect; first?: number; filter?: DatabaseTransferFilter; orderBy?: DatabaseTransferOrderBy[]; }; + partitions?: { + select: PartitionSelect; + first?: number; + filter?: PartitionFilter; + orderBy?: PartitionOrderBy[]; + }; apis?: { select: ApiSelect; first?: number; @@ -3699,6 +4198,18 @@ export type DatabaseSelect = { filter?: SiteThemeFilter; orderBy?: SiteThemeOrderBy[]; }; + apiSettings?: { + select: ApiSettingSelect; + first?: number; + filter?: ApiSettingFilter; + orderBy?: ApiSettingOrderBy[]; + }; + corsSettings?: { + select: CorsSettingSelect; + first?: number; + filter?: CorsSettingFilter; + orderBy?: CorsSettingOrderBy[]; + }; connectedAccountsModules?: { select: ConnectedAccountsModuleSelect; first?: number; @@ -3934,6 +4445,12 @@ export type SchemaSelect = { filter?: EnumFilter; orderBy?: EnumOrderBy[]; }; + functions?: { + select: FunctionSelect; + first?: number; + filter?: FunctionFilter; + orderBy?: FunctionOrderBy[]; + }; apiSchemas?: { select: ApiSchemaSelect; first?: number; @@ -3988,6 +4505,9 @@ export type TableSelect = { inherits?: { select: TableSelect; }; + partition?: { + select: PartitionSelect; + }; checkConstraints?: { select: CheckConstraintSelect; first?: number; @@ -4186,6 +4706,12 @@ export type FieldSelect = { filter?: SpatialRelationFilter; orderBy?: SpatialRelationOrderBy[]; }; + partitionsByPartitionKeyId?: { + select: PartitionSelect; + first?: number; + filter?: PartitionFilter; + orderBy?: PartitionOrderBy[]; + }; }; export type SpatialRelationSelect = { id?: boolean; @@ -4219,6 +4745,28 @@ export type SpatialRelationSelect = { select: TableSelect; }; }; +export type PartitionSelect = { + id?: boolean; + databaseId?: boolean; + tableId?: boolean; + strategy?: boolean; + partitionKeyId?: boolean; + interval?: boolean; + retention?: boolean; + lookahead?: boolean; + namingPattern?: boolean; + createdAt?: boolean; + updatedAt?: boolean; + database?: { + select: DatabaseSelect; + }; + partitionKey?: { + select: FieldSelect; + }; + table?: { + select: TableSelect; + }; +}; export type ForeignKeyConstraintSelect = { id?: boolean; databaseId?: boolean; @@ -4665,6 +5213,18 @@ export type EnumSelect = { select: SchemaSelect; }; }; +export type FunctionSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + name?: boolean; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; +}; export type ApiSchemaSelect = { id?: boolean; databaseId?: boolean; @@ -4749,6 +5309,18 @@ export type SiteThemeSelect = { select: SiteSelect; }; }; +export type CorsSettingSelect = { + id?: boolean; + databaseId?: boolean; + apiId?: boolean; + allowedOrigins?: boolean; + api?: { + select: ApiSelect; + }; + database?: { + select: DatabaseSelect; + }; +}; export type TriggerFunctionSelect = { id?: boolean; databaseId?: boolean; @@ -4790,6 +5362,9 @@ export type ApiSelect = { database?: { select: DatabaseSelect; }; + apiSetting?: { + select: ApiSettingSelect; + }; apiModules?: { select: ApiModuleSelect; first?: number; @@ -4808,6 +5383,12 @@ export type ApiSelect = { filter?: DomainFilter; orderBy?: DomainOrderBy[]; }; + corsSettings?: { + select: CorsSettingSelect; + first?: number; + filter?: CorsSettingFilter; + orderBy?: CorsSettingOrderBy[]; + }; }; export type SiteSelect = { id?: boolean; @@ -4867,6 +5448,27 @@ export type AppSelect = { select: DatabaseSelect; }; }; +export type ApiSettingSelect = { + id?: boolean; + databaseId?: boolean; + apiId?: boolean; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: boolean; + api?: { + select: ApiSelect; + }; + database?: { + select: DatabaseSelect; + }; +}; export type ConnectedAccountsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -5136,7 +5738,16 @@ export type LimitsModuleSelect = { limitDecrementTrigger?: boolean; limitUpdateTrigger?: boolean; limitCheckFunction?: boolean; + limitCreditsTableId?: boolean; + eventsTableId?: boolean; + creditCodesTableId?: boolean; + creditCodeItemsTableId?: boolean; + creditRedemptionsTableId?: boolean; aggregateTableId?: boolean; + limitCapsTableId?: boolean; + limitCapsDefaultsTableId?: boolean; + capCheckTrigger?: boolean; + resolveCapFunction?: boolean; prefix?: boolean; membershipType?: boolean; entityTableId?: boolean; @@ -5147,6 +5758,15 @@ export type LimitsModuleSelect = { aggregateTable?: { select: TableSelect; }; + creditCodeItemsTable?: { + select: TableSelect; + }; + creditCodesTable?: { + select: TableSelect; + }; + creditRedemptionsTable?: { + select: TableSelect; + }; database?: { select: DatabaseSelect; }; @@ -5156,6 +5776,18 @@ export type LimitsModuleSelect = { entityTable?: { select: TableSelect; }; + eventsTable?: { + select: TableSelect; + }; + limitCapsDefaultsTable?: { + select: TableSelect; + }; + limitCapsTable?: { + select: TableSelect; + }; + limitCreditsTable?: { + select: TableSelect; + }; privateSchema?: { select: SchemaSelect; }; @@ -5608,11 +6240,20 @@ export type StorageModuleSelect = { provider?: boolean; allowedOrigins?: boolean; restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: boolean; uploadUrlExpirySeconds?: boolean; downloadUrlExpirySeconds?: boolean; defaultMaxFileSize?: boolean; maxFilenameLength?: boolean; cacheTtlSeconds?: boolean; + maxBulkFiles?: boolean; + maxBulkTotalSize?: boolean; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: boolean; bucketsTable?: { select: TableSelect; }; @@ -5622,9 +6263,15 @@ export type StorageModuleSelect = { entityTable?: { select: TableSelect; }; + fileEventsTable?: { + select: TableSelect; + }; filesTable?: { select: TableSelect; }; + pathSharesTable?: { + select: TableSelect; + }; privateSchema?: { select: SchemaSelect; }; @@ -5656,6 +6303,7 @@ export type EntityTypeProvisionSelect = { outStorageModuleId?: boolean; outBucketsTableId?: boolean; outFilesTableId?: boolean; + outPathSharesTableId?: boolean; outInvitesModuleId?: boolean; database?: { select: DatabaseSelect; @@ -6018,10 +6666,48 @@ export type AppLimitSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; actor?: { select: UserSelect; }; }; +export type AppLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + actor?: { + select: UserSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditCodeItemSelect = { + id?: boolean; + creditCodeId?: boolean; + defaultLimitId?: boolean; + amount?: boolean; + creditType?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditRedemptionSelect = { + id?: boolean; + creditCodeId?: boolean; + entityId?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; +}; export type OrgLimitSelect = { id?: boolean; name?: boolean; @@ -6031,6 +6717,9 @@ export type OrgLimitSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; entityId?: boolean; actor?: { select: UserSelect; @@ -6039,6 +6728,24 @@ export type OrgLimitSelect = { select: UserSelect; }; }; +export type OrgLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + entityId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + actor?: { + select: UserSelect; + }; + defaultLimit?: { + select: OrgLimitDefaultSelect; + }; + entity?: { + select: UserSelect; + }; +}; export type OrgLimitAggregateSelect = { id?: boolean; name?: boolean; @@ -6048,6 +6755,10 @@ export type OrgLimitAggregateSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + reserved?: boolean; entity?: { select: UserSelect; }; @@ -6327,6 +7038,47 @@ export type AppPermissionDefaultSelect = { id?: boolean; permissions?: boolean; }; +export type AppLimitCreditCodeSelect = { + id?: boolean; + code?: boolean; + maxRedemptions?: boolean; + currentRedemptions?: boolean; + expiresAt?: boolean; + appLimitCreditCodeItemsByCreditCodeId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; + appLimitCreditRedemptionsByCreditCodeId?: { + select: AppLimitCreditRedemptionSelect; + first?: number; + filter?: AppLimitCreditRedemptionFilter; + orderBy?: AppLimitCreditRedemptionOrderBy[]; + }; +}; +export type AppLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type OrgLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type AppLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; +export type OrgLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; export type MembershipTypeSelect = { id?: boolean; name?: boolean; @@ -6375,12 +7127,30 @@ export type AppLimitDefaultSelect = { name?: boolean; max?: boolean; softMax?: boolean; + appLimitCreditsByDefaultLimitId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; + appLimitCreditCodeItemsByDefaultLimitId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; }; export type OrgLimitDefaultSelect = { id?: boolean; name?: boolean; max?: boolean; softMax?: boolean; + orgLimitCreditsByDefaultLimitId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; }; export type UserConnectedAccountSelect = { id?: boolean; @@ -6403,6 +7173,35 @@ export type CommitSelect = { treeId?: boolean; date?: boolean; }; +export type PubkeySettingSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + cryptoNetwork?: boolean; + userField?: boolean; + signUpWithKeyFunctionId?: boolean; + signInRequestChallengeFunctionId?: boolean; + signInRecordFailureFunctionId?: boolean; + signInWithChallengeFunctionId?: boolean; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; + signInRecordFailureFunction?: { + select: FunctionSelect; + }; + signInRequestChallengeFunction?: { + select: FunctionSelect; + }; + signInWithChallengeFunction?: { + select: FunctionSelect; + }; + signUpWithKeyFunction?: { + select: FunctionSelect; + }; +}; export type RateLimitsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -6450,6 +7249,45 @@ export type OrgMembershipDefaultSelect = { select: UserSelect; }; }; +export type RlsSettingSelect = { + id?: boolean; + databaseId?: boolean; + authenticateSchemaId?: boolean; + roleSchemaId?: boolean; + authenticateFunctionId?: boolean; + authenticateStrictFunctionId?: boolean; + currentRoleFunctionId?: boolean; + currentRoleIdFunctionId?: boolean; + currentUserAgentFunctionId?: boolean; + currentIpAddressFunctionId?: boolean; + authenticateFunction?: { + select: FunctionSelect; + }; + authenticateSchema?: { + select: SchemaSelect; + }; + authenticateStrictFunction?: { + select: FunctionSelect; + }; + currentIpAddressFunction?: { + select: FunctionSelect; + }; + currentRoleFunction?: { + select: FunctionSelect; + }; + currentRoleIdFunction?: { + select: FunctionSelect; + }; + currentUserAgentFunction?: { + select: FunctionSelect; + }; + database?: { + select: DatabaseSelect; + }; + roleSchema?: { + select: SchemaSelect; + }; +}; export type AppLimitEventSelect = { name?: boolean; actorId?: boolean; @@ -6472,34 +7310,6 @@ export type OrgLimitEventSelect = { maxAtEvent?: boolean; reason?: boolean; }; -export type PlansModuleSelect = { - id?: boolean; - databaseId?: boolean; - schemaId?: boolean; - privateSchemaId?: boolean; - plansTableId?: boolean; - plansTableName?: boolean; - planLimitsTableId?: boolean; - planLimitsTableName?: boolean; - applyPlanFunction?: boolean; - applyPlanAggregateFunction?: boolean; - prefix?: boolean; - database?: { - select: DatabaseSelect; - }; - planLimitsTable?: { - select: TableSelect; - }; - plansTable?: { - select: TableSelect; - }; - privateSchema?: { - select: SchemaSelect; - }; - schema?: { - select: SchemaSelect; - }; -}; export type RlsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -6531,6 +7341,59 @@ export type RlsModuleSelect = { select: TableSelect; }; }; +export type DatabaseSettingSelect = { + id?: boolean; + databaseId?: boolean; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: boolean; + database?: { + select: DatabaseSelect; + }; +}; +export type PlansModuleSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + privateSchemaId?: boolean; + plansTableId?: boolean; + plansTableName?: boolean; + planLimitsTableId?: boolean; + planLimitsTableName?: boolean; + planPricingTableId?: boolean; + planOverridesTableId?: boolean; + applyPlanFunction?: boolean; + applyPlanAggregateFunction?: boolean; + prefix?: boolean; + database?: { + select: DatabaseSelect; + }; + planLimitsTable?: { + select: TableSelect; + }; + planOverridesTable?: { + select: TableSelect; + }; + planPricingTable?: { + select: TableSelect; + }; + plansTable?: { + select: TableSelect; + }; + privateSchema?: { + select: SchemaSelect; + }; + schema?: { + select: SchemaSelect; + }; +}; export type SqlActionSelect = { id?: boolean; name?: boolean; @@ -6808,6 +7671,12 @@ export type UserSelect = { filter?: AppLimitFilter; orderBy?: AppLimitOrderBy[]; }; + appLimitCreditsByActorId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; orgLimitsByActorId?: { select: OrgLimitSelect; first?: number; @@ -6820,6 +7689,18 @@ export type UserSelect = { filter?: OrgLimitFilter; orderBy?: OrgLimitOrderBy[]; }; + orgLimitCreditsByActorId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; + orgLimitCreditsByEntityId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; orgLimitAggregatesByEntityId?: { select: OrgLimitAggregateSelect; first?: number; @@ -6972,6 +7853,56 @@ export type OrgMembershipSettingSelect = { select: UserSelect; }; }; +export type WebauthnSettingSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + credentialsSchemaId?: boolean; + sessionsSchemaId?: boolean; + sessionSecretsSchemaId?: boolean; + credentialsTableId?: boolean; + sessionsTableId?: boolean; + sessionCredentialsTableId?: boolean; + sessionSecretsTableId?: boolean; + userFieldId?: boolean; + rpId?: boolean; + rpName?: boolean; + originAllowlist?: boolean; + attestationType?: boolean; + requireUserVerification?: boolean; + residentKey?: boolean; + challengeExpirySeconds?: boolean; + credentialsSchema?: { + select: SchemaSelect; + }; + credentialsTable?: { + select: TableSelect; + }; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; + sessionCredentialsTable?: { + select: TableSelect; + }; + sessionSecretsSchema?: { + select: SchemaSelect; + }; + sessionSecretsTable?: { + select: TableSelect; + }; + sessionsSchema?: { + select: SchemaSelect; + }; + sessionsTable?: { + select: TableSelect; + }; + userField?: { + select: FieldSelect; + }; +}; export type AppMembershipSelect = { id?: boolean; createdAt?: boolean; @@ -6993,6 +7924,61 @@ export type AppMembershipSelect = { select: UserSelect; }; }; +export type BillingProviderModuleSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + privateSchemaId?: boolean; + provider?: boolean; + productsTableId?: boolean; + pricesTableId?: boolean; + subscriptionsTableId?: boolean; + billingCustomersTableId?: boolean; + billingCustomersTableName?: boolean; + billingProductsTableId?: boolean; + billingProductsTableName?: boolean; + billingPricesTableId?: boolean; + billingPricesTableName?: boolean; + billingSubscriptionsTableId?: boolean; + billingSubscriptionsTableName?: boolean; + billingWebhookEventsTableId?: boolean; + billingWebhookEventsTableName?: boolean; + processBillingEventFunction?: boolean; + prefix?: boolean; + billingCustomersTable?: { + select: TableSelect; + }; + billingPricesTable?: { + select: TableSelect; + }; + billingProductsTable?: { + select: TableSelect; + }; + billingSubscriptionsTable?: { + select: TableSelect; + }; + billingWebhookEventsTable?: { + select: TableSelect; + }; + database?: { + select: DatabaseSelect; + }; + pricesTable?: { + select: TableSelect; + }; + privateSchema?: { + select: SchemaSelect; + }; + productsTable?: { + select: TableSelect; + }; + schema?: { + select: SchemaSelect; + }; + subscriptionsTable?: { + select: TableSelect; + }; +}; export type HierarchyModuleSelect = { id?: boolean; databaseId?: boolean; @@ -7254,10 +8240,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -7294,6 +8288,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -7438,6 +8456,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -7500,6 +8522,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -7634,6 +8660,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -7766,6 +8796,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } export interface SpatialRelationFilter { /** Filter by the object’s `id` field. */ @@ -7815,6 +8849,42 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} export interface ForeignKeyConstraintFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8567,6 +9637,26 @@ export interface EnumFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} export interface ApiSchemaFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8703,6 +9793,28 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} export interface TriggerFunctionFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8798,6 +9910,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } export interface SiteFilter { /** Filter by the object’s `id` field. */ @@ -8877,6 +9997,44 @@ export interface AppFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} export interface ConnectedAccountsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -9266,8 +10424,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -9288,6 +10464,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -9296,6 +10484,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -9948,6 +11152,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -9958,6 +11166,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -9972,8 +11194,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -10026,6 +11256,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -10622,6 +11854,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -10631,6 +11869,70 @@ export interface AppLimitFilter { /** Filter by the object’s `actor` relation. */ actor?: UserFilter; } +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} export interface OrgLimitFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -10648,6 +11950,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -10661,6 +11969,38 @@ export interface OrgLimitFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} export interface OrgLimitAggregateFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -10678,6 +12018,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -11215,6 +12563,92 @@ export interface AppPermissionDefaultFilter { /** Negates the expression. */ not?: AppPermissionDefaultFilter; } +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} export interface MembershipTypeFilter { /** Filter by the object’s `id` field. */ id?: IntFilter; @@ -11316,6 +12750,14 @@ export interface AppLimitDefaultFilter { or?: AppLimitDefaultFilter[]; /** Negates the expression. */ not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; } export interface OrgLimitDefaultFilter { /** Filter by the object’s `id` field. */ @@ -11332,6 +12774,10 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; } export interface UserConnectedAccountFilter { /** Filter by the object’s `id` field. */ @@ -11383,6 +12829,54 @@ export interface CommitFilter { /** Negates the expression. */ not?: CommitFilter; } +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} export interface RateLimitsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -11465,6 +12959,68 @@ export interface OrgMembershipDefaultFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface RlsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} export interface AppLimitEventFilter { /** Filter by the object’s `name` field. */ name?: StringFilter; @@ -11517,46 +13073,6 @@ export interface OrgLimitEventFilter { /** Negates the expression. */ not?: OrgLimitEventFilter; } -export interface PlansModuleFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `databaseId` field. */ - databaseId?: UUIDFilter; - /** Filter by the object’s `schemaId` field. */ - schemaId?: UUIDFilter; - /** Filter by the object’s `privateSchemaId` field. */ - privateSchemaId?: UUIDFilter; - /** Filter by the object’s `plansTableId` field. */ - plansTableId?: UUIDFilter; - /** Filter by the object’s `plansTableName` field. */ - plansTableName?: StringFilter; - /** Filter by the object’s `planLimitsTableId` field. */ - planLimitsTableId?: UUIDFilter; - /** Filter by the object’s `planLimitsTableName` field. */ - planLimitsTableName?: StringFilter; - /** Filter by the object’s `applyPlanFunction` field. */ - applyPlanFunction?: StringFilter; - /** Filter by the object’s `applyPlanAggregateFunction` field. */ - applyPlanAggregateFunction?: StringFilter; - /** Filter by the object’s `prefix` field. */ - prefix?: StringFilter; - /** Checks for all expressions in this list. */ - and?: PlansModuleFilter[]; - /** Checks for any expressions in this list. */ - or?: PlansModuleFilter[]; - /** Negates the expression. */ - not?: PlansModuleFilter; - /** Filter by the object’s `database` relation. */ - database?: DatabaseFilter; - /** Filter by the object’s `planLimitsTable` relation. */ - planLimitsTable?: TableFilter; - /** Filter by the object’s `plansTable` relation. */ - plansTable?: TableFilter; - /** Filter by the object’s `privateSchema` relation. */ - privateSchema?: SchemaFilter; - /** Filter by the object’s `schema` relation. */ - schema?: SchemaFilter; -} export interface RlsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -11599,6 +13115,92 @@ export interface RlsModuleFilter { /** Filter by the object’s `usersTable` relation. */ usersTable?: TableFilter; } +export interface DatabaseSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: DatabaseSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: DatabaseSettingFilter[]; + /** Negates the expression. */ + not?: DatabaseSettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +export interface PlansModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `plansTableId` field. */ + plansTableId?: UUIDFilter; + /** Filter by the object’s `plansTableName` field. */ + plansTableName?: StringFilter; + /** Filter by the object’s `planLimitsTableId` field. */ + planLimitsTableId?: UUIDFilter; + /** Filter by the object’s `planLimitsTableName` field. */ + planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; + /** Filter by the object’s `applyPlanFunction` field. */ + applyPlanFunction?: StringFilter; + /** Filter by the object’s `applyPlanAggregateFunction` field. */ + applyPlanAggregateFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: PlansModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: PlansModuleFilter[]; + /** Negates the expression. */ + not?: PlansModuleFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `planLimitsTable` relation. */ + planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; + /** Filter by the object’s `plansTable` relation. */ + plansTable?: TableFilter; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} export interface SqlActionFilter { /** Filter by the object’s `id` field. */ id?: IntFilter; @@ -11876,6 +13478,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -11884,6 +13490,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -12022,6 +13636,88 @@ export interface OrgMembershipSettingFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} export interface AppMembershipFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -12064,6 +13760,82 @@ export interface AppMembershipFilter { /** Filter by the object’s `actor` relation. */ actor?: UserFilter; } +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} export interface HierarchyModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -12431,6 +14203,32 @@ export type SpatialRelationOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type PartitionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'TABLE_ID_ASC' + | 'TABLE_ID_DESC' + | 'STRATEGY_ASC' + | 'STRATEGY_DESC' + | 'PARTITION_KEY_ID_ASC' + | 'PARTITION_KEY_ID_DESC' + | 'INTERVAL_ASC' + | 'INTERVAL_DESC' + | 'RETENTION_ASC' + | 'RETENTION_DESC' + | 'LOOKAHEAD_ASC' + | 'LOOKAHEAD_DESC' + | 'NAMING_PATTERN_ASC' + | 'NAMING_PATTERN_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; export type ForeignKeyConstraintOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -12981,6 +14779,18 @@ export type EnumOrderBy = | 'SCOPE_DESC' | 'TAGS_ASC' | 'TAGS_DESC'; +export type FunctionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC'; export type ApiSchemaOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13065,6 +14875,18 @@ export type SiteThemeOrderBy = | 'SITE_ID_DESC' | 'THEME_ASC' | 'THEME_DESC'; +export type CorsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ALLOWED_ORIGINS_ASC' + | 'ALLOWED_ORIGINS_DESC'; export type TriggerFunctionOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13175,6 +14997,36 @@ export type AppOrderBy = | 'APP_ID_PREFIX_DESC' | 'PLAY_STORE_LINK_ASC' | 'PLAY_STORE_LINK_DESC'; +export type ApiSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; export type ConnectedAccountsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13433,8 +15285,26 @@ export type LimitsModuleOrderBy = | 'LIMIT_UPDATE_TRIGGER_DESC' | 'LIMIT_CHECK_FUNCTION_ASC' | 'LIMIT_CHECK_FUNCTION_DESC' + | 'LIMIT_CREDITS_TABLE_ID_ASC' + | 'LIMIT_CREDITS_TABLE_ID_DESC' + | 'EVENTS_TABLE_ID_ASC' + | 'EVENTS_TABLE_ID_DESC' + | 'CREDIT_CODES_TABLE_ID_ASC' + | 'CREDIT_CODES_TABLE_ID_DESC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_ASC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_DESC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_ASC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_DESC' | 'AGGREGATE_TABLE_ID_ASC' | 'AGGREGATE_TABLE_ID_DESC' + | 'LIMIT_CAPS_TABLE_ID_ASC' + | 'LIMIT_CAPS_TABLE_ID_DESC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_ASC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_DESC' + | 'CAP_CHECK_TRIGGER_ASC' + | 'CAP_CHECK_TRIGGER_DESC' + | 'RESOLVE_CAP_FUNCTION_ASC' + | 'RESOLVE_CAP_FUNCTION_DESC' | 'PREFIX_ASC' | 'PREFIX_DESC' | 'MEMBERSHIP_TYPE_ASC' @@ -13879,6 +15749,10 @@ export type StorageModuleOrderBy = | 'ALLOWED_ORIGINS_DESC' | 'RESTRICT_READS_ASC' | 'RESTRICT_READS_DESC' + | 'HAS_PATH_SHARES_ASC' + | 'HAS_PATH_SHARES_DESC' + | 'PATH_SHARES_TABLE_ID_ASC' + | 'PATH_SHARES_TABLE_ID_DESC' | 'UPLOAD_URL_EXPIRY_SECONDS_ASC' | 'UPLOAD_URL_EXPIRY_SECONDS_DESC' | 'DOWNLOAD_URL_EXPIRY_SECONDS_ASC' @@ -13888,7 +15762,21 @@ export type StorageModuleOrderBy = | 'MAX_FILENAME_LENGTH_ASC' | 'MAX_FILENAME_LENGTH_DESC' | 'CACHE_TTL_SECONDS_ASC' - | 'CACHE_TTL_SECONDS_DESC'; + | 'CACHE_TTL_SECONDS_DESC' + | 'MAX_BULK_FILES_ASC' + | 'MAX_BULK_FILES_DESC' + | 'MAX_BULK_TOTAL_SIZE_ASC' + | 'MAX_BULK_TOTAL_SIZE_DESC' + | 'HAS_VERSIONING_ASC' + | 'HAS_VERSIONING_DESC' + | 'HAS_CONTENT_HASH_ASC' + | 'HAS_CONTENT_HASH_DESC' + | 'HAS_CUSTOM_KEYS_ASC' + | 'HAS_CUSTOM_KEYS_DESC' + | 'HAS_AUDIT_LOG_ASC' + | 'HAS_AUDIT_LOG_DESC' + | 'FILE_EVENTS_TABLE_ID_ASC' + | 'FILE_EVENTS_TABLE_ID_DESC'; export type EntityTypeProvisionOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13939,6 +15827,8 @@ export type EntityTypeProvisionOrderBy = | 'OUT_BUCKETS_TABLE_ID_DESC' | 'OUT_FILES_TABLE_ID_ASC' | 'OUT_FILES_TABLE_ID_DESC' + | 'OUT_PATH_SHARES_TABLE_ID_ASC' + | 'OUT_PATH_SHARES_TABLE_ID_DESC' | 'OUT_INVITES_MODULE_ID_ASC' | 'OUT_INVITES_MODULE_ID_DESC'; export type WebauthnCredentialsModuleOrderBy = @@ -14320,7 +16210,53 @@ export type AppLimitOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; export type OrgLimitOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14341,8 +16277,32 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgLimitAggregateOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14362,7 +16322,15 @@ export type OrgLimitAggregateOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; export type AppStepOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14749,6 +16717,64 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; export type MembershipTypeOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14873,6 +16899,28 @@ export type CommitOrderBy = | 'TREE_ID_DESC' | 'DATE_ASC' | 'DATE_DESC'; +export type PubkeySettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CRYPTO_NETWORK_ASC' + | 'CRYPTO_NETWORK_DESC' + | 'USER_FIELD_ASC' + | 'USER_FIELD_DESC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_ASC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_DESC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_DESC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_ASC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_DESC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_DESC'; export type RateLimitsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14931,6 +16979,30 @@ export type OrgMembershipDefaultOrderBy = | 'IS_APPROVED_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +export type RlsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'AUTHENTICATE_SCHEMA_ID_ASC' + | 'AUTHENTICATE_SCHEMA_ID_DESC' + | 'ROLE_SCHEMA_ID_ASC' + | 'ROLE_SCHEMA_ID_DESC' + | 'AUTHENTICATE_FUNCTION_ID_ASC' + | 'AUTHENTICATE_FUNCTION_ID_DESC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_ASC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_DESC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_ASC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_DESC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_ASC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_DESC'; export type AppLimitEventOrderBy = | 'NATURAL' | 'NAME_ASC' @@ -14971,32 +17043,6 @@ export type OrgLimitEventOrderBy = | 'MAX_AT_EVENT_DESC' | 'REASON_ASC' | 'REASON_DESC'; -export type PlansModuleOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'DATABASE_ID_ASC' - | 'DATABASE_ID_DESC' - | 'SCHEMA_ID_ASC' - | 'SCHEMA_ID_DESC' - | 'PRIVATE_SCHEMA_ID_ASC' - | 'PRIVATE_SCHEMA_ID_DESC' - | 'PLANS_TABLE_ID_ASC' - | 'PLANS_TABLE_ID_DESC' - | 'PLANS_TABLE_NAME_ASC' - | 'PLANS_TABLE_NAME_DESC' - | 'PLAN_LIMITS_TABLE_ID_ASC' - | 'PLAN_LIMITS_TABLE_ID_DESC' - | 'PLAN_LIMITS_TABLE_NAME_ASC' - | 'PLAN_LIMITS_TABLE_NAME_DESC' - | 'APPLY_PLAN_FUNCTION_ASC' - | 'APPLY_PLAN_FUNCTION_DESC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' - | 'PREFIX_ASC' - | 'PREFIX_DESC'; export type RlsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15023,6 +17069,64 @@ export type RlsModuleOrderBy = | 'CURRENT_ROLE_DESC' | 'CURRENT_ROLE_ID_ASC' | 'CURRENT_ROLE_ID_DESC'; +export type DatabaseSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; +export type PlansModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PLANS_TABLE_ID_ASC' + | 'PLANS_TABLE_ID_DESC' + | 'PLANS_TABLE_NAME_ASC' + | 'PLANS_TABLE_NAME_DESC' + | 'PLAN_LIMITS_TABLE_ID_ASC' + | 'PLAN_LIMITS_TABLE_ID_DESC' + | 'PLAN_LIMITS_TABLE_NAME_ASC' + | 'PLAN_LIMITS_TABLE_NAME_DESC' + | 'PLAN_PRICING_TABLE_ID_ASC' + | 'PLAN_PRICING_TABLE_ID_DESC' + | 'PLAN_OVERRIDES_TABLE_ID_ASC' + | 'PLAN_OVERRIDES_TABLE_ID_DESC' + | 'APPLY_PLAN_FUNCTION_ASC' + | 'APPLY_PLAN_FUNCTION_DESC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; export type SqlActionOrderBy = | 'NATURAL' | 'ID_ASC' @@ -15169,6 +17273,46 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +export type WebauthnSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CREDENTIALS_SCHEMA_ID_ASC' + | 'CREDENTIALS_SCHEMA_ID_DESC' + | 'SESSIONS_SCHEMA_ID_ASC' + | 'SESSIONS_SCHEMA_ID_DESC' + | 'SESSION_SECRETS_SCHEMA_ID_ASC' + | 'SESSION_SECRETS_SCHEMA_ID_DESC' + | 'CREDENTIALS_TABLE_ID_ASC' + | 'CREDENTIALS_TABLE_ID_DESC' + | 'SESSIONS_TABLE_ID_ASC' + | 'SESSIONS_TABLE_ID_DESC' + | 'SESSION_CREDENTIALS_TABLE_ID_ASC' + | 'SESSION_CREDENTIALS_TABLE_ID_DESC' + | 'SESSION_SECRETS_TABLE_ID_ASC' + | 'SESSION_SECRETS_TABLE_ID_DESC' + | 'USER_FIELD_ID_ASC' + | 'USER_FIELD_ID_DESC' + | 'RP_ID_ASC' + | 'RP_ID_DESC' + | 'RP_NAME_ASC' + | 'RP_NAME_DESC' + | 'ORIGIN_ALLOWLIST_ASC' + | 'ORIGIN_ALLOWLIST_DESC' + | 'ATTESTATION_TYPE_ASC' + | 'ATTESTATION_TYPE_DESC' + | 'REQUIRE_USER_VERIFICATION_ASC' + | 'REQUIRE_USER_VERIFICATION_DESC' + | 'RESIDENT_KEY_ASC' + | 'RESIDENT_KEY_DESC' + | 'CHALLENGE_EXPIRY_SECONDS_ASC' + | 'CHALLENGE_EXPIRY_SECONDS_DESC'; export type AppMembershipOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15205,6 +17349,50 @@ export type AppMembershipOrderBy = | 'ACTOR_ID_DESC' | 'PROFILE_ID_ASC' | 'PROFILE_ID_DESC'; +export type BillingProviderModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PROVIDER_ASC' + | 'PROVIDER_DESC' + | 'PRODUCTS_TABLE_ID_ASC' + | 'PRODUCTS_TABLE_ID_DESC' + | 'PRICES_TABLE_ID_ASC' + | 'PRICES_TABLE_ID_DESC' + | 'SUBSCRIPTIONS_TABLE_ID_ASC' + | 'SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_ID_ASC' + | 'BILLING_CUSTOMERS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_NAME_ASC' + | 'BILLING_CUSTOMERS_TABLE_NAME_DESC' + | 'BILLING_PRODUCTS_TABLE_ID_ASC' + | 'BILLING_PRODUCTS_TABLE_ID_DESC' + | 'BILLING_PRODUCTS_TABLE_NAME_ASC' + | 'BILLING_PRODUCTS_TABLE_NAME_DESC' + | 'BILLING_PRICES_TABLE_ID_ASC' + | 'BILLING_PRICES_TABLE_ID_DESC' + | 'BILLING_PRICES_TABLE_NAME_ASC' + | 'BILLING_PRICES_TABLE_NAME_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_DESC' + | 'PROCESS_BILLING_EVENT_FUNCTION_ASC' + | 'PROCESS_BILLING_EVENT_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; export type HierarchyModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15658,6 +17846,38 @@ export interface DeleteSpatialRelationInput { clientMutationId?: string; id: string; } +export interface CreatePartitionInput { + clientMutationId?: string; + partition: { + databaseId: string; + tableId: string; + strategy: string; + partitionKeyId: string; + interval?: string; + retention?: string; + lookahead?: number; + namingPattern?: string; + }; +} +export interface PartitionPatch { + databaseId?: string | null; + tableId?: string | null; + strategy?: string | null; + partitionKeyId?: string | null; + interval?: string | null; + retention?: string | null; + lookahead?: number | null; + namingPattern?: string | null; +} +export interface UpdatePartitionInput { + clientMutationId?: string; + id: string; + partitionPatch: PartitionPatch; +} +export interface DeletePartitionInput { + clientMutationId?: string; + id: string; +} export interface CreateForeignKeyConstraintInput { clientMutationId?: string; foreignKeyConstraint: { @@ -16368,6 +18588,28 @@ export interface DeleteEnumInput { clientMutationId?: string; id: string; } +export interface CreateFunctionInput { + clientMutationId?: string; + function: { + databaseId: string; + schemaId: string; + name: string; + }; +} +export interface FunctionPatch { + databaseId?: string | null; + schemaId?: string | null; + name?: string | null; +} +export interface UpdateFunctionInput { + clientMutationId?: string; + id: string; + functionPatch: FunctionPatch; +} +export interface DeleteFunctionInput { + clientMutationId?: string; + id: string; +} export interface CreateApiSchemaInput { clientMutationId?: string; apiSchema: { @@ -16513,6 +18755,28 @@ export interface DeleteSiteThemeInput { clientMutationId?: string; id: string; } +export interface CreateCorsSettingInput { + clientMutationId?: string; + corsSetting: { + databaseId: string; + apiId?: string; + allowedOrigins?: string[]; + }; +} +export interface CorsSettingPatch { + databaseId?: string | null; + apiId?: string | null; + allowedOrigins?: string[] | null; +} +export interface UpdateCorsSettingInput { + clientMutationId?: string; + id: string; + corsSettingPatch: CorsSettingPatch; +} +export interface DeleteCorsSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateTriggerFunctionInput { clientMutationId?: string; triggerFunction: { @@ -16670,6 +18934,46 @@ export interface DeleteAppInput { clientMutationId?: string; id: string; } +export interface CreateApiSettingInput { + clientMutationId?: string; + apiSetting: { + databaseId: string; + apiId: string; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: Record; + }; +} +export interface ApiSettingPatch { + databaseId?: string | null; + apiId?: string | null; + enableAggregates?: boolean | null; + enablePostgis?: boolean | null; + enableSearch?: boolean | null; + enableDirectUploads?: boolean | null; + enablePresignedUploads?: boolean | null; + enableManyToMany?: boolean | null; + enableConnectionFilter?: boolean | null; + enableLtree?: boolean | null; + enableLlm?: boolean | null; + options?: Record | null; +} +export interface UpdateApiSettingInput { + clientMutationId?: string; + id: string; + apiSettingPatch: ApiSettingPatch; +} +export interface DeleteApiSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateConnectedAccountsModuleInput { clientMutationId?: string; connectedAccountsModule: { @@ -17002,7 +19306,16 @@ export interface CreateLimitsModuleInput { limitDecrementTrigger?: string; limitUpdateTrigger?: string; limitCheckFunction?: string; + limitCreditsTableId?: string; + eventsTableId?: string; + creditCodesTableId?: string; + creditCodeItemsTableId?: string; + creditRedemptionsTableId?: string; aggregateTableId?: string; + limitCapsTableId?: string; + limitCapsDefaultsTableId?: string; + capCheckTrigger?: string; + resolveCapFunction?: string; prefix?: string; membershipType: number; entityTableId?: string; @@ -17023,7 +19336,16 @@ export interface LimitsModulePatch { limitDecrementTrigger?: string | null; limitUpdateTrigger?: string | null; limitCheckFunction?: string | null; + limitCreditsTableId?: string | null; + eventsTableId?: string | null; + creditCodesTableId?: string | null; + creditCodeItemsTableId?: string | null; + creditRedemptionsTableId?: string | null; aggregateTableId?: string | null; + limitCapsTableId?: string | null; + limitCapsDefaultsTableId?: string | null; + capCheckTrigger?: string | null; + resolveCapFunction?: string | null; prefix?: string | null; membershipType?: number | null; entityTableId?: string | null; @@ -17563,11 +19885,20 @@ export interface CreateStorageModuleInput { provider?: string; allowedOrigins?: string[]; restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: string; uploadUrlExpirySeconds?: number; downloadUrlExpirySeconds?: number; defaultMaxFileSize?: string; maxFilenameLength?: number; cacheTtlSeconds?: number; + maxBulkFiles?: number; + maxBulkTotalSize?: string; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: string; }; } export interface StorageModulePatch { @@ -17587,11 +19918,20 @@ export interface StorageModulePatch { provider?: string | null; allowedOrigins?: string[] | null; restrictReads?: boolean | null; + hasPathShares?: boolean | null; + pathSharesTableId?: string | null; uploadUrlExpirySeconds?: number | null; downloadUrlExpirySeconds?: number | null; defaultMaxFileSize?: string | null; maxFilenameLength?: number | null; cacheTtlSeconds?: number | null; + maxBulkFiles?: number | null; + maxBulkTotalSize?: string | null; + hasVersioning?: boolean | null; + hasContentHash?: boolean | null; + hasCustomKeys?: boolean | null; + hasAuditLog?: boolean | null; + fileEventsTableId?: string | null; } export interface UpdateStorageModuleInput { clientMutationId?: string; @@ -17627,6 +19967,7 @@ export interface CreateEntityTypeProvisionInput { outStorageModuleId?: string; outBucketsTableId?: string; outFilesTableId?: string; + outPathSharesTableId?: string; outInvitesModuleId?: string; }; } @@ -17653,6 +19994,7 @@ export interface EntityTypeProvisionPatch { outStorageModuleId?: string | null; outBucketsTableId?: string | null; outFilesTableId?: string | null; + outPathSharesTableId?: string | null; outInvitesModuleId?: string | null; } export interface UpdateEntityTypeProvisionInput { @@ -18153,6 +20495,9 @@ export interface CreateAppLimitInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; }; } export interface AppLimitPatch { @@ -18163,6 +20508,9 @@ export interface AppLimitPatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; } export interface UpdateAppLimitInput { clientMutationId?: string; @@ -18173,6 +20521,76 @@ export interface DeleteAppLimitInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + appLimitCredit: { + defaultLimitId: string; + actorId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface AppLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + appLimitCreditPatch: AppLimitCreditPatch; +} +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + appLimitCreditCodeItem: { + creditCodeId: string; + defaultLimitId: string; + amount: string; + creditType?: string; + }; +} +export interface AppLimitCreditCodeItemPatch { + creditCodeId?: string | null; + defaultLimitId?: string | null; + amount?: string | null; + creditType?: string | null; +} +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + appLimitCreditRedemption: { + creditCodeId: string; + entityId: string; + }; +} +export interface AppLimitCreditRedemptionPatch { + creditCodeId?: string | null; + entityId?: string | null; +} +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgLimitInput { clientMutationId?: string; orgLimit: { @@ -18183,6 +20601,9 @@ export interface CreateOrgLimitInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; entityId: string; }; } @@ -18194,6 +20615,9 @@ export interface OrgLimitPatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; entityId?: string | null; } export interface UpdateOrgLimitInput { @@ -18205,6 +20629,34 @@ export interface DeleteOrgLimitInput { clientMutationId?: string; id: string; } +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + orgLimitCredit: { + defaultLimitId: string; + actorId?: string; + entityId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface OrgLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + entityId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgLimitAggregateInput { clientMutationId?: string; orgLimitAggregate: { @@ -18215,6 +20667,10 @@ export interface CreateOrgLimitAggregateInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + reserved?: string; }; } export interface OrgLimitAggregatePatch { @@ -18225,6 +20681,10 @@ export interface OrgLimitAggregatePatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + reserved?: string | null; } export interface UpdateOrgLimitAggregateInput { clientMutationId?: string; @@ -18766,6 +21226,114 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + appLimitCreditCode: { + code: string; + maxRedemptions?: number; + currentRedemptions?: number; + expiresAt?: string; + }; +} +export interface AppLimitCreditCodePatch { + code?: string | null; + maxRedemptions?: number | null; + currentRedemptions?: number | null; + expiresAt?: string | null; +} +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + appLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface AppLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + orgLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface OrgLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + appLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface AppLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + appLimitCapPatch: AppLimitCapPatch; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + orgLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface OrgLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + orgLimitCapPatch: OrgLimitCapPatch; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface CreateMembershipTypeInput { clientMutationId?: string; membershipType: { @@ -18972,6 +21540,38 @@ export interface DeleteCommitInput { clientMutationId?: string; id: string; } +export interface CreatePubkeySettingInput { + clientMutationId?: string; + pubkeySetting: { + databaseId: string; + schemaId?: string; + cryptoNetwork?: string; + userField?: string; + signUpWithKeyFunctionId?: string; + signInRequestChallengeFunctionId?: string; + signInRecordFailureFunctionId?: string; + signInWithChallengeFunctionId?: string; + }; +} +export interface PubkeySettingPatch { + databaseId?: string | null; + schemaId?: string | null; + cryptoNetwork?: string | null; + userField?: string | null; + signUpWithKeyFunctionId?: string | null; + signInRequestChallengeFunctionId?: string | null; + signInRecordFailureFunctionId?: string | null; + signInWithChallengeFunctionId?: string | null; +} +export interface UpdatePubkeySettingInput { + clientMutationId?: string; + id: string; + pubkeySettingPatch: PubkeySettingPatch; +} +export interface DeletePubkeySettingInput { + clientMutationId?: string; + id: string; +} export interface CreateRateLimitsModuleInput { clientMutationId?: string; rateLimitsModule: { @@ -19052,6 +21652,40 @@ export interface DeleteOrgMembershipDefaultInput { clientMutationId?: string; id: string; } +export interface CreateRlsSettingInput { + clientMutationId?: string; + rlsSetting: { + databaseId: string; + authenticateSchemaId?: string; + roleSchemaId?: string; + authenticateFunctionId?: string; + authenticateStrictFunctionId?: string; + currentRoleFunctionId?: string; + currentRoleIdFunctionId?: string; + currentUserAgentFunctionId?: string; + currentIpAddressFunctionId?: string; + }; +} +export interface RlsSettingPatch { + databaseId?: string | null; + authenticateSchemaId?: string | null; + roleSchemaId?: string | null; + authenticateFunctionId?: string | null; + authenticateStrictFunctionId?: string | null; + currentRoleFunctionId?: string | null; + currentRoleIdFunctionId?: string | null; + currentUserAgentFunctionId?: string | null; + currentIpAddressFunctionId?: string | null; +} +export interface UpdateRlsSettingInput { + clientMutationId?: string; + id: string; + rlsSettingPatch: RlsSettingPatch; +} +export interface DeleteRlsSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateAppLimitEventInput { clientMutationId?: string; appLimitEvent: { @@ -19120,42 +21754,6 @@ export interface DeleteOrgLimitEventInput { clientMutationId?: string; id: string; } -export interface CreatePlansModuleInput { - clientMutationId?: string; - plansModule: { - databaseId: string; - schemaId?: string; - privateSchemaId?: string; - plansTableId?: string; - plansTableName?: string; - planLimitsTableId?: string; - planLimitsTableName?: string; - applyPlanFunction?: string; - applyPlanAggregateFunction?: string; - prefix?: string; - }; -} -export interface PlansModulePatch { - databaseId?: string | null; - schemaId?: string | null; - privateSchemaId?: string | null; - plansTableId?: string | null; - plansTableName?: string | null; - planLimitsTableId?: string | null; - planLimitsTableName?: string | null; - applyPlanFunction?: string | null; - applyPlanAggregateFunction?: string | null; - prefix?: string | null; -} -export interface UpdatePlansModuleInput { - clientMutationId?: string; - id: string; - plansModulePatch: PlansModulePatch; -} -export interface DeletePlansModuleInput { - clientMutationId?: string; - id: string; -} export interface CreateRlsModuleInput { clientMutationId?: string; rlsModule: { @@ -19192,6 +21790,84 @@ export interface DeleteRlsModuleInput { clientMutationId?: string; id: string; } +export interface CreateDatabaseSettingInput { + clientMutationId?: string; + databaseSetting: { + databaseId: string; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: Record; + }; +} +export interface DatabaseSettingPatch { + databaseId?: string | null; + enableAggregates?: boolean | null; + enablePostgis?: boolean | null; + enableSearch?: boolean | null; + enableDirectUploads?: boolean | null; + enablePresignedUploads?: boolean | null; + enableManyToMany?: boolean | null; + enableConnectionFilter?: boolean | null; + enableLtree?: boolean | null; + enableLlm?: boolean | null; + options?: Record | null; +} +export interface UpdateDatabaseSettingInput { + clientMutationId?: string; + id: string; + databaseSettingPatch: DatabaseSettingPatch; +} +export interface DeleteDatabaseSettingInput { + clientMutationId?: string; + id: string; +} +export interface CreatePlansModuleInput { + clientMutationId?: string; + plansModule: { + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + plansTableId?: string; + plansTableName?: string; + planLimitsTableId?: string; + planLimitsTableName?: string; + planPricingTableId?: string; + planOverridesTableId?: string; + applyPlanFunction?: string; + applyPlanAggregateFunction?: string; + prefix?: string; + }; +} +export interface PlansModulePatch { + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + plansTableId?: string | null; + plansTableName?: string | null; + planLimitsTableId?: string | null; + planLimitsTableName?: string | null; + planPricingTableId?: string | null; + planOverridesTableId?: string | null; + applyPlanFunction?: string | null; + applyPlanAggregateFunction?: string | null; + prefix?: string | null; +} +export interface UpdatePlansModuleInput { + clientMutationId?: string; + id: string; + plansModulePatch: PlansModulePatch; +} +export interface DeletePlansModuleInput { + clientMutationId?: string; + id: string; +} export interface CreateSqlActionInput { clientMutationId?: string; sqlAction: { @@ -19373,6 +22049,56 @@ export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } +export interface CreateWebauthnSettingInput { + clientMutationId?: string; + webauthnSetting: { + databaseId: string; + schemaId?: string; + credentialsSchemaId?: string; + sessionsSchemaId?: string; + sessionSecretsSchemaId?: string; + credentialsTableId?: string; + sessionsTableId?: string; + sessionCredentialsTableId?: string; + sessionSecretsTableId?: string; + userFieldId?: string; + rpId?: string; + rpName?: string; + originAllowlist?: string[]; + attestationType?: string; + requireUserVerification?: boolean; + residentKey?: string; + challengeExpirySeconds?: string; + }; +} +export interface WebauthnSettingPatch { + databaseId?: string | null; + schemaId?: string | null; + credentialsSchemaId?: string | null; + sessionsSchemaId?: string | null; + sessionSecretsSchemaId?: string | null; + credentialsTableId?: string | null; + sessionsTableId?: string | null; + sessionCredentialsTableId?: string | null; + sessionSecretsTableId?: string | null; + userFieldId?: string | null; + rpId?: string | null; + rpName?: string | null; + originAllowlist?: string[] | null; + attestationType?: string | null; + requireUserVerification?: boolean | null; + residentKey?: string | null; + challengeExpirySeconds?: string | null; +} +export interface UpdateWebauthnSettingInput { + clientMutationId?: string; + id: string; + webauthnSettingPatch: WebauthnSettingPatch; +} +export interface DeleteWebauthnSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateAppMembershipInput { clientMutationId?: string; appMembership: { @@ -19415,6 +22141,60 @@ export interface DeleteAppMembershipInput { clientMutationId?: string; id: string; } +export interface CreateBillingProviderModuleInput { + clientMutationId?: string; + billingProviderModule: { + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + provider?: string; + productsTableId?: string; + pricesTableId?: string; + subscriptionsTableId?: string; + billingCustomersTableId?: string; + billingCustomersTableName?: string; + billingProductsTableId?: string; + billingProductsTableName?: string; + billingPricesTableId?: string; + billingPricesTableName?: string; + billingSubscriptionsTableId?: string; + billingSubscriptionsTableName?: string; + billingWebhookEventsTableId?: string; + billingWebhookEventsTableName?: string; + processBillingEventFunction?: string; + prefix?: string; + }; +} +export interface BillingProviderModulePatch { + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + provider?: string | null; + productsTableId?: string | null; + pricesTableId?: string | null; + subscriptionsTableId?: string | null; + billingCustomersTableId?: string | null; + billingCustomersTableName?: string | null; + billingProductsTableId?: string | null; + billingProductsTableName?: string | null; + billingPricesTableId?: string | null; + billingPricesTableName?: string | null; + billingSubscriptionsTableId?: string | null; + billingSubscriptionsTableName?: string | null; + billingWebhookEventsTableId?: string | null; + billingWebhookEventsTableName?: string | null; + processBillingEventFunction?: string | null; + prefix?: string | null; +} +export interface UpdateBillingProviderModuleInput { + clientMutationId?: string; + id: string; + billingProviderModulePatch: BillingProviderModulePatch; +} +export interface DeleteBillingProviderModuleInput { + clientMutationId?: string; + id: string; +} export interface CreateHierarchyModuleInput { clientMutationId?: string; hierarchyModule: { @@ -19491,7 +22271,9 @@ export const connectionFieldsMap = { enums: 'Enum', embeddingChunks: 'EmbeddingChunk', spatialRelations: 'SpatialRelation', + functions: 'Function', databaseTransfers: 'DatabaseTransfer', + partitions: 'Partition', apis: 'Api', apiModules: 'ApiModule', apiSchemas: 'ApiSchema', @@ -19501,6 +22283,8 @@ export const connectionFieldsMap = { siteMetadata: 'SiteMetadatum', siteModules: 'SiteModule', siteThemes: 'SiteTheme', + apiSettings: 'ApiSetting', + corsSettings: 'CorsSetting', connectedAccountsModules: 'ConnectedAccountsModule', cryptoAddressesModules: 'CryptoAddressesModule', cryptoAuthModules: 'CryptoAuthModule', @@ -19539,6 +22323,7 @@ export const connectionFieldsMap = { views: 'View', defaultPrivileges: 'DefaultPrivilege', enums: 'Enum', + functions: 'Function', apiSchemas: 'ApiSchema', sessionSecretsModules: 'SessionSecretsModule', identityProvidersModulesByPrivateSchemaId: 'IdentityProvidersModule', @@ -19571,6 +22356,7 @@ export const connectionFieldsMap = { Field: { spatialRelations: 'SpatialRelation', spatialRelationsByRefFieldId: 'SpatialRelation', + partitionsByPartitionKeyId: 'Partition', }, View: { viewTables: 'ViewTable', @@ -19581,6 +22367,7 @@ export const connectionFieldsMap = { apiModules: 'ApiModule', apiSchemas: 'ApiSchema', domains: 'Domain', + corsSettings: 'CorsSetting', }, Site: { domains: 'Domain', @@ -19599,6 +22386,17 @@ export const connectionFieldsMap = { agentMessagesByThreadId: 'AgentMessage', agentTasksByThreadId: 'AgentTask', }, + AppLimitCreditCode: { + appLimitCreditCodeItemsByCreditCodeId: 'AppLimitCreditCodeItem', + appLimitCreditRedemptionsByCreditCodeId: 'AppLimitCreditRedemption', + }, + AppLimitDefault: { + appLimitCreditsByDefaultLimitId: 'AppLimitCredit', + appLimitCreditCodeItemsByDefaultLimitId: 'AppLimitCreditCodeItem', + }, + OrgLimitDefault: { + orgLimitCreditsByDefaultLimitId: 'OrgLimitCredit', + }, User: { ownedDatabases: 'Database', appAdminGrantsByActorId: 'AppAdminGrant', @@ -19631,8 +22429,11 @@ export const connectionFieldsMap = { childOrgChartEdgeGrants: 'OrgChartEdgeGrant', orgPermissionDefaultsByEntityId: 'OrgPermissionDefault', appLimitsByActorId: 'AppLimit', + appLimitCreditsByActorId: 'AppLimitCredit', orgLimitsByActorId: 'OrgLimit', orgLimitsByEntityId: 'OrgLimit', + orgLimitCreditsByActorId: 'OrgLimitCredit', + orgLimitCreditsByEntityId: 'OrgLimitCredit', orgLimitAggregatesByEntityId: 'OrgLimitAggregate', appStepsByActorId: 'AppStep', appAchievementsByActorId: 'AppAchievement', @@ -19788,6 +22589,11 @@ export interface SetFieldOrderInput { clientMutationId?: string; fieldIds?: string[]; } +export interface AppendSmartTagsInput { + clientMutationId?: string; + pTableId?: string; + pTags?: Record; +} export interface ProvisionUniqueConstraintInput { clientMutationId?: string; databaseId?: string; @@ -19963,25 +22769,6 @@ export interface ProvisionTableInput { uniqueConstraints?: Record; description?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -20180,6 +22967,15 @@ export interface DatabaseToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where at least one related entity matches. */ @@ -20189,6 +22985,15 @@ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where no related entity matches. */ none?: DatabaseTransferFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `Api` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyApiFilter { /** Filters to entities where at least one related entity matches. */ @@ -20270,6 +23075,24 @@ export interface DatabaseToManySiteThemeFilter { /** Filters to entities where no related entity matches. */ none?: SiteThemeFilter; } +/** A filter to be used against many `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyApiSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: ApiSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: ApiSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: ApiSettingFilter; +} +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} /** A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyConnectedAccountsModuleFilter { /** Filters to entities where at least one related entity matches. */ @@ -20619,6 +23442,15 @@ export interface SchemaToManyEnumFilter { /** Filters to entities where no related entity matches. */ none?: EnumFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface SchemaToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ */ export interface SchemaToManyApiSchemaFilter { /** Filters to entities where at least one related entity matches. */ @@ -20817,6 +23649,15 @@ export interface FieldToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface FieldToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ */ export interface ViewToManyViewTableFilter { /** Filters to entities where at least one related entity matches. */ @@ -21022,6 +23863,15 @@ export interface ApiToManyDomainFilter { /** Filters to entities where no related entity matches. */ none?: DomainFilter; } +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} /** A filter to be used against ConstructiveInternalTypeAttachment fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeAttachmentFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21453,6 +24303,24 @@ export interface AgentThreadToManyAgentTaskFilter { /** Filters to entities where no related entity matches. */ none?: AgentTaskFilter; } +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} /** A filter to be used against ConstructiveInternalTypeUpload fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeUploadFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21488,6 +24356,33 @@ export interface ConstructiveInternalTypeUploadFilter { /** Contained by the specified JSON. */ containedBy?: ConstructiveInternalTypeUpload; } +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against String fields with pg_trgm support. All fields are combined with a logical ‘and.’ */ export interface StringTrgmFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21695,6 +24590,15 @@ export interface UserToManyAppLimitFilter { /** Filters to entities where no related entity matches. */ none?: AppLimitFilter; } +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} /** A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitFilter { /** Filters to entities where at least one related entity matches. */ @@ -21704,6 +24608,15 @@ export interface UserToManyOrgLimitFilter { /** Filters to entities where no related entity matches. */ none?: OrgLimitFilter; } +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against many `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitAggregateFilter { /** Filters to entities where at least one related entity matches. */ @@ -21932,6 +24845,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -22067,6 +24984,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -22201,6 +25122,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } /** A filter to be used against `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ */ export interface ForeignKeyConstraintFilter { @@ -22867,6 +25792,27 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +/** A filter to be used against `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} /** A filter to be used against `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseTransferFilter { /** Filter by the object’s `id` field. */ @@ -22906,6 +25852,43 @@ export interface DatabaseTransferFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +/** A filter to be used against `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} /** A filter to be used against `Api` object types. All fields are combined with a logical ‘and.’ */ export interface ApiFilter { /** Filter by the object’s `id` field. */ @@ -22942,6 +25925,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } /** A filter to be used against `ApiModule` object types. All fields are combined with a logical ‘and.’ */ export interface ApiModuleFilter { @@ -23165,6 +26156,68 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +/** A filter to be used against `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} /** A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ export interface ConnectedAccountsModuleFilter { /** Filter by the object’s `id` field. */ @@ -23564,8 +26617,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -23586,6 +26657,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -23594,6 +26677,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -24298,6 +27397,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -24308,6 +27411,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -24322,8 +27439,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -24377,6 +27502,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -24796,6 +27923,106 @@ export interface AgentTaskFilter { /** Filter by the object’s `thread` relation. */ thread?: AgentThreadFilter; } +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} /** A filter to be used against `Database` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseFilter { /** Filter by the object’s `id` field. */ @@ -24908,10 +28135,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -24948,6 +28183,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -25092,6 +28351,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -25493,6 +28756,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -25520,6 +28789,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -25551,6 +28826,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -26465,6 +29748,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -26473,6 +29760,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -26573,6 +29868,309 @@ export interface UserFilter { */ unifiedSearch?: string; } +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `DatabaseSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: DatabaseSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: DatabaseSettingFilter[]; + /** Negates the expression. */ + not?: DatabaseSettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against `RlsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface RlsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} +/** A filter to be used against `PubkeySetting` object types. All fields are combined with a logical ‘and.’ */ +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} +/** A filter to be used against `WebauthnSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} /** A filter to be used against `RlsModule` object types. All fields are combined with a logical ‘and.’ */ export interface RlsModuleFilter { /** Filter by the object’s `id` field. */ @@ -26767,6 +30365,10 @@ export interface PlansModuleFilter { planLimitsTableId?: UUIDFilter; /** Filter by the object’s `planLimitsTableName` field. */ planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; /** Filter by the object’s `applyPlanFunction` field. */ applyPlanFunction?: StringFilter; /** Filter by the object’s `applyPlanAggregateFunction` field. */ @@ -26783,6 +30385,14 @@ export interface PlansModuleFilter { database?: DatabaseFilter; /** Filter by the object’s `planLimitsTable` relation. */ planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; /** Filter by the object’s `plansTable` relation. */ plansTable?: TableFilter; /** Filter by the object’s `privateSchema` relation. */ @@ -26841,6 +30451,83 @@ export interface BillingModuleFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +/** A filter to be used against `BillingProviderModule` object types. All fields are combined with a logical ‘and.’ */ +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} /** A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ */ export interface BitStringFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -27317,6 +31004,12 @@ export interface SetFieldOrderPayload { export type SetFieldOrderPayloadSelect = { clientMutationId?: boolean; }; +export interface AppendSmartTagsPayload { + clientMutationId?: string | null; +} +export type AppendSmartTagsPayloadSelect = { + clientMutationId?: boolean; +}; export interface ProvisionUniqueConstraintPayload { clientMutationId?: string | null; } @@ -27495,25 +31188,6 @@ export type ProvisionTablePayloadSelect = { select: ProvisionTableRecordSelect; }; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -27986,6 +31660,51 @@ export type DeleteSpatialRelationPayloadSelect = { select: SpatialRelationEdgeSelect; }; }; +export interface CreatePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was created by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type CreatePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; +export interface UpdatePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was updated by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type UpdatePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; +export interface DeletePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was deleted by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type DeletePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; export interface CreateForeignKeyConstraintPayload { clientMutationId?: string | null; /** The `ForeignKeyConstraint` that was created by this mutation. */ @@ -28886,6 +32605,51 @@ export type DeleteEnumPayloadSelect = { select: EnumEdgeSelect; }; }; +export interface CreateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was created by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type CreateFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; +export interface UpdateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was updated by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type UpdateFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; +export interface DeleteFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was deleted by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type DeleteFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; export interface CreateApiSchemaPayload { clientMutationId?: string | null; /** The `ApiSchema` that was created by this mutation. */ @@ -29156,6 +32920,51 @@ export type DeleteSiteThemePayloadSelect = { select: SiteThemeEdgeSelect; }; }; +export interface CreateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was created by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type CreateCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; +export interface UpdateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was updated by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type UpdateCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; +export interface DeleteCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was deleted by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type DeleteCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; export interface CreateTriggerFunctionPayload { clientMutationId?: string | null; /** The `TriggerFunction` that was created by this mutation. */ @@ -29381,6 +33190,51 @@ export type DeleteAppPayloadSelect = { select: AppEdgeSelect; }; }; +export interface CreateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was created by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type CreateApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; +export interface UpdateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was updated by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type UpdateApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; +export interface DeleteApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was deleted by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type DeleteApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; export interface CreateConnectedAccountsModulePayload { clientMutationId?: string | null; /** The `ConnectedAccountsModule` that was created by this mutation. */ @@ -31226,6 +35080,141 @@ export type DeleteAppLimitPayloadSelect = { select: AppLimitEdgeSelect; }; }; +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type CreateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type UpdateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type DeleteAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type CreateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type UpdateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type DeleteAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type CreateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type UpdateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type DeleteAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; export interface CreateOrgLimitPayload { clientMutationId?: string | null; /** The `OrgLimit` that was created by this mutation. */ @@ -31271,6 +35260,51 @@ export type DeleteOrgLimitPayloadSelect = { select: OrgLimitEdgeSelect; }; }; +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type CreateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type UpdateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type DeleteOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; export interface CreateOrgLimitAggregatePayload { clientMutationId?: string | null; /** The `OrgLimitAggregate` that was created by this mutation. */ @@ -32182,6 +36216,231 @@ export type DeleteAppPermissionDefaultPayloadSelect = { select: AppPermissionDefaultEdgeSelect; }; }; +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type CreateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type UpdateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type DeleteAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type CreateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type UpdateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type DeleteAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type CreateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type UpdateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type DeleteOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type CreateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type UpdateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type DeleteAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type CreateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type UpdateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type DeleteOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; export interface CreateMembershipTypePayload { clientMutationId?: string | null; /** The `MembershipType` that was created by this mutation. */ @@ -32474,6 +36733,51 @@ export type DeleteCommitPayloadSelect = { select: CommitEdgeSelect; }; }; +export interface CreatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was created by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type CreatePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; +export interface UpdatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was updated by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type UpdatePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; +export interface DeletePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was deleted by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type DeletePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; export interface CreateRateLimitsModulePayload { clientMutationId?: string | null; /** The `RateLimitsModule` that was created by this mutation. */ @@ -32609,6 +36913,51 @@ export type DeleteOrgMembershipDefaultPayloadSelect = { select: OrgMembershipDefaultEdgeSelect; }; }; +export interface CreateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was created by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type CreateRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; +export interface UpdateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was updated by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type UpdateRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; +export interface DeleteRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was deleted by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type DeleteRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; export interface CreateAppLimitEventPayload { clientMutationId?: string | null; /** The `AppLimitEvent` that was created by this mutation. */ @@ -32631,51 +36980,6 @@ export type CreateOrgLimitEventPayloadSelect = { select: OrgLimitEventSelect; }; }; -export interface CreatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was created by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type CreatePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; -export interface UpdatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was updated by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type UpdatePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; -export interface DeletePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was deleted by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type DeletePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; export interface CreateRlsModulePayload { clientMutationId?: string | null; /** The `RlsModule` that was created by this mutation. */ @@ -32721,6 +37025,96 @@ export type DeleteRlsModulePayloadSelect = { select: RlsModuleEdgeSelect; }; }; +export interface CreateDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was created by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type CreateDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface UpdateDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was updated by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type UpdateDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface DeleteDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was deleted by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type DeleteDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface CreatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was created by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type CreatePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; +export interface UpdatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was updated by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type UpdatePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; +export interface DeletePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was deleted by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type DeletePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; export interface CreateSqlActionPayload { clientMutationId?: string | null; /** The `SqlAction` that was created by this mutation. */ @@ -32878,6 +37272,51 @@ export type DeleteOrgMembershipSettingPayloadSelect = { select: OrgMembershipSettingEdgeSelect; }; }; +export interface CreateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was created by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type CreateWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; +export interface UpdateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was updated by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type UpdateWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; +export interface DeleteWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was deleted by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type DeleteWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; export interface CreateAppMembershipPayload { clientMutationId?: string | null; /** The `AppMembership` that was created by this mutation. */ @@ -32923,6 +37362,51 @@ export type DeleteAppMembershipPayloadSelect = { select: AppMembershipEdgeSelect; }; }; +export interface CreateBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was created by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type CreateBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; +export interface UpdateBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was updated by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type UpdateBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; +export interface DeleteBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was deleted by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type DeleteBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; export interface CreateHierarchyModulePayload { clientMutationId?: string | null; /** The `HierarchyModule` that was created by this mutation. */ @@ -33225,6 +37709,18 @@ export type SpatialRelationEdgeSelect = { select: SpatialRelationSelect; }; }; +/** A `Partition` edge in the connection. */ +export interface PartitionEdge { + cursor?: string | null; + /** The `Partition` at the end of the edge. */ + node?: Partition | null; +} +export type PartitionEdgeSelect = { + cursor?: boolean; + node?: { + select: PartitionSelect; + }; +}; /** A `ForeignKeyConstraint` edge in the connection. */ export interface ForeignKeyConstraintEdge { cursor?: string | null; @@ -33465,6 +37961,18 @@ export type EnumEdgeSelect = { select: EnumSelect; }; }; +/** A `Function` edge in the connection. */ +export interface FunctionEdge { + cursor?: string | null; + /** The `Function` at the end of the edge. */ + node?: Function | null; +} +export type FunctionEdgeSelect = { + cursor?: boolean; + node?: { + select: FunctionSelect; + }; +}; /** A `ApiSchema` edge in the connection. */ export interface ApiSchemaEdge { cursor?: string | null; @@ -33537,6 +38045,18 @@ export type SiteThemeEdgeSelect = { select: SiteThemeSelect; }; }; +/** A `CorsSetting` edge in the connection. */ +export interface CorsSettingEdge { + cursor?: string | null; + /** The `CorsSetting` at the end of the edge. */ + node?: CorsSetting | null; +} +export type CorsSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: CorsSettingSelect; + }; +}; /** A `TriggerFunction` edge in the connection. */ export interface TriggerFunctionEdge { cursor?: string | null; @@ -33597,6 +38117,18 @@ export type AppEdgeSelect = { select: AppSelect; }; }; +/** A `ApiSetting` edge in the connection. */ +export interface ApiSettingEdge { + cursor?: string | null; + /** The `ApiSetting` at the end of the edge. */ + node?: ApiSetting | null; +} +export type ApiSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: ApiSettingSelect; + }; +}; /** A `ConnectedAccountsModule` edge in the connection. */ export interface ConnectedAccountsModuleEdge { cursor?: string | null; @@ -34089,6 +38621,42 @@ export type AppLimitEdgeSelect = { select: AppLimitSelect; }; }; +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +export type AppLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditSelect; + }; +}; +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +export type AppLimitCreditCodeItemEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeItemSelect; + }; +}; +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +export type AppLimitCreditRedemptionEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditRedemptionSelect; + }; +}; /** A `OrgLimit` edge in the connection. */ export interface OrgLimitEdge { cursor?: string | null; @@ -34101,6 +38669,18 @@ export type OrgLimitEdgeSelect = { select: OrgLimitSelect; }; }; +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} +export type OrgLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCreditSelect; + }; +}; /** A `OrgLimitAggregate` edge in the connection. */ export interface OrgLimitAggregateEdge { cursor?: string | null; @@ -34341,6 +38921,66 @@ export type AppPermissionDefaultEdgeSelect = { select: AppPermissionDefaultSelect; }; }; +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} +export type AppLimitCreditCodeEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeSelect; + }; +}; +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +export type AppLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapsDefaultSelect; + }; +}; +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +export type OrgLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapsDefaultSelect; + }; +}; +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +export type AppLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapSelect; + }; +}; +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} +export type OrgLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapSelect; + }; +}; /** A `MembershipType` edge in the connection. */ export interface MembershipTypeEdge { cursor?: string | null; @@ -34413,6 +39053,18 @@ export type CommitEdgeSelect = { select: CommitSelect; }; }; +/** A `PubkeySetting` edge in the connection. */ +export interface PubkeySettingEdge { + cursor?: string | null; + /** The `PubkeySetting` at the end of the edge. */ + node?: PubkeySetting | null; +} +export type PubkeySettingEdgeSelect = { + cursor?: boolean; + node?: { + select: PubkeySettingSelect; + }; +}; /** A `RateLimitsModule` edge in the connection. */ export interface RateLimitsModuleEdge { cursor?: string | null; @@ -34449,16 +39101,16 @@ export type OrgMembershipDefaultEdgeSelect = { select: OrgMembershipDefaultSelect; }; }; -/** A `PlansModule` edge in the connection. */ -export interface PlansModuleEdge { +/** A `RlsSetting` edge in the connection. */ +export interface RlsSettingEdge { cursor?: string | null; - /** The `PlansModule` at the end of the edge. */ - node?: PlansModule | null; + /** The `RlsSetting` at the end of the edge. */ + node?: RlsSetting | null; } -export type PlansModuleEdgeSelect = { +export type RlsSettingEdgeSelect = { cursor?: boolean; node?: { - select: PlansModuleSelect; + select: RlsSettingSelect; }; }; /** A `RlsModule` edge in the connection. */ @@ -34473,6 +39125,30 @@ export type RlsModuleEdgeSelect = { select: RlsModuleSelect; }; }; +/** A `DatabaseSetting` edge in the connection. */ +export interface DatabaseSettingEdge { + cursor?: string | null; + /** The `DatabaseSetting` at the end of the edge. */ + node?: DatabaseSetting | null; +} +export type DatabaseSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: DatabaseSettingSelect; + }; +}; +/** A `PlansModule` edge in the connection. */ +export interface PlansModuleEdge { + cursor?: string | null; + /** The `PlansModule` at the end of the edge. */ + node?: PlansModule | null; +} +export type PlansModuleEdgeSelect = { + cursor?: boolean; + node?: { + select: PlansModuleSelect; + }; +}; /** A `BillingModule` edge in the connection. */ export interface BillingModuleEdge { cursor?: string | null; @@ -34509,6 +39185,18 @@ export type OrgMembershipSettingEdgeSelect = { select: OrgMembershipSettingSelect; }; }; +/** A `WebauthnSetting` edge in the connection. */ +export interface WebauthnSettingEdge { + cursor?: string | null; + /** The `WebauthnSetting` at the end of the edge. */ + node?: WebauthnSetting | null; +} +export type WebauthnSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: WebauthnSettingSelect; + }; +}; /** A `AppMembership` edge in the connection. */ export interface AppMembershipEdge { cursor?: string | null; @@ -34521,6 +39209,18 @@ export type AppMembershipEdgeSelect = { select: AppMembershipSelect; }; }; +/** A `BillingProviderModule` edge in the connection. */ +export interface BillingProviderModuleEdge { + cursor?: string | null; + /** The `BillingProviderModule` at the end of the edge. */ + node?: BillingProviderModule | null; +} +export type BillingProviderModuleEdgeSelect = { + cursor?: boolean; + node?: { + select: BillingProviderModuleSelect; + }; +}; /** A `HierarchyModule` edge in the connection. */ export interface HierarchyModuleEdge { cursor?: string | null; diff --git a/sdk/constructive-react/src/public/orm/models/apiSetting.ts b/sdk/constructive-react/src/public/orm/models/apiSetting.ts new file mode 100644 index 000000000..a7aeb908f --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/apiSetting.ts @@ -0,0 +1,237 @@ +/** + * ApiSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + ApiSetting, + ApiSettingWithRelations, + ApiSettingSelect, + ApiSettingFilter, + ApiSettingOrderBy, + CreateApiSettingInput, + UpdateApiSettingInput, + ApiSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class ApiSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'ApiSettingFilter', + 'ApiSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: args?.where, + }, + 'ApiSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'ApiSettingFilter', + 'ApiSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSetting', + document, + variables, + transform: (data: { + apiSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + apiSetting: data.apiSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'ApiSetting', + 'createApiSetting', + 'apiSetting', + args.select, + args.data, + 'CreateApiSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'createApiSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + ApiSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'ApiSetting', + 'updateApiSetting', + 'apiSetting', + args.select, + args.where.id, + args.data, + 'UpdateApiSettingInput', + 'id', + 'apiSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'updateApiSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'ApiSetting', + 'deleteApiSetting', + 'apiSetting', + { + id: args.where.id, + }, + 'DeleteApiSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'deleteApiSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/appLimitCap.ts b/sdk/constructive-react/src/public/orm/models/appLimitCap.ts new file mode 100644 index 000000000..b40f02904 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/appLimitCap.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCap, + AppLimitCapWithRelations, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, + CreateAppLimitCapInput, + UpdateAppLimitCapInput, + AppLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + }, + 'AppLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCap', + document, + variables, + transform: (data: { + appLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCap: data.appLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCap', + 'createAppLimitCap', + 'appLimitCap', + args.select, + args.data, + 'CreateAppLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'createAppLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCap', + 'updateAppLimitCap', + 'appLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapInput', + 'id', + 'appLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'updateAppLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCap', + 'deleteAppLimitCap', + 'appLimitCap', + { + id: args.where.id, + }, + 'DeleteAppLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'deleteAppLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/appLimitCapsDefault.ts b/sdk/constructive-react/src/public/orm/models/appLimitCapsDefault.ts new file mode 100644 index 000000000..b0ea0fcef --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/appLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCapsDefault, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, + CreateAppLimitCapsDefaultInput, + UpdateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'AppLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefault', + document, + variables, + transform: (data: { + appLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCapsDefault: data.appLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCapsDefault', + 'createAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.data, + 'CreateAppLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'createAppLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCapsDefault', + 'updateAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapsDefaultInput', + 'id', + 'appLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'updateAppLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCapsDefault', + 'deleteAppLimitCapsDefault', + 'appLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteAppLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'deleteAppLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/appLimitCredit.ts b/sdk/constructive-react/src/public/orm/models/appLimitCredit.ts new file mode 100644 index 000000000..392072a13 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/appLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCredit, + AppLimitCreditWithRelations, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, + CreateAppLimitCreditInput, + UpdateAppLimitCreditInput, + AppLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredit', + document, + variables, + transform: (data: { + appLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCredit: data.appLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCredit', + 'createAppLimitCredit', + 'appLimitCredit', + args.select, + args.data, + 'CreateAppLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'createAppLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCredit', + 'updateAppLimitCredit', + 'appLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditInput', + 'id', + 'appLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'updateAppLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCredit', + 'deleteAppLimitCredit', + 'appLimitCredit', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'deleteAppLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/appLimitCreditCode.ts b/sdk/constructive-react/src/public/orm/models/appLimitCreditCode.ts new file mode 100644 index 000000000..75a9d825a --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/appLimitCreditCode.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCreditCode model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCode, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, + CreateAppLimitCreditCodeInput, + UpdateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCode: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCode', + document, + variables, + transform: (data: { + appLimitCreditCodes?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCode: data.appLimitCreditCodes?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCode', + 'createAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.data, + 'CreateAppLimitCreditCodeInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'createAppLimitCreditCode', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCode', + 'updateAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeInput', + 'id', + 'appLimitCreditCodePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'updateAppLimitCreditCode', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCode', + 'deleteAppLimitCreditCode', + 'appLimitCreditCode', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'deleteAppLimitCreditCode', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/appLimitCreditCodeItem.ts b/sdk/constructive-react/src/public/orm/models/appLimitCreditCodeItem.ts new file mode 100644 index 000000000..381660fad --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/appLimitCreditCodeItem.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditCodeItem model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCodeItem, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, + CreateAppLimitCreditCodeItemInput, + UpdateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeItemModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeItemFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItem: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItem', + document, + variables, + transform: (data: { + appLimitCreditCodeItems?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCodeItem: data.appLimitCreditCodeItems?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCodeItem', + 'createAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.data, + 'CreateAppLimitCreditCodeItemInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'createAppLimitCreditCodeItem', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodeItemPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCodeItem', + 'updateAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeItemInput', + 'id', + 'appLimitCreditCodeItemPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'updateAppLimitCreditCodeItem', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCodeItem', + 'deleteAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeItemInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'deleteAppLimitCreditCodeItem', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/appLimitCreditRedemption.ts b/sdk/constructive-react/src/public/orm/models/appLimitCreditRedemption.ts new file mode 100644 index 000000000..fd3676073 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/appLimitCreditRedemption.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditRedemption model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditRedemption, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, + CreateAppLimitCreditRedemptionInput, + UpdateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditRedemptionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditRedemptionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemption: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemption', + document, + variables, + transform: (data: { + appLimitCreditRedemptions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditRedemption: data.appLimitCreditRedemptions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditRedemption', + 'createAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.data, + 'CreateAppLimitCreditRedemptionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'createAppLimitCreditRedemption', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditRedemptionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditRedemption', + 'updateAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditRedemptionInput', + 'id', + 'appLimitCreditRedemptionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'updateAppLimitCreditRedemption', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditRedemption', + 'deleteAppLimitCreditRedemption', + 'appLimitCreditRedemption', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditRedemptionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'deleteAppLimitCreditRedemption', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/billingProviderModule.ts b/sdk/constructive-react/src/public/orm/models/billingProviderModule.ts new file mode 100644 index 000000000..c29877b65 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/billingProviderModule.ts @@ -0,0 +1,239 @@ +/** + * BillingProviderModule model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + BillingProviderModule, + BillingProviderModuleWithRelations, + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy, + CreateBillingProviderModuleInput, + UpdateBillingProviderModuleInput, + BillingProviderModulePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class BillingProviderModuleModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModules: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'BillingProviderModuleFilter', + 'BillingProviderModuleOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModules', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModules: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: args?.where, + }, + 'BillingProviderModuleFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModules', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModule: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'BillingProviderModuleFilter', + 'BillingProviderModuleOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModule', + document, + variables, + transform: (data: { + billingProviderModules?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + billingProviderModule: data.billingProviderModules?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'BillingProviderModule', + 'createBillingProviderModule', + 'billingProviderModule', + args.select, + args.data, + 'CreateBillingProviderModuleInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'createBillingProviderModule', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + BillingProviderModulePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'BillingProviderModule', + 'updateBillingProviderModule', + 'billingProviderModule', + args.select, + args.where.id, + args.data, + 'UpdateBillingProviderModuleInput', + 'id', + 'billingProviderModulePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'updateBillingProviderModule', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'BillingProviderModule', + 'deleteBillingProviderModule', + 'billingProviderModule', + { + id: args.where.id, + }, + 'DeleteBillingProviderModuleInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'deleteBillingProviderModule', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/corsSetting.ts b/sdk/constructive-react/src/public/orm/models/corsSetting.ts new file mode 100644 index 000000000..be377becc --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/corsSetting.ts @@ -0,0 +1,237 @@ +/** + * CorsSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + CorsSetting, + CorsSettingWithRelations, + CorsSettingSelect, + CorsSettingFilter, + CorsSettingOrderBy, + CreateCorsSettingInput, + UpdateCorsSettingInput, + CorsSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class CorsSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'CorsSettingFilter', + 'CorsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: args?.where, + }, + 'CorsSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'CorsSettingFilter', + 'CorsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSetting', + document, + variables, + transform: (data: { + corsSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + corsSetting: data.corsSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'CorsSetting', + 'createCorsSetting', + 'corsSetting', + args.select, + args.data, + 'CreateCorsSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'createCorsSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + CorsSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'CorsSetting', + 'updateCorsSetting', + 'corsSetting', + args.select, + args.where.id, + args.data, + 'UpdateCorsSettingInput', + 'id', + 'corsSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'updateCorsSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'CorsSetting', + 'deleteCorsSetting', + 'corsSetting', + { + id: args.where.id, + }, + 'DeleteCorsSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'deleteCorsSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/databaseSetting.ts b/sdk/constructive-react/src/public/orm/models/databaseSetting.ts new file mode 100644 index 000000000..9f2c563fa --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/databaseSetting.ts @@ -0,0 +1,237 @@ +/** + * DatabaseSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + DatabaseSetting, + DatabaseSettingWithRelations, + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy, + CreateDatabaseSettingInput, + UpdateDatabaseSettingInput, + DatabaseSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class DatabaseSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'DatabaseSettingFilter', + 'DatabaseSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: args?.where, + }, + 'DatabaseSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'DatabaseSettingFilter', + 'DatabaseSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSetting', + document, + variables, + transform: (data: { + databaseSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + databaseSetting: data.databaseSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'DatabaseSetting', + 'createDatabaseSetting', + 'databaseSetting', + args.select, + args.data, + 'CreateDatabaseSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'createDatabaseSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + DatabaseSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'DatabaseSetting', + 'updateDatabaseSetting', + 'databaseSetting', + args.select, + args.where.id, + args.data, + 'UpdateDatabaseSettingInput', + 'id', + 'databaseSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'updateDatabaseSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'DatabaseSetting', + 'deleteDatabaseSetting', + 'databaseSetting', + { + id: args.where.id, + }, + 'DeleteDatabaseSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'deleteDatabaseSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/function.ts b/sdk/constructive-react/src/public/orm/models/function.ts new file mode 100644 index 000000000..a67b4a1e8 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/function.ts @@ -0,0 +1,237 @@ +/** + * Function model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + Function, + FunctionWithRelations, + FunctionSelect, + FunctionFilter, + FunctionOrderBy, + CreateFunctionInput, + UpdateFunctionInput, + FunctionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class FunctionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + functions: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'Function', + 'functions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'FunctionFilter', + 'FunctionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'functions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + functions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'Function', + 'functions', + args.select, + { + where: args?.where, + }, + 'FunctionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'functions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + function: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'Function', + 'functions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'FunctionFilter', + 'FunctionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'function', + document, + variables, + transform: (data: { + functions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + function: data.functions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'Function', + 'createFunction', + 'function', + args.select, + args.data, + 'CreateFunctionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'createFunction', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + FunctionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'Function', + 'updateFunction', + 'function', + args.select, + args.where.id, + args.data, + 'UpdateFunctionInput', + 'id', + 'functionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'updateFunction', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'Function', + 'deleteFunction', + 'function', + { + id: args.where.id, + }, + 'DeleteFunctionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'deleteFunction', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/index.ts b/sdk/constructive-react/src/public/orm/models/index.ts index aa7f94162..f2ff7a2ef 100644 --- a/sdk/constructive-react/src/public/orm/models/index.ts +++ b/sdk/constructive-react/src/public/orm/models/index.ts @@ -16,6 +16,7 @@ export { TableModel } from './table'; export { CheckConstraintModel } from './checkConstraint'; export { FieldModel } from './field'; export { SpatialRelationModel } from './spatialRelation'; +export { PartitionModel } from './partition'; export { ForeignKeyConstraintModel } from './foreignKeyConstraint'; export { FullTextSearchModel } from './fullTextSearch'; export { IndexModel } from './indexModel'; @@ -36,17 +37,20 @@ export { IdentityProvidersModuleModel } from './identityProvidersModule'; export { SchemaGrantModel } from './schemaGrant'; export { DefaultPrivilegeModel } from './defaultPrivilege'; export { EnumModel } from './enum'; +export { FunctionModel } from './function'; export { ApiSchemaModel } from './apiSchema'; export { ApiModuleModel } from './apiModule'; export { DomainModel } from './domain'; export { SiteMetadatumModel } from './siteMetadatum'; export { SiteModuleModel } from './siteModule'; export { SiteThemeModel } from './siteTheme'; +export { CorsSettingModel } from './corsSetting'; export { TriggerFunctionModel } from './triggerFunction'; export { DatabaseTransferModel } from './databaseTransfer'; export { ApiModel } from './api'; export { SiteModel } from './site'; export { AppModel } from './app'; +export { ApiSettingModel } from './apiSetting'; export { ConnectedAccountsModuleModel } from './connectedAccountsModule'; export { CryptoAddressesModuleModel } from './cryptoAddressesModule'; export { CryptoAuthModuleModel } from './cryptoAuthModule'; @@ -88,7 +92,11 @@ export { OrgChartEdgeModel } from './orgChartEdge'; export { OrgChartEdgeGrantModel } from './orgChartEdgeGrant'; export { OrgPermissionDefaultModel } from './orgPermissionDefault'; export { AppLimitModel } from './appLimit'; +export { AppLimitCreditModel } from './appLimitCredit'; +export { AppLimitCreditCodeItemModel } from './appLimitCreditCodeItem'; +export { AppLimitCreditRedemptionModel } from './appLimitCreditRedemption'; export { OrgLimitModel } from './orgLimit'; +export { OrgLimitCreditModel } from './orgLimitCredit'; export { OrgLimitAggregateModel } from './orgLimitAggregate'; export { AppStepModel } from './appStep'; export { AppAchievementModel } from './appAchievement'; @@ -110,6 +118,11 @@ export { IdentityProviderModel } from './identityProvider'; export { RefModel } from './ref'; export { StoreModel } from './store'; export { AppPermissionDefaultModel } from './appPermissionDefault'; +export { AppLimitCreditCodeModel } from './appLimitCreditCode'; +export { AppLimitCapsDefaultModel } from './appLimitCapsDefault'; +export { OrgLimitCapsDefaultModel } from './orgLimitCapsDefault'; +export { AppLimitCapModel } from './appLimitCap'; +export { OrgLimitCapModel } from './orgLimitCap'; export { MembershipTypeModel } from './membershipType'; export { MigrateFileModel } from './migrateFile'; export { DevicesModuleModel } from './devicesModule'; @@ -118,17 +131,22 @@ export { AppLimitDefaultModel } from './appLimitDefault'; export { OrgLimitDefaultModel } from './orgLimitDefault'; export { UserConnectedAccountModel } from './userConnectedAccount'; export { CommitModel } from './commit'; +export { PubkeySettingModel } from './pubkeySetting'; export { RateLimitsModuleModel } from './rateLimitsModule'; export { AppMembershipDefaultModel } from './appMembershipDefault'; export { OrgMembershipDefaultModel } from './orgMembershipDefault'; +export { RlsSettingModel } from './rlsSetting'; export { AppLimitEventModel } from './appLimitEvent'; export { OrgLimitEventModel } from './orgLimitEvent'; -export { PlansModuleModel } from './plansModule'; export { RlsModuleModel } from './rlsModule'; +export { DatabaseSettingModel } from './databaseSetting'; +export { PlansModuleModel } from './plansModule'; export { SqlActionModel } from './sqlAction'; export { BillingModuleModel } from './billingModule'; export { AstMigrationModel } from './astMigration'; export { UserModel } from './user'; export { OrgMembershipSettingModel } from './orgMembershipSetting'; +export { WebauthnSettingModel } from './webauthnSetting'; export { AppMembershipModel } from './appMembership'; +export { BillingProviderModuleModel } from './billingProviderModule'; export { HierarchyModuleModel } from './hierarchyModule'; diff --git a/sdk/constructive-react/src/public/orm/models/orgLimitCap.ts b/sdk/constructive-react/src/public/orm/models/orgLimitCap.ts new file mode 100644 index 000000000..0cb635912 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/orgLimitCap.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCap, + OrgLimitCapWithRelations, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, + CreateOrgLimitCapInput, + UpdateOrgLimitCapInput, + OrgLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCap', + document, + variables, + transform: (data: { + orgLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCap: data.orgLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCap', + 'createOrgLimitCap', + 'orgLimitCap', + args.select, + args.data, + 'CreateOrgLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'createOrgLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCap', + 'updateOrgLimitCap', + 'orgLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapInput', + 'id', + 'orgLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'updateOrgLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCap', + 'deleteOrgLimitCap', + 'orgLimitCap', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'deleteOrgLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/orgLimitCapsDefault.ts b/sdk/constructive-react/src/public/orm/models/orgLimitCapsDefault.ts new file mode 100644 index 000000000..722bb185f --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/orgLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCapsDefault, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, + CreateOrgLimitCapsDefaultInput, + UpdateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefault', + document, + variables, + transform: (data: { + orgLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCapsDefault: data.orgLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCapsDefault', + 'createOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.data, + 'CreateOrgLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'createOrgLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCapsDefault', + 'updateOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapsDefaultInput', + 'id', + 'orgLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'updateOrgLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCapsDefault', + 'deleteOrgLimitCapsDefault', + 'orgLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'deleteOrgLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/orgLimitCredit.ts b/sdk/constructive-react/src/public/orm/models/orgLimitCredit.ts new file mode 100644 index 000000000..68e631fa7 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/orgLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCredit, + OrgLimitCreditWithRelations, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, + CreateOrgLimitCreditInput, + UpdateOrgLimitCreditInput, + OrgLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + }, + 'OrgLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredit', + document, + variables, + transform: (data: { + orgLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCredit: data.orgLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCredit', + 'createOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.data, + 'CreateOrgLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'createOrgLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCredit', + 'updateOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCreditInput', + 'id', + 'orgLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'updateOrgLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCredit', + 'deleteOrgLimitCredit', + 'orgLimitCredit', + { + id: args.where.id, + }, + 'DeleteOrgLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'deleteOrgLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/partition.ts b/sdk/constructive-react/src/public/orm/models/partition.ts new file mode 100644 index 000000000..d445663ca --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/partition.ts @@ -0,0 +1,237 @@ +/** + * Partition model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + Partition, + PartitionWithRelations, + PartitionSelect, + PartitionFilter, + PartitionOrderBy, + CreatePartitionInput, + UpdatePartitionInput, + PartitionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class PartitionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + partitions: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'Partition', + 'partitions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'PartitionFilter', + 'PartitionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partitions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + partitions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'Partition', + 'partitions', + args.select, + { + where: args?.where, + }, + 'PartitionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partitions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + partition: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'Partition', + 'partitions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'PartitionFilter', + 'PartitionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partition', + document, + variables, + transform: (data: { + partitions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + partition: data.partitions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createPartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'Partition', + 'createPartition', + 'partition', + args.select, + args.data, + 'CreatePartitionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'createPartition', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + PartitionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updatePartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'Partition', + 'updatePartition', + 'partition', + args.select, + args.where.id, + args.data, + 'UpdatePartitionInput', + 'id', + 'partitionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'updatePartition', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deletePartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'Partition', + 'deletePartition', + 'partition', + { + id: args.where.id, + }, + 'DeletePartitionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'deletePartition', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/pubkeySetting.ts b/sdk/constructive-react/src/public/orm/models/pubkeySetting.ts new file mode 100644 index 000000000..be3fd5a2e --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/pubkeySetting.ts @@ -0,0 +1,237 @@ +/** + * PubkeySetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + PubkeySetting, + PubkeySettingWithRelations, + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy, + CreatePubkeySettingInput, + UpdatePubkeySettingInput, + PubkeySettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class PubkeySettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'PubkeySettingFilter', + 'PubkeySettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: args?.where, + }, + 'PubkeySettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'PubkeySettingFilter', + 'PubkeySettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySetting', + document, + variables, + transform: (data: { + pubkeySettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + pubkeySetting: data.pubkeySettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createPubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'PubkeySetting', + 'createPubkeySetting', + 'pubkeySetting', + args.select, + args.data, + 'CreatePubkeySettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'createPubkeySetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + PubkeySettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updatePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'PubkeySetting', + 'updatePubkeySetting', + 'pubkeySetting', + args.select, + args.where.id, + args.data, + 'UpdatePubkeySettingInput', + 'id', + 'pubkeySettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'updatePubkeySetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deletePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'PubkeySetting', + 'deletePubkeySetting', + 'pubkeySetting', + { + id: args.where.id, + }, + 'DeletePubkeySettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'deletePubkeySetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/rlsSetting.ts b/sdk/constructive-react/src/public/orm/models/rlsSetting.ts new file mode 100644 index 000000000..d87cd8673 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/rlsSetting.ts @@ -0,0 +1,237 @@ +/** + * RlsSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + RlsSetting, + RlsSettingWithRelations, + RlsSettingSelect, + RlsSettingFilter, + RlsSettingOrderBy, + CreateRlsSettingInput, + UpdateRlsSettingInput, + RlsSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class RlsSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'RlsSettingFilter', + 'RlsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: args?.where, + }, + 'RlsSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'RlsSettingFilter', + 'RlsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSetting', + document, + variables, + transform: (data: { + rlsSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + rlsSetting: data.rlsSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'RlsSetting', + 'createRlsSetting', + 'rlsSetting', + args.select, + args.data, + 'CreateRlsSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'createRlsSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + RlsSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'RlsSetting', + 'updateRlsSetting', + 'rlsSetting', + args.select, + args.where.id, + args.data, + 'UpdateRlsSettingInput', + 'id', + 'rlsSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'updateRlsSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'RlsSetting', + 'deleteRlsSetting', + 'rlsSetting', + { + id: args.where.id, + }, + 'DeleteRlsSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'deleteRlsSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/models/webauthnSetting.ts b/sdk/constructive-react/src/public/orm/models/webauthnSetting.ts new file mode 100644 index 000000000..7e4453c37 --- /dev/null +++ b/sdk/constructive-react/src/public/orm/models/webauthnSetting.ts @@ -0,0 +1,237 @@ +/** + * WebauthnSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + WebauthnSetting, + WebauthnSettingWithRelations, + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy, + CreateWebauthnSettingInput, + UpdateWebauthnSettingInput, + WebauthnSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class WebauthnSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'WebauthnSettingFilter', + 'WebauthnSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: args?.where, + }, + 'WebauthnSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'WebauthnSettingFilter', + 'WebauthnSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSetting', + document, + variables, + transform: (data: { + webauthnSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + webauthnSetting: data.webauthnSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'WebauthnSetting', + 'createWebauthnSetting', + 'webauthnSetting', + args.select, + args.data, + 'CreateWebauthnSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'createWebauthnSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + WebauthnSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'WebauthnSetting', + 'updateWebauthnSetting', + 'webauthnSetting', + args.select, + args.where.id, + args.data, + 'UpdateWebauthnSettingInput', + 'id', + 'webauthnSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'updateWebauthnSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'WebauthnSetting', + 'deleteWebauthnSetting', + 'webauthnSetting', + { + id: args.where.id, + }, + 'DeleteWebauthnSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'deleteWebauthnSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-react/src/public/orm/mutation/index.ts b/sdk/constructive-react/src/public/orm/mutation/index.ts index 3ca6964aa..d993e9065 100644 --- a/sdk/constructive-react/src/public/orm/mutation/index.ts +++ b/sdk/constructive-react/src/public/orm/mutation/index.ts @@ -33,6 +33,7 @@ import type { ProvisionSpatialRelationInput, BootstrapUserInput, SetFieldOrderInput, + AppendSmartTagsInput, ProvisionUniqueConstraintInput, ProvisionFullTextSearchInput, ProvisionIndexInput, @@ -54,7 +55,6 @@ import type { RequestCrossOriginTokenInput, SignInInput, ProvisionTableInput, - RequestUploadUrlInput, ProvisionBucketInput, SendAccountDeletionEmailPayload, SignOutPayload, @@ -82,6 +82,7 @@ import type { ProvisionSpatialRelationPayload, BootstrapUserPayload, SetFieldOrderPayload, + AppendSmartTagsPayload, ProvisionUniqueConstraintPayload, ProvisionFullTextSearchPayload, ProvisionIndexPayload, @@ -103,7 +104,6 @@ import type { RequestCrossOriginTokenPayload, SignInPayload, ProvisionTablePayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SendAccountDeletionEmailPayloadSelect, SignOutPayloadSelect, @@ -131,6 +131,7 @@ import type { ProvisionSpatialRelationPayloadSelect, BootstrapUserPayloadSelect, SetFieldOrderPayloadSelect, + AppendSmartTagsPayloadSelect, ProvisionUniqueConstraintPayloadSelect, ProvisionFullTextSearchPayloadSelect, ProvisionIndexPayloadSelect, @@ -152,7 +153,6 @@ import type { RequestCrossOriginTokenPayloadSelect, SignInPayloadSelect, ProvisionTablePayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -246,6 +246,9 @@ export interface BootstrapUserVariables { export interface SetFieldOrderVariables { input: SetFieldOrderInput; } +export interface AppendSmartTagsVariables { + input: AppendSmartTagsInput; +} /** * Variables for provisionUniqueConstraint * Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -348,16 +351,6 @@ export interface SignInVariables { export interface ProvisionTableVariables { input: ProvisionTableInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -1124,6 +1117,35 @@ export function createMutationOperations(client: OrmClient) { 'SetFieldOrderPayload' ), }), + appendSmartTags: ( + args: AppendSmartTagsVariables, + options: { + select: S; + } & StrictSelect + ) => + new QueryBuilder<{ + appendSmartTags: InferSelectResult | null; + }>({ + client, + operation: 'mutation', + operationName: 'AppendSmartTags', + fieldName: 'appendSmartTags', + ...buildCustomDocument( + 'mutation', + 'AppendSmartTags', + 'appendSmartTags', + options.select, + args, + [ + { + name: 'input', + type: 'AppendSmartTagsInput!', + }, + ], + connectionFieldsMap, + 'AppendSmartTagsPayload' + ), + }), provisionUniqueConstraint: ( args: ProvisionUniqueConstraintVariables, options: { @@ -1733,35 +1755,6 @@ export function createMutationOperations(client: OrmClient) { 'ProvisionTablePayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-react/src/public/orm/query-builder.ts b/sdk/constructive-react/src/public/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-react/src/public/orm/query-builder.ts +++ b/sdk/constructive-react/src/public/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-react/src/public/schema-types.ts b/sdk/constructive-react/src/public/schema-types.ts index 952ba1e1d..72372f212 100644 --- a/sdk/constructive-react/src/public/schema-types.ts +++ b/sdk/constructive-react/src/public/schema-types.ts @@ -11,6 +11,7 @@ import type { Api, ApiModule, ApiSchema, + ApiSetting, App, AppAchievement, AppAdminGrant, @@ -20,6 +21,12 @@ import type { AppLevel, AppLevelRequirement, AppLimit, + AppLimitCap, + AppLimitCapsDefault, + AppLimitCredit, + AppLimitCreditCode, + AppLimitCreditCodeItem, + AppLimitCreditRedemption, AppLimitDefault, AppLimitEvent, AppMembership, @@ -31,17 +38,20 @@ import type { AstMigration, AuditLog, BillingModule, + BillingProviderModule, Blueprint, BlueprintConstruction, BlueprintTemplate, CheckConstraint, Commit, ConnectedAccountsModule, + CorsSetting, CryptoAddress, CryptoAddressesModule, CryptoAuthModule, Database, DatabaseProvisionModule, + DatabaseSetting, DatabaseTransfer, DefaultIdsModule, DefaultPrivilege, @@ -57,6 +67,7 @@ import type { Field, ForeignKeyConstraint, FullTextSearch, + Function, GetAllRecord, HierarchyModule, IdentityProvider, @@ -82,6 +93,9 @@ import type { OrgInvite, OrgLimit, OrgLimitAggregate, + OrgLimitCap, + OrgLimitCapsDefault, + OrgLimitCredit, OrgLimitDefault, OrgLimitEvent, OrgMember, @@ -92,6 +106,7 @@ import type { OrgOwnerGrant, OrgPermission, OrgPermissionDefault, + Partition, PermissionsModule, PhoneNumber, PhoneNumbersModule, @@ -99,10 +114,12 @@ import type { Policy, PrimaryKeyConstraint, ProfilesModule, + PubkeySetting, RateLimitsModule, Ref, RelationProvision, RlsModule, + RlsSetting, RoleType, Schema, SchemaGrant, @@ -134,6 +151,7 @@ import type { WebauthnAuthModule, WebauthnCredential, WebauthnCredentialsModule, + WebauthnSetting, BigFloatFilter, BigIntFilter, BitStringFilter, @@ -229,6 +247,33 @@ export type SpatialRelationOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +/** Methods to use when ordering `Partition`. */ +export type PartitionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'TABLE_ID_ASC' + | 'TABLE_ID_DESC' + | 'STRATEGY_ASC' + | 'STRATEGY_DESC' + | 'PARTITION_KEY_ID_ASC' + | 'PARTITION_KEY_ID_DESC' + | 'INTERVAL_ASC' + | 'INTERVAL_DESC' + | 'RETENTION_ASC' + | 'RETENTION_DESC' + | 'LOOKAHEAD_ASC' + | 'LOOKAHEAD_DESC' + | 'NAMING_PATTERN_ASC' + | 'NAMING_PATTERN_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; /** Methods to use when ordering `Field`. */ export type FieldOrderBy = | 'NATURAL' @@ -895,6 +940,19 @@ export type EnumOrderBy = | 'SCOPE_DESC' | 'TAGS_ASC' | 'TAGS_DESC'; +/** Methods to use when ordering `Function`. */ +export type FunctionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC'; /** Methods to use when ordering `ApiModule`. */ export type ApiModuleOrderBy = | 'NATURAL' @@ -985,6 +1043,19 @@ export type SiteThemeOrderBy = | 'SITE_ID_DESC' | 'THEME_ASC' | 'THEME_DESC'; +/** Methods to use when ordering `CorsSetting`. */ +export type CorsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ALLOWED_ORIGINS_ASC' + | 'ALLOWED_ORIGINS_DESC'; /** Methods to use when ordering `Schema`. */ export type SchemaOrderBy = | 'NATURAL' @@ -1133,6 +1204,37 @@ export type AppOrderBy = | 'APP_ID_PREFIX_DESC' | 'PLAY_STORE_LINK_ASC' | 'PLAY_STORE_LINK_DESC'; +/** Methods to use when ordering `ApiSetting`. */ +export type ApiSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; /** Methods to use when ordering `ConnectedAccountsModule`. */ export type ConnectedAccountsModuleOrderBy = | 'NATURAL' @@ -1401,8 +1503,26 @@ export type LimitsModuleOrderBy = | 'LIMIT_UPDATE_TRIGGER_DESC' | 'LIMIT_CHECK_FUNCTION_ASC' | 'LIMIT_CHECK_FUNCTION_DESC' + | 'LIMIT_CREDITS_TABLE_ID_ASC' + | 'LIMIT_CREDITS_TABLE_ID_DESC' + | 'EVENTS_TABLE_ID_ASC' + | 'EVENTS_TABLE_ID_DESC' + | 'CREDIT_CODES_TABLE_ID_ASC' + | 'CREDIT_CODES_TABLE_ID_DESC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_ASC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_DESC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_ASC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_DESC' | 'AGGREGATE_TABLE_ID_ASC' | 'AGGREGATE_TABLE_ID_DESC' + | 'LIMIT_CAPS_TABLE_ID_ASC' + | 'LIMIT_CAPS_TABLE_ID_DESC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_ASC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_DESC' + | 'CAP_CHECK_TRIGGER_ASC' + | 'CAP_CHECK_TRIGGER_DESC' + | 'RESOLVE_CAP_FUNCTION_ASC' + | 'RESOLVE_CAP_FUNCTION_DESC' | 'PREFIX_ASC' | 'PREFIX_DESC' | 'MEMBERSHIP_TYPE_ASC' @@ -1860,6 +1980,10 @@ export type StorageModuleOrderBy = | 'ALLOWED_ORIGINS_DESC' | 'RESTRICT_READS_ASC' | 'RESTRICT_READS_DESC' + | 'HAS_PATH_SHARES_ASC' + | 'HAS_PATH_SHARES_DESC' + | 'PATH_SHARES_TABLE_ID_ASC' + | 'PATH_SHARES_TABLE_ID_DESC' | 'UPLOAD_URL_EXPIRY_SECONDS_ASC' | 'UPLOAD_URL_EXPIRY_SECONDS_DESC' | 'DOWNLOAD_URL_EXPIRY_SECONDS_ASC' @@ -1869,7 +1993,21 @@ export type StorageModuleOrderBy = | 'MAX_FILENAME_LENGTH_ASC' | 'MAX_FILENAME_LENGTH_DESC' | 'CACHE_TTL_SECONDS_ASC' - | 'CACHE_TTL_SECONDS_DESC'; + | 'CACHE_TTL_SECONDS_DESC' + | 'MAX_BULK_FILES_ASC' + | 'MAX_BULK_FILES_DESC' + | 'MAX_BULK_TOTAL_SIZE_ASC' + | 'MAX_BULK_TOTAL_SIZE_DESC' + | 'HAS_VERSIONING_ASC' + | 'HAS_VERSIONING_DESC' + | 'HAS_CONTENT_HASH_ASC' + | 'HAS_CONTENT_HASH_DESC' + | 'HAS_CUSTOM_KEYS_ASC' + | 'HAS_CUSTOM_KEYS_DESC' + | 'HAS_AUDIT_LOG_ASC' + | 'HAS_AUDIT_LOG_DESC' + | 'FILE_EVENTS_TABLE_ID_ASC' + | 'FILE_EVENTS_TABLE_ID_DESC'; /** Methods to use when ordering `EntityTypeProvision`. */ export type EntityTypeProvisionOrderBy = | 'NATURAL' @@ -1921,6 +2059,8 @@ export type EntityTypeProvisionOrderBy = | 'OUT_BUCKETS_TABLE_ID_DESC' | 'OUT_FILES_TABLE_ID_ASC' | 'OUT_FILES_TABLE_ID_DESC' + | 'OUT_PATH_SHARES_TABLE_ID_ASC' + | 'OUT_PATH_SHARES_TABLE_ID_DESC' | 'OUT_INVITES_MODULE_ID_ASC' | 'OUT_INVITES_MODULE_ID_DESC'; /** Methods to use when ordering `WebauthnCredentialsModule`. */ @@ -2340,7 +2480,56 @@ export type AppLimitOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; +/** Methods to use when ordering `AppLimitCredit`. */ +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; +/** Methods to use when ordering `AppLimitCreditCodeItem`. */ +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +/** Methods to use when ordering `AppLimitCreditRedemption`. */ +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; /** Methods to use when ordering `OrgLimit`. */ export type OrgLimitOrderBy = | 'NATURAL' @@ -2362,8 +2551,33 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +/** Methods to use when ordering `OrgLimitCredit`. */ +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; /** Methods to use when ordering `OrgLimitAggregate`. */ export type OrgLimitAggregateOrderBy = | 'NATURAL' @@ -2384,7 +2598,15 @@ export type OrgLimitAggregateOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; /** Methods to use when ordering `AppStep`. */ export type AppStepOrderBy = | 'NATURAL' @@ -2791,6 +3013,21 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +/** Methods to use when ordering `AppLimitCreditCode`. */ +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; /** Methods to use when ordering `AppPermission`. */ export type AppPermissionOrderBy = | 'NATURAL' @@ -2821,6 +3058,54 @@ export type OrgPermissionOrderBy = | 'BITSTR_DESC' | 'DESCRIPTION_ASC' | 'DESCRIPTION_DESC'; +/** Methods to use when ordering `AppLimitCapsDefault`. */ +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +/** Methods to use when ordering `OrgLimitCapsDefault`. */ +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +/** Methods to use when ordering `AppLimitCap`. */ +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +/** Methods to use when ordering `OrgLimitCap`. */ +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; /** Methods to use when ordering `MembershipType`. */ export type MembershipTypeOrderBy = | 'NATURAL' @@ -2993,6 +3278,29 @@ export type CommitOrderBy = | 'TREE_ID_DESC' | 'DATE_ASC' | 'DATE_DESC'; +/** Methods to use when ordering `PubkeySetting`. */ +export type PubkeySettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CRYPTO_NETWORK_ASC' + | 'CRYPTO_NETWORK_DESC' + | 'USER_FIELD_ASC' + | 'USER_FIELD_DESC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_ASC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_DESC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_DESC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_ASC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_DESC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_DESC'; /** Methods to use when ordering `RateLimitsModule`. */ export type RateLimitsModuleOrderBy = | 'NATURAL' @@ -3054,6 +3362,31 @@ export type OrgMembershipDefaultOrderBy = | 'IS_APPROVED_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +/** Methods to use when ordering `RlsSetting`. */ +export type RlsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'AUTHENTICATE_SCHEMA_ID_ASC' + | 'AUTHENTICATE_SCHEMA_ID_DESC' + | 'ROLE_SCHEMA_ID_ASC' + | 'ROLE_SCHEMA_ID_DESC' + | 'AUTHENTICATE_FUNCTION_ID_ASC' + | 'AUTHENTICATE_FUNCTION_ID_DESC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_ASC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_DESC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_ASC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_DESC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_ASC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_DESC'; /** Methods to use when ordering `AppLimitEvent`. */ export type AppLimitEventOrderBy = | 'NATURAL' @@ -3096,33 +3429,6 @@ export type OrgLimitEventOrderBy = | 'MAX_AT_EVENT_DESC' | 'REASON_ASC' | 'REASON_DESC'; -/** Methods to use when ordering `PlansModule`. */ -export type PlansModuleOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'DATABASE_ID_ASC' - | 'DATABASE_ID_DESC' - | 'SCHEMA_ID_ASC' - | 'SCHEMA_ID_DESC' - | 'PRIVATE_SCHEMA_ID_ASC' - | 'PRIVATE_SCHEMA_ID_DESC' - | 'PLANS_TABLE_ID_ASC' - | 'PLANS_TABLE_ID_DESC' - | 'PLANS_TABLE_NAME_ASC' - | 'PLANS_TABLE_NAME_DESC' - | 'PLAN_LIMITS_TABLE_ID_ASC' - | 'PLAN_LIMITS_TABLE_ID_DESC' - | 'PLAN_LIMITS_TABLE_NAME_ASC' - | 'PLAN_LIMITS_TABLE_NAME_DESC' - | 'APPLY_PLAN_FUNCTION_ASC' - | 'APPLY_PLAN_FUNCTION_DESC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' - | 'PREFIX_ASC' - | 'PREFIX_DESC'; /** Methods to use when ordering `RlsModule`. */ export type RlsModuleOrderBy = | 'NATURAL' @@ -3150,6 +3456,66 @@ export type RlsModuleOrderBy = | 'CURRENT_ROLE_DESC' | 'CURRENT_ROLE_ID_ASC' | 'CURRENT_ROLE_ID_DESC'; +/** Methods to use when ordering `DatabaseSetting`. */ +export type DatabaseSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; +/** Methods to use when ordering `PlansModule`. */ +export type PlansModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PLANS_TABLE_ID_ASC' + | 'PLANS_TABLE_ID_DESC' + | 'PLANS_TABLE_NAME_ASC' + | 'PLANS_TABLE_NAME_DESC' + | 'PLAN_LIMITS_TABLE_ID_ASC' + | 'PLAN_LIMITS_TABLE_ID_DESC' + | 'PLAN_LIMITS_TABLE_NAME_ASC' + | 'PLAN_LIMITS_TABLE_NAME_DESC' + | 'PLAN_PRICING_TABLE_ID_ASC' + | 'PLAN_PRICING_TABLE_ID_DESC' + | 'PLAN_OVERRIDES_TABLE_ID_ASC' + | 'PLAN_OVERRIDES_TABLE_ID_DESC' + | 'APPLY_PLAN_FUNCTION_ASC' + | 'APPLY_PLAN_FUNCTION_DESC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; /** Methods to use when ordering `SqlAction`. */ export type SqlActionOrderBy = | 'NATURAL' @@ -3301,6 +3667,47 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +/** Methods to use when ordering `WebauthnSetting`. */ +export type WebauthnSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CREDENTIALS_SCHEMA_ID_ASC' + | 'CREDENTIALS_SCHEMA_ID_DESC' + | 'SESSIONS_SCHEMA_ID_ASC' + | 'SESSIONS_SCHEMA_ID_DESC' + | 'SESSION_SECRETS_SCHEMA_ID_ASC' + | 'SESSION_SECRETS_SCHEMA_ID_DESC' + | 'CREDENTIALS_TABLE_ID_ASC' + | 'CREDENTIALS_TABLE_ID_DESC' + | 'SESSIONS_TABLE_ID_ASC' + | 'SESSIONS_TABLE_ID_DESC' + | 'SESSION_CREDENTIALS_TABLE_ID_ASC' + | 'SESSION_CREDENTIALS_TABLE_ID_DESC' + | 'SESSION_SECRETS_TABLE_ID_ASC' + | 'SESSION_SECRETS_TABLE_ID_DESC' + | 'USER_FIELD_ID_ASC' + | 'USER_FIELD_ID_DESC' + | 'RP_ID_ASC' + | 'RP_ID_DESC' + | 'RP_NAME_ASC' + | 'RP_NAME_DESC' + | 'ORIGIN_ALLOWLIST_ASC' + | 'ORIGIN_ALLOWLIST_DESC' + | 'ATTESTATION_TYPE_ASC' + | 'ATTESTATION_TYPE_DESC' + | 'REQUIRE_USER_VERIFICATION_ASC' + | 'REQUIRE_USER_VERIFICATION_DESC' + | 'RESIDENT_KEY_ASC' + | 'RESIDENT_KEY_DESC' + | 'CHALLENGE_EXPIRY_SECONDS_ASC' + | 'CHALLENGE_EXPIRY_SECONDS_DESC'; /** Methods to use when ordering `AppMembership`. */ export type AppMembershipOrderBy = | 'NATURAL' @@ -3338,6 +3745,51 @@ export type AppMembershipOrderBy = | 'ACTOR_ID_DESC' | 'PROFILE_ID_ASC' | 'PROFILE_ID_DESC'; +/** Methods to use when ordering `BillingProviderModule`. */ +export type BillingProviderModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PROVIDER_ASC' + | 'PROVIDER_DESC' + | 'PRODUCTS_TABLE_ID_ASC' + | 'PRODUCTS_TABLE_ID_DESC' + | 'PRICES_TABLE_ID_ASC' + | 'PRICES_TABLE_ID_DESC' + | 'SUBSCRIPTIONS_TABLE_ID_ASC' + | 'SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_ID_ASC' + | 'BILLING_CUSTOMERS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_NAME_ASC' + | 'BILLING_CUSTOMERS_TABLE_NAME_DESC' + | 'BILLING_PRODUCTS_TABLE_ID_ASC' + | 'BILLING_PRODUCTS_TABLE_ID_DESC' + | 'BILLING_PRODUCTS_TABLE_NAME_ASC' + | 'BILLING_PRODUCTS_TABLE_NAME_DESC' + | 'BILLING_PRICES_TABLE_ID_ASC' + | 'BILLING_PRICES_TABLE_ID_DESC' + | 'BILLING_PRICES_TABLE_NAME_ASC' + | 'BILLING_PRICES_TABLE_NAME_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_DESC' + | 'PROCESS_BILLING_EVENT_FUNCTION_ASC' + | 'PROCESS_BILLING_EVENT_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; /** Methods to use when ordering `HierarchyModule`. */ export type HierarchyModuleOrderBy = | 'NATURAL' @@ -3561,10 +4013,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -3601,6 +4061,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -3745,6 +4229,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -3912,6 +4400,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -3920,6 +4412,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -4785,6 +5285,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -4838,20 +5344,184 @@ export interface IntervalInput { /** A quantity of years. */ years?: number; } -/** A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ -export interface UserToManyOrgLimitFilter { +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyAppLimitCreditFilter { /** Filters to entities where at least one related entity matches. */ - some?: OrgLimitFilter; + some?: AppLimitCreditFilter; /** Filters to entities where every related entity matches. */ - every?: OrgLimitFilter; + every?: AppLimitCreditFilter; /** Filters to entities where no related entity matches. */ - none?: OrgLimitFilter; + none?: AppLimitCreditFilter; } -/** A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ -export interface OrgLimitFilter { +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; - /** Filter by the object’s `name` field. */ + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyOrgLimitFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitFilter; +} +/** A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ name?: StringFilter; /** Filter by the object’s `actorId` field. */ actorId?: UUIDFilter; @@ -4865,6 +5535,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -4878,6 +5554,78 @@ export interface OrgLimitFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against many `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitAggregateFilter { /** Filters to entities where at least one related entity matches. */ @@ -4905,6 +5653,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -5770,6 +6526,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -5914,6 +6674,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -6025,6 +6789,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } /** A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ */ export interface FieldToManySpatialRelationFilter { @@ -6084,6 +6852,52 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface FieldToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} +/** A filter to be used against `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} /** A filter to be used against many `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ */ export interface TableToManyForeignKeyConstraintFilter { /** Filters to entities where at least one related entity matches. */ @@ -7102,6 +7916,36 @@ export interface EnumFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface SchemaToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} +/** A filter to be used against `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} /** A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ */ export interface SchemaToManyApiSchemaFilter { /** Filters to entities where at least one related entity matches. */ @@ -7170,6 +8014,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } /** A filter to be used against many `ApiModule` object types. All fields are combined with a logical ‘and.’ */ export interface ApiToManyApiModuleFilter { @@ -7664,6 +8516,77 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +/** A filter to be used against `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} +/** A filter to be used against `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} /** A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ */ export interface SchemaToManySessionSecretsModuleFilter { /** Filters to entities where at least one related entity matches. */ @@ -7885,6 +8808,15 @@ export interface DatabaseToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where at least one related entity matches. */ @@ -7933,6 +8865,15 @@ export interface DatabaseTransferFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `Api` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyApiFilter { /** Filters to entities where at least one related entity matches. */ @@ -8014,67 +8955,315 @@ export interface DatabaseToManySiteThemeFilter { /** Filters to entities where no related entity matches. */ none?: SiteThemeFilter; } -/** A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ -export interface DatabaseToManyConnectedAccountsModuleFilter { - /** Filters to entities where at least one related entity matches. */ - some?: ConnectedAccountsModuleFilter; - /** Filters to entities where every related entity matches. */ - every?: ConnectedAccountsModuleFilter; - /** Filters to entities where no related entity matches. */ - none?: ConnectedAccountsModuleFilter; -} -/** A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ -export interface ConnectedAccountsModuleFilter { +/** A filter to be used against `DatabaseSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseSettingFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; /** Filter by the object’s `databaseId` field. */ databaseId?: UUIDFilter; - /** Filter by the object’s `schemaId` field. */ - schemaId?: UUIDFilter; - /** Filter by the object’s `privateSchemaId` field. */ - privateSchemaId?: UUIDFilter; - /** Filter by the object’s `tableId` field. */ - tableId?: UUIDFilter; - /** Filter by the object’s `ownerTableId` field. */ - ownerTableId?: UUIDFilter; - /** Filter by the object’s `tableName` field. */ - tableName?: StringFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; /** Checks for all expressions in this list. */ - and?: ConnectedAccountsModuleFilter[]; + and?: DatabaseSettingFilter[]; /** Checks for any expressions in this list. */ - or?: ConnectedAccountsModuleFilter[]; + or?: DatabaseSettingFilter[]; /** Negates the expression. */ - not?: ConnectedAccountsModuleFilter; + not?: DatabaseSettingFilter; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; - /** Filter by the object’s `ownerTable` relation. */ - ownerTable?: TableFilter; - /** Filter by the object’s `privateSchema` relation. */ - privateSchema?: SchemaFilter; - /** Filter by the object’s `schema` relation. */ - schema?: SchemaFilter; - /** Filter by the object’s `table` relation. */ - table?: TableFilter; } -/** A filter to be used against many `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ */ -export interface DatabaseToManyCryptoAddressesModuleFilter { +/** A filter to be used against many `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyApiSettingFilter { /** Filters to entities where at least one related entity matches. */ - some?: CryptoAddressesModuleFilter; + some?: ApiSettingFilter; /** Filters to entities where every related entity matches. */ - every?: CryptoAddressesModuleFilter; + every?: ApiSettingFilter; /** Filters to entities where no related entity matches. */ - none?: CryptoAddressesModuleFilter; + none?: ApiSettingFilter; } -/** A filter to be used against `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ */ -export interface CryptoAddressesModuleFilter { +/** A filter to be used against `RlsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface RlsSettingFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; /** Filter by the object’s `databaseId` field. */ databaseId?: UUIDFilter; - /** Filter by the object’s `schemaId` field. */ - schemaId?: UUIDFilter; - /** Filter by the object’s `privateSchemaId` field. */ - privateSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} +/** A filter to be used against `PubkeySetting` object types. All fields are combined with a logical ‘and.’ */ +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} +/** A filter to be used against `WebauthnSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} +/** A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyConnectedAccountsModuleFilter { + /** Filters to entities where at least one related entity matches. */ + some?: ConnectedAccountsModuleFilter; + /** Filters to entities where every related entity matches. */ + every?: ConnectedAccountsModuleFilter; + /** Filters to entities where no related entity matches. */ + none?: ConnectedAccountsModuleFilter; +} +/** A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ +export interface ConnectedAccountsModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `ownerTableId` field. */ + ownerTableId?: UUIDFilter; + /** Filter by the object’s `tableName` field. */ + tableName?: StringFilter; + /** Checks for all expressions in this list. */ + and?: ConnectedAccountsModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: ConnectedAccountsModuleFilter[]; + /** Negates the expression. */ + not?: ConnectedAccountsModuleFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `ownerTable` relation. */ + ownerTable?: TableFilter; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} +/** A filter to be used against many `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyCryptoAddressesModuleFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CryptoAddressesModuleFilter; + /** Filters to entities where every related entity matches. */ + every?: CryptoAddressesModuleFilter; + /** Filters to entities where no related entity matches. */ + none?: CryptoAddressesModuleFilter; +} +/** A filter to be used against `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ */ +export interface CryptoAddressesModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; /** Filter by the object’s `tableId` field. */ tableId?: UUIDFilter; /** Filter by the object’s `ownerTableId` field. */ @@ -8503,8 +9692,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -8525,6 +9732,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -8533,6 +9752,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -9459,6 +10694,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -9469,6 +10708,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -9483,8 +10736,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -9547,6 +10808,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -9854,6 +11117,10 @@ export interface PlansModuleFilter { planLimitsTableId?: UUIDFilter; /** Filter by the object’s `planLimitsTableName` field. */ planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; /** Filter by the object’s `applyPlanFunction` field. */ applyPlanFunction?: StringFilter; /** Filter by the object’s `applyPlanAggregateFunction` field. */ @@ -9870,6 +11137,14 @@ export interface PlansModuleFilter { database?: DatabaseFilter; /** Filter by the object’s `planLimitsTable` relation. */ planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; /** Filter by the object’s `plansTable` relation. */ plansTable?: TableFilter; /** Filter by the object’s `privateSchema` relation. */ @@ -9928,6 +11203,83 @@ export interface BillingModuleFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +/** A filter to be used against `BillingProviderModule` object types. All fields are combined with a logical ‘and.’ */ +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} /** A filter to be used against many `DatabaseProvisionModule` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyDatabaseProvisionModuleFilter { /** Filters to entities where at least one related entity matches. */ @@ -10086,6 +11438,70 @@ export interface OrgPermissionFilter { /** Negates the expression. */ not?: OrgPermissionFilter; } +/** A filter to be used against `AppLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +/** A filter to be used against `OrgLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +/** A filter to be used against `AppLimitCap` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +/** A filter to be used against `OrgLimitCap` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} /** A filter to be used against `MembershipType` object types. All fields are combined with a logical ‘and.’ */ export interface MembershipTypeFilter { /** Filter by the object’s `id` field. */ @@ -10180,40 +11596,6 @@ export interface NodeTypeRegistryFilter { /** Negates the expression. */ not?: NodeTypeRegistryFilter; } -/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ -export interface AppLimitDefaultFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Checks for all expressions in this list. */ - and?: AppLimitDefaultFilter[]; - /** Checks for any expressions in this list. */ - or?: AppLimitDefaultFilter[]; - /** Negates the expression. */ - not?: AppLimitDefaultFilter; -} -/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ -export interface OrgLimitDefaultFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitDefaultFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitDefaultFilter[]; - /** Negates the expression. */ - not?: OrgLimitDefaultFilter; -} /** A filter to be used against `UserConnectedAccount` object types. All fields are combined with a logical ‘and.’ */ export interface UserConnectedAccountFilter { /** Filter by the object’s `id` field. */ @@ -10589,6 +11971,11 @@ export interface SetFieldOrderInput { clientMutationId?: string; fieldIds?: string[]; } +export interface AppendSmartTagsInput { + clientMutationId?: string; + pTableId?: string; + pTags?: unknown; +} export interface ProvisionUniqueConstraintInput { clientMutationId?: string; databaseId?: string; @@ -10784,6 +12171,31 @@ export interface RoleTypeInput { id: number; name: string; } +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + /** The `AppLimitCreditRedemption` to be created by this mutation. */ + appLimitCreditRedemption: AppLimitCreditRedemptionInput; +} +/** An input for mutations affecting `AppLimitCreditRedemption` */ +export interface AppLimitCreditRedemptionInput { + id?: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId: string; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId: string; +} +export interface CreateFunctionInput { + clientMutationId?: string; + /** The `Function` to be created by this mutation. */ + function: FunctionInput; +} +/** An input for mutations affecting `Function` */ +export interface FunctionInput { + id?: string; + databaseId: string; + schemaId: string; + name: string; +} export interface CreateViewTableInput { clientMutationId?: string; /** The `ViewTable` to be created by this mutation. */ @@ -10812,6 +12224,22 @@ export interface ApiSchemaInput { /** API that exposes this schema */ apiId: string; } +export interface CreateCorsSettingInput { + clientMutationId?: string; + /** The `CorsSetting` to be created by this mutation. */ + corsSetting: CorsSettingInput; +} +/** An input for mutations affecting `CorsSetting` */ +export interface CorsSettingInput { + /** Unique identifier for this CORS settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId: string; + /** Optional API for per-API override; NULL means database-wide default */ + apiId?: string; + /** Array of allowed CORS origins (e.g. https://example.com) */ + allowedOrigins?: string[]; +} export interface CreateOrgMemberInput { clientMutationId?: string; /** The `OrgMember` to be created by this mutation. */ @@ -10974,12 +12402,29 @@ export interface SiteModuleInput { /** JSON configuration data for this module */ data: unknown; } -export interface CreateSchemaGrantInput { +export interface CreateAppLimitCreditCodeInput { clientMutationId?: string; - /** The `SchemaGrant` to be created by this mutation. */ - schemaGrant: SchemaGrantInput; + /** The `AppLimitCreditCode` to be created by this mutation. */ + appLimitCreditCode: AppLimitCreditCodeInput; } -/** An input for mutations affecting `SchemaGrant` */ +/** An input for mutations affecting `AppLimitCreditCode` */ +export interface AppLimitCreditCodeInput { + id?: string; + /** Human-readable credit code (case-insensitive, unique) */ + code: string; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string; +} +export interface CreateSchemaGrantInput { + clientMutationId?: string; + /** The `SchemaGrant` to be created by this mutation. */ + schemaGrant: SchemaGrantInput; +} +/** An input for mutations affecting `SchemaGrant` */ export interface SchemaGrantInput { id?: string; databaseId?: string; @@ -11159,6 +12604,62 @@ export interface OrgPermissionInput { /** Human-readable description of what this permission allows */ description?: string; } +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + /** The `AppLimitCapsDefault` to be created by this mutation. */ + appLimitCapsDefault: AppLimitCapsDefaultInput; +} +/** An input for mutations affecting `AppLimitCapsDefault` */ +export interface AppLimitCapsDefaultInput { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + /** The `OrgLimitCapsDefault` to be created by this mutation. */ + orgLimitCapsDefault: OrgLimitCapsDefaultInput; +} +/** An input for mutations affecting `OrgLimitCapsDefault` */ +export interface OrgLimitCapsDefaultInput { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + /** The `AppLimitCap` to be created by this mutation. */ + appLimitCap: AppLimitCapInput; +} +/** An input for mutations affecting `AppLimitCap` */ +export interface AppLimitCapInput { + id?: string; + /** Name identifier of the cap being overridden */ + name: string; + /** Entity this cap override applies to */ + entityId: string; + /** Override cap value for this entity */ + max?: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + /** The `OrgLimitCap` to be created by this mutation. */ + orgLimitCap: OrgLimitCapInput; +} +/** An input for mutations affecting `OrgLimitCap` */ +export interface OrgLimitCapInput { + id?: string; + /** Name identifier of the cap being overridden */ + name: string; + /** Entity this cap override applies to */ + entityId: string; + /** Override cap value for this entity */ + max?: string; +} export interface CreateMembershipTypeInput { clientMutationId?: string; /** The `MembershipType` to be created by this mutation. */ @@ -11414,6 +12915,23 @@ export interface OrgLimitDefaultInput { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string; } +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + /** The `AppLimitCreditCodeItem` to be created by this mutation. */ + appLimitCreditCodeItem: AppLimitCreditCodeItemInput; +} +/** An input for mutations affecting `AppLimitCreditCodeItem` */ +export interface AppLimitCreditCodeItemInput { + id?: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId: string; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId: string; + /** Number of credits this item grants per redemption */ + amount: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; +} export interface CreateUserConnectedAccountInput { clientMutationId?: string; /** The `UserConnectedAccount` to be created by this mutation. */ @@ -11561,6 +13079,46 @@ export interface AppLevelRequirementInput { createdAt?: string; updatedAt?: string; } +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + /** The `AppLimitCredit` to be created by this mutation. */ + appLimitCredit: AppLimitCreditInput; +} +/** An input for mutations affecting `AppLimitCredit` */ +export interface AppLimitCreditInput { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + /** The `OrgLimitCredit` to be created by this mutation. */ + orgLimitCredit: OrgLimitCreditInput; +} +/** An input for mutations affecting `OrgLimitCredit` */ +export interface OrgLimitCreditInput { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} export interface CreateFullTextSearchInput { clientMutationId?: string; /** The `FullTextSearch` to be created by this mutation. */ @@ -11619,6 +13177,32 @@ export interface CommitInput { treeId?: string; date?: string; } +export interface CreatePubkeySettingInput { + clientMutationId?: string; + /** The `PubkeySetting` to be created by this mutation. */ + pubkeySetting: PubkeySettingInput; +} +/** An input for mutations affecting `PubkeySetting` */ +export interface PubkeySettingInput { + /** Unique identifier for this pubkey settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId: string; + /** Schema containing the crypto auth functions (FK to metaschema_public.schema) */ + schemaId?: string; + /** Crypto network for key derivation (e.g. cosmos, ethereum) */ + cryptoNetwork?: string; + /** Field name used to identify the user in crypto auth functions */ + userField?: string; + /** Reference to the sign-up-with-key function (FK to metaschema_public.function) */ + signUpWithKeyFunctionId?: string; + /** Reference to the sign-in challenge request function (FK to metaschema_public.function) */ + signInRequestChallengeFunctionId?: string; + /** Reference to the sign-in failure recording function (FK to metaschema_public.function) */ + signInRecordFailureFunctionId?: string; + /** Reference to the sign-in-with-challenge function (FK to metaschema_public.function) */ + signInWithChallengeFunctionId?: string; +} export interface CreateRateLimitsModuleInput { clientMutationId?: string; /** The `RateLimitsModule` to be created by this mutation. */ @@ -11777,6 +13361,34 @@ export interface DomainInput { /** Root domain of the hostname */ domain?: ConstructiveInternalTypeHostname; } +export interface CreateRlsSettingInput { + clientMutationId?: string; + /** The `RlsSetting` to be created by this mutation. */ + rlsSetting: RlsSettingInput; +} +/** An input for mutations affecting `RlsSetting` */ +export interface RlsSettingInput { + /** Unique identifier for this RLS settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId: string; + /** Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) */ + authenticateSchemaId?: string; + /** Schema containing current_role and related functions (FK to metaschema_public.schema) */ + roleSchemaId?: string; + /** Reference to the authenticate function (FK to metaschema_public.function) */ + authenticateFunctionId?: string; + /** Reference to the strict authenticate function (FK to metaschema_public.function) */ + authenticateStrictFunctionId?: string; + /** Reference to the current_role function (FK to metaschema_public.function) */ + currentRoleFunctionId?: string; + /** Reference to the current_role_id function (FK to metaschema_public.function) */ + currentRoleIdFunctionId?: string; + /** Reference to the current_user_agent function (FK to metaschema_public.function) */ + currentUserAgentFunctionId?: string; + /** Reference to the current_ip_address function (FK to metaschema_public.function) */ + currentIpAddressFunctionId?: string; +} export interface CreateAgentTaskInput { clientMutationId?: string; /** The `AgentTask` to be created by this mutation. */ @@ -11960,51 +13572,24 @@ export interface OrgChartEdgeInput { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number; } -export interface CreateAppLimitInput { - clientMutationId?: string; - /** The `AppLimit` to be created by this mutation. */ - appLimit: AppLimitInput; -} -/** An input for mutations affecting `AppLimit` */ -export interface AppLimitInput { - id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; -} -export interface CreateOrgLimitAggregateInput { +export interface CreatePartitionInput { clientMutationId?: string; - /** The `OrgLimitAggregate` to be created by this mutation. */ - orgLimitAggregate: OrgLimitAggregateInput; + /** The `Partition` to be created by this mutation. */ + partition: PartitionInput; } -/** An input for mutations affecting `OrgLimitAggregate` */ -export interface OrgLimitAggregateInput { +/** An input for mutations affecting `Partition` */ +export interface PartitionInput { id?: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string; - /** Entity (org) whose aggregate usage is being tracked */ - entityId: string; - /** Current aggregate usage count for this entity and limit */ - num?: string; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; + databaseId: string; + tableId: string; + strategy: string; + partitionKeyId: string; + interval?: string; + retention?: string; + lookahead?: number; + namingPattern?: string; + createdAt?: string; + updatedAt?: string; } export interface CreateBlueprintConstructionInput { clientMutationId?: string; @@ -12036,25 +13621,6 @@ export interface BlueprintConstructionInput { /** Timestamp when this construction attempt was last modified. */ updatedAt?: string; } -export interface CreatePlansModuleInput { - clientMutationId?: string; - /** The `PlansModule` to be created by this mutation. */ - plansModule: PlansModuleInput; -} -/** An input for mutations affecting `PlansModule` */ -export interface PlansModuleInput { - id?: string; - databaseId: string; - schemaId?: string; - privateSchemaId?: string; - plansTableId?: string; - plansTableName?: string; - planLimitsTableId?: string; - planLimitsTableName?: string; - applyPlanFunction?: string; - applyPlanAggregateFunction?: string; - prefix?: string; -} export interface CreateRlsModuleInput { clientMutationId?: string; /** The `RlsModule` to be created by this mutation. */ @@ -12132,29 +13698,37 @@ export interface AppLevelInput { createdAt?: string; updatedAt?: string; } -export interface CreateOrgLimitInput { +export interface CreateDatabaseSettingInput { clientMutationId?: string; - /** The `OrgLimit` to be created by this mutation. */ - orgLimit: OrgLimitInput; + /** The `DatabaseSetting` to be created by this mutation. */ + databaseSetting: DatabaseSettingInput; } -/** An input for mutations affecting `OrgLimit` */ -export interface OrgLimitInput { +/** An input for mutations affecting `DatabaseSetting` */ +export interface DatabaseSettingInput { + /** Unique identifier for this settings record */ id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; - entityId: string; + /** Reference to the metaschema database these settings apply to */ + databaseId: string; + /** Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API */ + enableAggregates?: boolean; + /** Enable PostGIS spatial types and operators in the GraphQL API */ + enablePostgis?: boolean; + /** Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API */ + enableSearch?: boolean; + /** Enable direct (multipart) file upload mutations in the GraphQL API */ + enableDirectUploads?: boolean; + /** Enable presigned URL upload flow for S3/MinIO storage */ + enablePresignedUploads?: boolean; + /** Enable many-to-many relationship queries in the GraphQL API */ + enableManyToMany?: boolean; + /** Enable connection filter (where argument) in the GraphQL API */ + enableConnectionFilter?: boolean; + /** Enable ltree hierarchical data type support in the GraphQL API */ + enableLtree?: boolean; + /** Enable LLM/AI integration features in the GraphQL API */ + enableLlm?: boolean; + /** Extensible JSON for additional settings that do not have dedicated columns */ + options?: unknown; } export interface CreateBlueprintInput { clientMutationId?: string; @@ -12208,6 +13782,61 @@ export interface DenormalizedTableFieldInput { funcName?: string; funcOrder?: number; } +export interface CreateApiSettingInput { + clientMutationId?: string; + /** The `ApiSetting` to be created by this mutation. */ + apiSetting: ApiSettingInput; +} +/** An input for mutations affecting `ApiSetting` */ +export interface ApiSettingInput { + /** Unique identifier for this API settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId: string; + /** API these settings override for */ + apiId: string; + /** Override: enable aggregate queries (NULL = inherit from database_settings) */ + enableAggregates?: boolean; + /** Override: enable PostGIS spatial types (NULL = inherit from database_settings) */ + enablePostgis?: boolean; + /** Override: enable unified search (NULL = inherit from database_settings) */ + enableSearch?: boolean; + /** Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) */ + enableDirectUploads?: boolean; + /** Override: enable presigned URL upload flow (NULL = inherit from database_settings) */ + enablePresignedUploads?: boolean; + /** Override: enable many-to-many relationships (NULL = inherit from database_settings) */ + enableManyToMany?: boolean; + /** Override: enable connection filter (NULL = inherit from database_settings) */ + enableConnectionFilter?: boolean; + /** Override: enable ltree hierarchical data type (NULL = inherit from database_settings) */ + enableLtree?: boolean; + /** Override: enable LLM/AI integration features (NULL = inherit from database_settings) */ + enableLlm?: boolean; + /** Extensible JSON for additional per-API settings that do not have dedicated columns */ + options?: unknown; +} +export interface CreatePlansModuleInput { + clientMutationId?: string; + /** The `PlansModule` to be created by this mutation. */ + plansModule: PlansModuleInput; +} +/** An input for mutations affecting `PlansModule` */ +export interface PlansModuleInput { + id?: string; + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + plansTableId?: string; + plansTableName?: string; + planLimitsTableId?: string; + planLimitsTableName?: string; + planPricingTableId?: string; + planOverridesTableId?: string; + applyPlanFunction?: string; + applyPlanAggregateFunction?: string; + prefix?: string; +} export interface CreateOrgMemberProfileInput { clientMutationId?: string; /** The `OrgMemberProfile` to be created by this mutation. */ @@ -12256,6 +13885,35 @@ export interface SqlActionInput { actionId?: string; actorId?: string; } +export interface CreateAppLimitInput { + clientMutationId?: string; + /** The `AppLimit` to be created by this mutation. */ + appLimit: AppLimitInput; +} +/** An input for mutations affecting `AppLimit` */ +export interface AppLimitInput { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; +} export interface CreateDatabaseTransferInput { clientMutationId?: string; /** The `DatabaseTransfer` to be created by this mutation. */ @@ -12426,6 +14084,67 @@ export interface AstMigrationInput { actionId?: string; actorId?: string; } +export interface CreateOrgLimitAggregateInput { + clientMutationId?: string; + /** The `OrgLimitAggregate` to be created by this mutation. */ + orgLimitAggregate: OrgLimitAggregateInput; +} +/** An input for mutations affecting `OrgLimitAggregate` */ +export interface OrgLimitAggregateInput { + id?: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string; + /** Entity (org) whose aggregate usage is being tracked */ + entityId: string; + /** Current aggregate usage count for this entity and limit */ + num?: string; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string; +} +export interface CreateOrgLimitInput { + clientMutationId?: string; + /** The `OrgLimit` to be created by this mutation. */ + orgLimit: OrgLimitInput; +} +/** An input for mutations affecting `OrgLimit` */ +export interface OrgLimitInput { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + entityId: string; +} export interface CreateEnumInput { clientMutationId?: string; /** The `Enum` to be created by this mutation. */ @@ -12865,13 +14584,57 @@ export interface EmbeddingChunkInput { createdAt?: string; updatedAt?: string; } -export interface CreateOrgInviteInput { +export interface CreateWebauthnSettingInput { clientMutationId?: string; - /** The `OrgInvite` to be created by this mutation. */ - orgInvite: OrgInviteInput; + /** The `WebauthnSetting` to be created by this mutation. */ + webauthnSetting: WebauthnSettingInput; } -/** An input for mutations affecting `OrgInvite` */ -export interface OrgInviteInput { +/** An input for mutations affecting `WebauthnSetting` */ +export interface WebauthnSettingInput { + /** Unique identifier for this WebAuthn settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId: string; + /** Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) */ + schemaId?: string; + /** Schema of the webauthn_credentials table (FK to metaschema_public.schema) */ + credentialsSchemaId?: string; + /** Schema of the sessions table (FK to metaschema_public.schema) */ + sessionsSchemaId?: string; + /** Schema of the session_secrets table (FK to metaschema_public.schema) */ + sessionSecretsSchemaId?: string; + /** Reference to the webauthn_credentials table (FK to metaschema_public.table) */ + credentialsTableId?: string; + /** Reference to the sessions table (FK to metaschema_public.table) */ + sessionsTableId?: string; + /** Reference to the session_credentials table (FK to metaschema_public.table) */ + sessionCredentialsTableId?: string; + /** Reference to the session_secrets table (FK to metaschema_public.table) */ + sessionSecretsTableId?: string; + /** Reference to the user field on webauthn_credentials (FK to metaschema_public.field) */ + userFieldId?: string; + /** WebAuthn Relying Party ID (typically the domain name) */ + rpId?: string; + /** WebAuthn Relying Party display name */ + rpName?: string; + /** Allowed origins for WebAuthn registration and authentication */ + originAllowlist?: string[]; + /** Attestation conveyance preference (none, indirect, direct, enterprise) */ + attestationType?: string; + /** Whether to require user verification (biometric/PIN) during auth */ + requireUserVerification?: boolean; + /** Resident key requirement (discouraged, preferred, required) */ + residentKey?: string; + /** Challenge TTL in seconds (default 300 = 5 minutes) */ + challengeExpirySeconds?: string; +} +export interface CreateOrgInviteInput { + clientMutationId?: string; + /** The `OrgInvite` to be created by this mutation. */ + orgInvite: OrgInviteInput; +} +/** An input for mutations affecting `OrgInvite` */ +export interface OrgInviteInput { id?: string; /** Email address of the invited recipient */ email?: ConstructiveInternalTypeEmail; @@ -12982,32 +14745,33 @@ export interface IndexInput { createdAt?: string; updatedAt?: string; } -export interface CreateLimitsModuleInput { +export interface CreateBillingProviderModuleInput { clientMutationId?: string; - /** The `LimitsModule` to be created by this mutation. */ - limitsModule: LimitsModuleInput; + /** The `BillingProviderModule` to be created by this mutation. */ + billingProviderModule: BillingProviderModuleInput; } -/** An input for mutations affecting `LimitsModule` */ -export interface LimitsModuleInput { +/** An input for mutations affecting `BillingProviderModule` */ +export interface BillingProviderModuleInput { id?: string; databaseId: string; schemaId?: string; privateSchemaId?: string; - tableId?: string; - tableName?: string; - defaultTableId?: string; - defaultTableName?: string; - limitIncrementFunction?: string; - limitDecrementFunction?: string; - limitIncrementTrigger?: string; - limitDecrementTrigger?: string; - limitUpdateTrigger?: string; - limitCheckFunction?: string; - aggregateTableId?: string; + provider?: string; + productsTableId?: string; + pricesTableId?: string; + subscriptionsTableId?: string; + billingCustomersTableId?: string; + billingCustomersTableName?: string; + billingProductsTableId?: string; + billingProductsTableName?: string; + billingPricesTableId?: string; + billingPricesTableName?: string; + billingSubscriptionsTableId?: string; + billingSubscriptionsTableName?: string; + billingWebhookEventsTableId?: string; + billingWebhookEventsTableName?: string; + processBillingEventFunction?: string; prefix?: string; - membershipType: number; - entityTableId?: string; - actorTableId?: string; } export interface CreateBlueprintTemplateInput { clientMutationId?: string; @@ -13177,36 +14941,6 @@ export interface ForeignKeyConstraintInput { createdAt?: string; updatedAt?: string; } -export interface CreateStorageModuleInput { - clientMutationId?: string; - /** The `StorageModule` to be created by this mutation. */ - storageModule: StorageModuleInput; -} -/** An input for mutations affecting `StorageModule` */ -export interface StorageModuleInput { - id?: string; - databaseId: string; - schemaId?: string; - privateSchemaId?: string; - bucketsTableId?: string; - filesTableId?: string; - bucketsTableName?: string; - filesTableName?: string; - membershipType?: number; - policies?: unknown; - skipDefaultPolicyTables?: string[]; - entityTableId?: string; - endpoint?: string; - publicUrlPrefix?: string; - provider?: string; - allowedOrigins?: string[]; - restrictReads?: boolean; - uploadUrlExpirySeconds?: number; - downloadUrlExpirySeconds?: number; - defaultMaxFileSize?: string; - maxFilenameLength?: number; - cacheTtlSeconds?: number; -} export interface CreateTableInput { clientMutationId?: string; /** The `Table` to be created by this mutation. */ @@ -13234,6 +14968,135 @@ export interface TableInput { createdAt?: string; updatedAt?: string; } +export interface CreateRelationProvisionInput { + clientMutationId?: string; + /** The `RelationProvision` to be created by this mutation. */ + relationProvision: RelationProvisionInput; +} +/** An input for mutations affecting `RelationProvision` */ +export interface RelationProvisionInput { + /** Unique identifier for this relation provision row. */ + id?: string; + /** The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. */ + databaseId: string; + /** + * The type of relation to create. Uses SuperCase naming: + * - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. + * - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. + * - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. + * - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). + * Each relation type uses a different subset of columns on this table. Required. + */ + relationType: string; + /** + * The source table in the relation. Required. + * - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). + * - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. + * - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). + * - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. + */ + sourceTableId: string; + /** + * The target table in the relation. Required. + * - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). + * - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). + * - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). + * - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. + */ + targetTableId: string; + /** + * FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. + * - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). + * - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). + * For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. + * Ignored for RelationManyToMany — use source_field_name/target_field_name instead. + */ + fieldName?: string; + /** FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). */ + deleteAction?: string; + /** + * Whether the FK field is NOT NULL. Defaults to true. + * - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). + * - RelationHasMany: set to false if the child can exist without a parent. + * - RelationHasOne: typically true. + * Ignored for RelationManyToMany (junction FK fields are always required). + */ + isRequired?: boolean; + /** + * Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. + * When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. + * When is_required is true, api_required is ignored (the field is already required at both levels). + * Ignored for RelationManyToMany (junction FK fields are always required). + */ + apiRequired?: boolean; + /** + * For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). + * - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. + * - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. + * Ignored for RelationBelongsTo/RelationHasOne. + */ + junctionTableId?: string; + /** For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. */ + junctionTableName?: string; + /** For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. */ + junctionSchemaId?: string; + /** For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. */ + sourceFieldName?: string; + /** For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. */ + targetFieldName?: string; + /** + * For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. + * - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. + * - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. + * use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. + * Ignored for RelationBelongsTo/RelationHasOne. + */ + useCompositeKey?: boolean; + /** + * Whether to create a btree index on FK fields created by this relation. Defaults to true. + * PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). + * Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. + * - RelationBelongsTo: creates an index on the FK field on the source table. + * - RelationHasMany: creates an index on the FK field on the target table. + * - RelationHasOne: skipped — the unique constraint already creates an implicit index. + * - RelationManyToMany: creates indexes on both FK fields on the junction table. + * Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + */ + createIndex?: boolean; + /** + * For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. + * When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates + * clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). + * When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. + * Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. + * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + */ + exposeInApi?: boolean; + /** + * For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. + * Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. + * Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). + * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + */ + nodes?: unknown; + /** For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. */ + grants?: unknown; + /** + * For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. + * Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. + * Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). + * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + */ + policies?: unknown; + /** Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. */ + outFieldId?: string; + /** Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ + outJunctionTableId?: string; + /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ + outSourceFieldId?: string; + /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ + outTargetFieldId?: string; +} export interface CreateEntityTypeProvisionInput { clientMutationId?: string; /** The `EntityTypeProvision` to be created by this mutation. */ @@ -13420,6 +15283,7 @@ export interface EntityTypeProvisionInput { outBucketsTableId?: string; /** Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. */ outFilesTableId?: string; + outPathSharesTableId?: string; /** * Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. * NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING @@ -13427,142 +15291,13 @@ export interface EntityTypeProvisionInput { */ outInvitesModuleId?: string; } -export interface CreateRelationProvisionInput { +export interface CreateLevelsModuleInput { clientMutationId?: string; - /** The `RelationProvision` to be created by this mutation. */ - relationProvision: RelationProvisionInput; + /** The `LevelsModule` to be created by this mutation. */ + levelsModule: LevelsModuleInput; } -/** An input for mutations affecting `RelationProvision` */ -export interface RelationProvisionInput { - /** Unique identifier for this relation provision row. */ - id?: string; - /** The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. */ - databaseId: string; - /** - * The type of relation to create. Uses SuperCase naming: - * - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. - * - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. - * - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. - * - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). - * Each relation type uses a different subset of columns on this table. Required. - */ - relationType: string; - /** - * The source table in the relation. Required. - * - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). - * - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. - * - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). - * - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. - */ - sourceTableId: string; - /** - * The target table in the relation. Required. - * - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). - * - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). - * - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). - * - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. - */ - targetTableId: string; - /** - * FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. - * - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). - * - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). - * For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. - * Ignored for RelationManyToMany — use source_field_name/target_field_name instead. - */ - fieldName?: string; - /** FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). */ - deleteAction?: string; - /** - * Whether the FK field is NOT NULL. Defaults to true. - * - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). - * - RelationHasMany: set to false if the child can exist without a parent. - * - RelationHasOne: typically true. - * Ignored for RelationManyToMany (junction FK fields are always required). - */ - isRequired?: boolean; - /** - * Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. - * When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. - * When is_required is true, api_required is ignored (the field is already required at both levels). - * Ignored for RelationManyToMany (junction FK fields are always required). - */ - apiRequired?: boolean; - /** - * For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). - * - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. - * - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. - * Ignored for RelationBelongsTo/RelationHasOne. - */ - junctionTableId?: string; - /** For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. */ - junctionTableName?: string; - /** For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. */ - junctionSchemaId?: string; - /** For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. */ - sourceFieldName?: string; - /** For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. */ - targetFieldName?: string; - /** - * For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. - * - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. - * - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. - * use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. - * Ignored for RelationBelongsTo/RelationHasOne. - */ - useCompositeKey?: boolean; - /** - * Whether to create a btree index on FK fields created by this relation. Defaults to true. - * PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). - * Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. - * - RelationBelongsTo: creates an index on the FK field on the source table. - * - RelationHasMany: creates an index on the FK field on the target table. - * - RelationHasOne: skipped — the unique constraint already creates an implicit index. - * - RelationManyToMany: creates indexes on both FK fields on the junction table. - * Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. - */ - createIndex?: boolean; - /** - * For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. - * When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates - * clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). - * When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. - * Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. - * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - */ - exposeInApi?: boolean; - /** - * For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. - * Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. - * Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). - * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - */ - nodes?: unknown; - /** For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. */ - grants?: unknown; - /** - * For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. - * Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. - * Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). - * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - */ - policies?: unknown; - /** Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. */ - outFieldId?: string; - /** Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ - outJunctionTableId?: string; - /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ - outSourceFieldId?: string; - /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ - outTargetFieldId?: string; -} -export interface CreateLevelsModuleInput { - clientMutationId?: string; - /** The `LevelsModule` to be created by this mutation. */ - levelsModule: LevelsModuleInput; -} -/** An input for mutations affecting `LevelsModule` */ -export interface LevelsModuleInput { +/** An input for mutations affecting `LevelsModule` */ +export interface LevelsModuleInput { id?: string; databaseId: string; schemaId?: string; @@ -13656,6 +15391,81 @@ export interface FieldInput { createdAt?: string; updatedAt?: string; } +export interface CreateLimitsModuleInput { + clientMutationId?: string; + /** The `LimitsModule` to be created by this mutation. */ + limitsModule: LimitsModuleInput; +} +/** An input for mutations affecting `LimitsModule` */ +export interface LimitsModuleInput { + id?: string; + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + tableId?: string; + tableName?: string; + defaultTableId?: string; + defaultTableName?: string; + limitIncrementFunction?: string; + limitDecrementFunction?: string; + limitIncrementTrigger?: string; + limitDecrementTrigger?: string; + limitUpdateTrigger?: string; + limitCheckFunction?: string; + limitCreditsTableId?: string; + eventsTableId?: string; + creditCodesTableId?: string; + creditCodeItemsTableId?: string; + creditRedemptionsTableId?: string; + aggregateTableId?: string; + limitCapsTableId?: string; + limitCapsDefaultsTableId?: string; + capCheckTrigger?: string; + resolveCapFunction?: string; + prefix?: string; + membershipType: number; + entityTableId?: string; + actorTableId?: string; +} +export interface CreateStorageModuleInput { + clientMutationId?: string; + /** The `StorageModule` to be created by this mutation. */ + storageModule: StorageModuleInput; +} +/** An input for mutations affecting `StorageModule` */ +export interface StorageModuleInput { + id?: string; + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + bucketsTableId?: string; + filesTableId?: string; + bucketsTableName?: string; + filesTableName?: string; + membershipType?: number; + policies?: unknown; + skipDefaultPolicyTables?: string[]; + entityTableId?: string; + endpoint?: string; + publicUrlPrefix?: string; + provider?: string; + allowedOrigins?: string[]; + restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: string; + uploadUrlExpirySeconds?: number; + downloadUrlExpirySeconds?: number; + defaultMaxFileSize?: string; + maxFilenameLength?: number; + cacheTtlSeconds?: number; + maxBulkFiles?: number; + maxBulkTotalSize?: string; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: string; +} export interface CreateMembershipsModuleInput { clientMutationId?: string; /** The `MembershipsModule` to be created by this mutation. */ @@ -13720,6 +15530,33 @@ export interface RoleTypePatch { id?: number; name?: string; } +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCreditRedemption` being updated. */ + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +/** Represents an update to a `AppLimitCreditRedemption`. Fields that are set will be updated. */ +export interface AppLimitCreditRedemptionPatch { + id?: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string; +} +export interface UpdateFunctionInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `Function` being updated. */ + functionPatch: FunctionPatch; +} +/** Represents an update to a `Function`. Fields that are set will be updated. */ +export interface FunctionPatch { + id?: string; + databaseId?: string; + schemaId?: string; + name?: string; +} export interface UpdateViewTableInput { clientMutationId?: string; id: string; @@ -13751,6 +15588,24 @@ export interface ApiSchemaPatch { /** API that exposes this schema */ apiId?: string; } +export interface UpdateCorsSettingInput { + clientMutationId?: string; + /** Unique identifier for this CORS settings record */ + id: string; + /** An object where the defined keys will be set on the `CorsSetting` being updated. */ + corsSettingPatch: CorsSettingPatch; +} +/** Represents an update to a `CorsSetting`. Fields that are set will be updated. */ +export interface CorsSettingPatch { + /** Unique identifier for this CORS settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId?: string; + /** Optional API for per-API override; NULL means database-wide default */ + apiId?: string; + /** Array of allowed CORS origins (e.g. https://example.com) */ + allowedOrigins?: string[]; +} export interface UpdateOrgMemberInput { clientMutationId?: string; id: string; @@ -13916,6 +15771,24 @@ export interface SiteModulePatch { /** JSON configuration data for this module */ data?: unknown; } +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCreditCode` being updated. */ + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +/** Represents an update to a `AppLimitCreditCode`. Fields that are set will be updated. */ +export interface AppLimitCreditCodePatch { + id?: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string; +} export interface UpdateSchemaGrantInput { clientMutationId?: string; id: string; @@ -14113,6 +15986,66 @@ export interface OrgPermissionPatch { /** Human-readable description of what this permission allows */ description?: string; } +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCapsDefault` being updated. */ + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +/** Represents an update to a `AppLimitCapsDefault`. Fields that are set will be updated. */ +export interface AppLimitCapsDefaultPatch { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitCapsDefault` being updated. */ + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +/** Represents an update to a `OrgLimitCapsDefault`. Fields that are set will be updated. */ +export interface OrgLimitCapsDefaultPatch { + id?: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCap` being updated. */ + appLimitCapPatch: AppLimitCapPatch; +} +/** Represents an update to a `AppLimitCap`. Fields that are set will be updated. */ +export interface AppLimitCapPatch { + id?: string; + /** Name identifier of the cap being overridden */ + name?: string; + /** Entity this cap override applies to */ + entityId?: string; + /** Override cap value for this entity */ + max?: string; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitCap` being updated. */ + orgLimitCapPatch: OrgLimitCapPatch; +} +/** Represents an update to a `OrgLimitCap`. Fields that are set will be updated. */ +export interface OrgLimitCapPatch { + id?: string; + /** Name identifier of the cap being overridden */ + name?: string; + /** Entity this cap override applies to */ + entityId?: string; + /** Override cap value for this entity */ + max?: string; +} export interface UpdateMembershipTypeInput { clientMutationId?: string; /** Integer identifier for the membership type (1=App, 2=Organization, 3=Group) */ @@ -14374,6 +16307,24 @@ export interface OrgLimitDefaultPatch { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string; } +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCreditCodeItem` being updated. */ + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +/** Represents an update to a `AppLimitCreditCodeItem`. Fields that are set will be updated. */ +export interface AppLimitCreditCodeItemPatch { + id?: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string; + /** Number of credits this item grants per redemption */ + amount?: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; +} export interface UpdateDatabaseInput { clientMutationId?: string; id: string; @@ -14516,6 +16467,48 @@ export interface AppLevelRequirementPatch { createdAt?: string; updatedAt?: string; } +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimitCredit` being updated. */ + appLimitCreditPatch: AppLimitCreditPatch; +} +/** Represents an update to a `AppLimitCredit`. Fields that are set will be updated. */ +export interface AppLimitCreditPatch { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitCredit` being updated. */ + orgLimitCreditPatch: OrgLimitCreditPatch; +} +/** Represents an update to a `OrgLimitCredit`. Fields that are set will be updated. */ +export interface OrgLimitCreditPatch { + id?: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string; +} export interface UpdateFullTextSearchInput { clientMutationId?: string; id: string; @@ -14580,6 +16573,34 @@ export interface CommitPatch { treeId?: string; date?: string; } +export interface UpdatePubkeySettingInput { + clientMutationId?: string; + /** Unique identifier for this pubkey settings record */ + id: string; + /** An object where the defined keys will be set on the `PubkeySetting` being updated. */ + pubkeySettingPatch: PubkeySettingPatch; +} +/** Represents an update to a `PubkeySetting`. Fields that are set will be updated. */ +export interface PubkeySettingPatch { + /** Unique identifier for this pubkey settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId?: string; + /** Schema containing the crypto auth functions (FK to metaschema_public.schema) */ + schemaId?: string; + /** Crypto network for key derivation (e.g. cosmos, ethereum) */ + cryptoNetwork?: string; + /** Field name used to identify the user in crypto auth functions */ + userField?: string; + /** Reference to the sign-up-with-key function (FK to metaschema_public.function) */ + signUpWithKeyFunctionId?: string; + /** Reference to the sign-in challenge request function (FK to metaschema_public.function) */ + signInRequestChallengeFunctionId?: string; + /** Reference to the sign-in failure recording function (FK to metaschema_public.function) */ + signInRecordFailureFunctionId?: string; + /** Reference to the sign-in-with-challenge function (FK to metaschema_public.function) */ + signInWithChallengeFunctionId?: string; +} export interface UpdateRateLimitsModuleInput { clientMutationId?: string; id: string; @@ -14747,6 +16768,36 @@ export interface DomainPatch { /** Root domain of the hostname */ domain?: ConstructiveInternalTypeHostname; } +export interface UpdateRlsSettingInput { + clientMutationId?: string; + /** Unique identifier for this RLS settings record */ + id: string; + /** An object where the defined keys will be set on the `RlsSetting` being updated. */ + rlsSettingPatch: RlsSettingPatch; +} +/** Represents an update to a `RlsSetting`. Fields that are set will be updated. */ +export interface RlsSettingPatch { + /** Unique identifier for this RLS settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId?: string; + /** Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) */ + authenticateSchemaId?: string; + /** Schema containing current_role and related functions (FK to metaschema_public.schema) */ + roleSchemaId?: string; + /** Reference to the authenticate function (FK to metaschema_public.function) */ + authenticateFunctionId?: string; + /** Reference to the strict authenticate function (FK to metaschema_public.function) */ + authenticateStrictFunctionId?: string; + /** Reference to the current_role function (FK to metaschema_public.function) */ + currentRoleFunctionId?: string; + /** Reference to the current_role_id function (FK to metaschema_public.function) */ + currentRoleIdFunctionId?: string; + /** Reference to the current_user_agent function (FK to metaschema_public.function) */ + currentUserAgentFunctionId?: string; + /** Reference to the current_ip_address function (FK to metaschema_public.function) */ + currentIpAddressFunctionId?: string; +} export interface UpdateAgentTaskInput { clientMutationId?: string; id: string; @@ -14884,53 +16935,25 @@ export interface OrgChartEdgePatch { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number; } -export interface UpdateAppLimitInput { +export interface UpdatePartitionInput { clientMutationId?: string; id: string; - /** An object where the defined keys will be set on the `AppLimit` being updated. */ - appLimitPatch: AppLimitPatch; + /** An object where the defined keys will be set on the `Partition` being updated. */ + partitionPatch: PartitionPatch; } -/** Represents an update to a `AppLimit`. Fields that are set will be updated. */ -export interface AppLimitPatch { +/** Represents an update to a `Partition`. Fields that are set will be updated. */ +export interface PartitionPatch { id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId?: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; -} -export interface UpdateOrgLimitAggregateInput { - clientMutationId?: string; - id: string; - /** An object where the defined keys will be set on the `OrgLimitAggregate` being updated. */ - orgLimitAggregatePatch: OrgLimitAggregatePatch; -} -/** Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. */ -export interface OrgLimitAggregatePatch { - id?: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string; - /** Entity (org) whose aggregate usage is being tracked */ - entityId?: string; - /** Current aggregate usage count for this entity and limit */ - num?: string; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; + databaseId?: string; + tableId?: string; + strategy?: string; + partitionKeyId?: string; + interval?: string; + retention?: string; + lookahead?: number; + namingPattern?: string; + createdAt?: string; + updatedAt?: string; } export interface UpdateBlueprintConstructionInput { clientMutationId?: string; @@ -14964,26 +16987,6 @@ export interface BlueprintConstructionPatch { /** Timestamp when this construction attempt was last modified. */ updatedAt?: string; } -export interface UpdatePlansModuleInput { - clientMutationId?: string; - id: string; - /** An object where the defined keys will be set on the `PlansModule` being updated. */ - plansModulePatch: PlansModulePatch; -} -/** Represents an update to a `PlansModule`. Fields that are set will be updated. */ -export interface PlansModulePatch { - id?: string; - databaseId?: string; - schemaId?: string; - privateSchemaId?: string; - plansTableId?: string; - plansTableName?: string; - planLimitsTableId?: string; - planLimitsTableName?: string; - applyPlanFunction?: string; - applyPlanAggregateFunction?: string; - prefix?: string; -} export interface UpdateRlsModuleInput { clientMutationId?: string; id: string; @@ -15067,30 +17070,39 @@ export interface AppLevelPatch { /** Upload for Badge or icon image associated with this level */ imageUpload?: File; } -export interface UpdateOrgLimitInput { +export interface UpdateDatabaseSettingInput { clientMutationId?: string; + /** Unique identifier for this settings record */ id: string; - /** An object where the defined keys will be set on the `OrgLimit` being updated. */ - orgLimitPatch: OrgLimitPatch; + /** An object where the defined keys will be set on the `DatabaseSetting` being updated. */ + databaseSettingPatch: DatabaseSettingPatch; } -/** Represents an update to a `OrgLimit`. Fields that are set will be updated. */ -export interface OrgLimitPatch { +/** Represents an update to a `DatabaseSetting`. Fields that are set will be updated. */ +export interface DatabaseSettingPatch { + /** Unique identifier for this settings record */ id?: string; - /** Name identifier of the limit being tracked */ - name?: string; - /** User whose usage is being tracked against this limit */ - actorId?: string; - /** Current usage count for this actor and limit */ - num?: string; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: IntervalInput; - entityId?: string; + /** Reference to the metaschema database these settings apply to */ + databaseId?: string; + /** Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API */ + enableAggregates?: boolean; + /** Enable PostGIS spatial types and operators in the GraphQL API */ + enablePostgis?: boolean; + /** Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API */ + enableSearch?: boolean; + /** Enable direct (multipart) file upload mutations in the GraphQL API */ + enableDirectUploads?: boolean; + /** Enable presigned URL upload flow for S3/MinIO storage */ + enablePresignedUploads?: boolean; + /** Enable many-to-many relationship queries in the GraphQL API */ + enableManyToMany?: boolean; + /** Enable connection filter (where argument) in the GraphQL API */ + enableConnectionFilter?: boolean; + /** Enable ltree hierarchical data type support in the GraphQL API */ + enableLtree?: boolean; + /** Enable LLM/AI integration features in the GraphQL API */ + enableLlm?: boolean; + /** Extensible JSON for additional settings that do not have dedicated columns */ + options?: unknown; } export interface UpdateBlueprintInput { clientMutationId?: string; @@ -15147,6 +17159,64 @@ export interface DenormalizedTableFieldPatch { funcName?: string; funcOrder?: number; } +export interface UpdateApiSettingInput { + clientMutationId?: string; + /** Unique identifier for this API settings record */ + id: string; + /** An object where the defined keys will be set on the `ApiSetting` being updated. */ + apiSettingPatch: ApiSettingPatch; +} +/** Represents an update to a `ApiSetting`. Fields that are set will be updated. */ +export interface ApiSettingPatch { + /** Unique identifier for this API settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId?: string; + /** API these settings override for */ + apiId?: string; + /** Override: enable aggregate queries (NULL = inherit from database_settings) */ + enableAggregates?: boolean; + /** Override: enable PostGIS spatial types (NULL = inherit from database_settings) */ + enablePostgis?: boolean; + /** Override: enable unified search (NULL = inherit from database_settings) */ + enableSearch?: boolean; + /** Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) */ + enableDirectUploads?: boolean; + /** Override: enable presigned URL upload flow (NULL = inherit from database_settings) */ + enablePresignedUploads?: boolean; + /** Override: enable many-to-many relationships (NULL = inherit from database_settings) */ + enableManyToMany?: boolean; + /** Override: enable connection filter (NULL = inherit from database_settings) */ + enableConnectionFilter?: boolean; + /** Override: enable ltree hierarchical data type (NULL = inherit from database_settings) */ + enableLtree?: boolean; + /** Override: enable LLM/AI integration features (NULL = inherit from database_settings) */ + enableLlm?: boolean; + /** Extensible JSON for additional per-API settings that do not have dedicated columns */ + options?: unknown; +} +export interface UpdatePlansModuleInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `PlansModule` being updated. */ + plansModulePatch: PlansModulePatch; +} +/** Represents an update to a `PlansModule`. Fields that are set will be updated. */ +export interface PlansModulePatch { + id?: string; + databaseId?: string; + schemaId?: string; + privateSchemaId?: string; + plansTableId?: string; + plansTableName?: string; + planLimitsTableId?: string; + planLimitsTableName?: string; + planPricingTableId?: string; + planOverridesTableId?: string; + applyPlanFunction?: string; + applyPlanAggregateFunction?: string; + prefix?: string; +} export interface UpdateOrgMemberProfileInput { clientMutationId?: string; id: string; @@ -15177,6 +17247,36 @@ export interface OrgMemberProfilePatch { /** Upload for Profile picture visible to other entity members */ profilePictureUpload?: File; } +export interface UpdateAppLimitInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `AppLimit` being updated. */ + appLimitPatch: AppLimitPatch; +} +/** Represents an update to a `AppLimit`. Fields that are set will be updated. */ +export interface AppLimitPatch { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId?: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; +} export interface UpdateDatabaseTransferInput { clientMutationId?: string; id: string; @@ -15333,6 +17433,69 @@ export interface SecureTableProvisionPatch { /** Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. */ outFields?: string[]; } +export interface UpdateOrgLimitAggregateInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimitAggregate` being updated. */ + orgLimitAggregatePatch: OrgLimitAggregatePatch; +} +/** Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. */ +export interface OrgLimitAggregatePatch { + id?: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string; + /** Entity (org) whose aggregate usage is being tracked */ + entityId?: string; + /** Current aggregate usage count for this entity and limit */ + num?: string; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string; +} +export interface UpdateOrgLimitInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `OrgLimit` being updated. */ + orgLimitPatch: OrgLimitPatch; +} +/** Represents an update to a `OrgLimit`. Fields that are set will be updated. */ +export interface OrgLimitPatch { + id?: string; + /** Name identifier of the limit being tracked */ + name?: string; + /** User whose usage is being tracked against this limit */ + actorId?: string; + /** Current usage count for this actor and limit */ + num?: string; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: IntervalInput; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string; + entityId?: string; +} export interface UpdateEnumInput { clientMutationId?: string; id: string; @@ -15804,6 +17967,52 @@ export interface EmbeddingChunkPatch { createdAt?: string; updatedAt?: string; } +export interface UpdateWebauthnSettingInput { + clientMutationId?: string; + /** Unique identifier for this WebAuthn settings record */ + id: string; + /** An object where the defined keys will be set on the `WebauthnSetting` being updated. */ + webauthnSettingPatch: WebauthnSettingPatch; +} +/** Represents an update to a `WebauthnSetting`. Fields that are set will be updated. */ +export interface WebauthnSettingPatch { + /** Unique identifier for this WebAuthn settings record */ + id?: string; + /** Reference to the metaschema database */ + databaseId?: string; + /** Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) */ + schemaId?: string; + /** Schema of the webauthn_credentials table (FK to metaschema_public.schema) */ + credentialsSchemaId?: string; + /** Schema of the sessions table (FK to metaschema_public.schema) */ + sessionsSchemaId?: string; + /** Schema of the session_secrets table (FK to metaschema_public.schema) */ + sessionSecretsSchemaId?: string; + /** Reference to the webauthn_credentials table (FK to metaschema_public.table) */ + credentialsTableId?: string; + /** Reference to the sessions table (FK to metaschema_public.table) */ + sessionsTableId?: string; + /** Reference to the session_credentials table (FK to metaschema_public.table) */ + sessionCredentialsTableId?: string; + /** Reference to the session_secrets table (FK to metaschema_public.table) */ + sessionSecretsTableId?: string; + /** Reference to the user field on webauthn_credentials (FK to metaschema_public.field) */ + userFieldId?: string; + /** WebAuthn Relying Party ID (typically the domain name) */ + rpId?: string; + /** WebAuthn Relying Party display name */ + rpName?: string; + /** Allowed origins for WebAuthn registration and authentication */ + originAllowlist?: string[]; + /** Attestation conveyance preference (none, indirect, direct, enterprise) */ + attestationType?: string; + /** Whether to require user verification (biometric/PIN) during auth */ + requireUserVerification?: boolean; + /** Resident key requirement (discouraged, preferred, required) */ + residentKey?: string; + /** Challenge TTL in seconds (default 300 = 5 minutes) */ + challengeExpirySeconds?: string; +} export interface UpdateOrgInviteInput { clientMutationId?: string; id: string; @@ -15925,33 +18134,34 @@ export interface IndexPatch { createdAt?: string; updatedAt?: string; } -export interface UpdateLimitsModuleInput { +export interface UpdateBillingProviderModuleInput { clientMutationId?: string; id: string; - /** An object where the defined keys will be set on the `LimitsModule` being updated. */ - limitsModulePatch: LimitsModulePatch; + /** An object where the defined keys will be set on the `BillingProviderModule` being updated. */ + billingProviderModulePatch: BillingProviderModulePatch; } -/** Represents an update to a `LimitsModule`. Fields that are set will be updated. */ -export interface LimitsModulePatch { +/** Represents an update to a `BillingProviderModule`. Fields that are set will be updated. */ +export interface BillingProviderModulePatch { id?: string; databaseId?: string; schemaId?: string; privateSchemaId?: string; - tableId?: string; - tableName?: string; - defaultTableId?: string; - defaultTableName?: string; - limitIncrementFunction?: string; - limitDecrementFunction?: string; - limitIncrementTrigger?: string; - limitDecrementTrigger?: string; - limitUpdateTrigger?: string; - limitCheckFunction?: string; - aggregateTableId?: string; + provider?: string; + productsTableId?: string; + pricesTableId?: string; + subscriptionsTableId?: string; + billingCustomersTableId?: string; + billingCustomersTableName?: string; + billingProductsTableId?: string; + billingProductsTableName?: string; + billingPricesTableId?: string; + billingPricesTableName?: string; + billingSubscriptionsTableId?: string; + billingSubscriptionsTableName?: string; + billingWebhookEventsTableId?: string; + billingWebhookEventsTableName?: string; + processBillingEventFunction?: string; prefix?: string; - membershipType?: number; - entityTableId?: string; - actorTableId?: string; } export interface UpdateBlueprintTemplateInput { clientMutationId?: string; @@ -16127,37 +18337,6 @@ export interface ForeignKeyConstraintPatch { createdAt?: string; updatedAt?: string; } -export interface UpdateStorageModuleInput { - clientMutationId?: string; - id: string; - /** An object where the defined keys will be set on the `StorageModule` being updated. */ - storageModulePatch: StorageModulePatch; -} -/** Represents an update to a `StorageModule`. Fields that are set will be updated. */ -export interface StorageModulePatch { - id?: string; - databaseId?: string; - schemaId?: string; - privateSchemaId?: string; - bucketsTableId?: string; - filesTableId?: string; - bucketsTableName?: string; - filesTableName?: string; - membershipType?: number; - policies?: unknown; - skipDefaultPolicyTables?: string[]; - entityTableId?: string; - endpoint?: string; - publicUrlPrefix?: string; - provider?: string; - allowedOrigins?: string[]; - restrictReads?: boolean; - uploadUrlExpirySeconds?: number; - downloadUrlExpirySeconds?: number; - defaultMaxFileSize?: string; - maxFilenameLength?: number; - cacheTtlSeconds?: number; -} export interface UpdateTableInput { clientMutationId?: string; id: string; @@ -16186,6 +18365,137 @@ export interface TablePatch { createdAt?: string; updatedAt?: string; } +export interface UpdateRelationProvisionInput { + clientMutationId?: string; + /** Unique identifier for this relation provision row. */ + id: string; + /** An object where the defined keys will be set on the `RelationProvision` being updated. */ + relationProvisionPatch: RelationProvisionPatch; +} +/** Represents an update to a `RelationProvision`. Fields that are set will be updated. */ +export interface RelationProvisionPatch { + /** Unique identifier for this relation provision row. */ + id?: string; + /** The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. */ + databaseId?: string; + /** + * The type of relation to create. Uses SuperCase naming: + * - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. + * - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. + * - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. + * - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). + * Each relation type uses a different subset of columns on this table. Required. + */ + relationType?: string; + /** + * The source table in the relation. Required. + * - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). + * - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. + * - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). + * - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. + */ + sourceTableId?: string; + /** + * The target table in the relation. Required. + * - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). + * - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). + * - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). + * - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. + */ + targetTableId?: string; + /** + * FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. + * - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). + * - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). + * For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. + * Ignored for RelationManyToMany — use source_field_name/target_field_name instead. + */ + fieldName?: string; + /** FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). */ + deleteAction?: string; + /** + * Whether the FK field is NOT NULL. Defaults to true. + * - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). + * - RelationHasMany: set to false if the child can exist without a parent. + * - RelationHasOne: typically true. + * Ignored for RelationManyToMany (junction FK fields are always required). + */ + isRequired?: boolean; + /** + * Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. + * When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. + * When is_required is true, api_required is ignored (the field is already required at both levels). + * Ignored for RelationManyToMany (junction FK fields are always required). + */ + apiRequired?: boolean; + /** + * For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). + * - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. + * - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. + * Ignored for RelationBelongsTo/RelationHasOne. + */ + junctionTableId?: string; + /** For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. */ + junctionTableName?: string; + /** For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. */ + junctionSchemaId?: string; + /** For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. */ + sourceFieldName?: string; + /** For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. */ + targetFieldName?: string; + /** + * For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. + * - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. + * - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. + * use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. + * Ignored for RelationBelongsTo/RelationHasOne. + */ + useCompositeKey?: boolean; + /** + * Whether to create a btree index on FK fields created by this relation. Defaults to true. + * PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). + * Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. + * - RelationBelongsTo: creates an index on the FK field on the source table. + * - RelationHasMany: creates an index on the FK field on the target table. + * - RelationHasOne: skipped — the unique constraint already creates an implicit index. + * - RelationManyToMany: creates indexes on both FK fields on the junction table. + * Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + */ + createIndex?: boolean; + /** + * For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. + * When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates + * clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). + * When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. + * Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. + * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + */ + exposeInApi?: boolean; + /** + * For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. + * Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. + * Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). + * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + */ + nodes?: unknown; + /** For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. */ + grants?: unknown; + /** + * For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. + * Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. + * Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). + * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + */ + policies?: unknown; + /** Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. */ + outFieldId?: string; + /** Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ + outJunctionTableId?: string; + /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ + outSourceFieldId?: string; + /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ + outTargetFieldId?: string; +} export interface UpdateEntityTypeProvisionInput { clientMutationId?: string; /** Unique identifier for this provision row. */ @@ -16360,157 +18670,27 @@ export interface EntityTypeProvisionPatch { * Output: the UUID of the created entity table. Populated by the trigger. * Use this to reference the entity table in subsequent relation_provision or secure_table_provision rows. */ - outEntityTableId?: string; - /** Output: the name of the created entity table (e.g. 'data_rooms'). Populated by the trigger. */ - outEntityTableName?: string; - /** - * Output: array of installed module labels (e.g. ARRAY['permissions_module:data_room', 'memberships_module:data_room', 'invites_module:data_room']). - * Populated by the trigger. Useful for verifying which modules were provisioned. - */ - outInstalledModules?: string[]; - /** Output: the UUID of the storage_module row created for this entity type. Populated by the trigger when has_storage=true. */ - outStorageModuleId?: string; - /** Output: the UUID of the generated buckets table (e.g. data_room_buckets). Populated by the trigger when has_storage=true. */ - outBucketsTableId?: string; - /** Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. */ - outFilesTableId?: string; - /** - * Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. - * NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING - * (i.e. the invites_module row was created in a previous run). - */ - outInvitesModuleId?: string; -} -export interface UpdateRelationProvisionInput { - clientMutationId?: string; - /** Unique identifier for this relation provision row. */ - id: string; - /** An object where the defined keys will be set on the `RelationProvision` being updated. */ - relationProvisionPatch: RelationProvisionPatch; -} -/** Represents an update to a `RelationProvision`. Fields that are set will be updated. */ -export interface RelationProvisionPatch { - /** Unique identifier for this relation provision row. */ - id?: string; - /** The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. */ - databaseId?: string; - /** - * The type of relation to create. Uses SuperCase naming: - * - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. - * - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. - * - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. - * - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). - * Each relation type uses a different subset of columns on this table. Required. - */ - relationType?: string; - /** - * The source table in the relation. Required. - * - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). - * - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. - * - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). - * - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. - */ - sourceTableId?: string; - /** - * The target table in the relation. Required. - * - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). - * - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). - * - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). - * - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. - */ - targetTableId?: string; - /** - * FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. - * - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). - * - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). - * For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. - * Ignored for RelationManyToMany — use source_field_name/target_field_name instead. - */ - fieldName?: string; - /** FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). */ - deleteAction?: string; - /** - * Whether the FK field is NOT NULL. Defaults to true. - * - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). - * - RelationHasMany: set to false if the child can exist without a parent. - * - RelationHasOne: typically true. - * Ignored for RelationManyToMany (junction FK fields are always required). - */ - isRequired?: boolean; - /** - * Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. - * When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. - * When is_required is true, api_required is ignored (the field is already required at both levels). - * Ignored for RelationManyToMany (junction FK fields are always required). - */ - apiRequired?: boolean; - /** - * For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). - * - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. - * - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. - * Ignored for RelationBelongsTo/RelationHasOne. - */ - junctionTableId?: string; - /** For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. */ - junctionTableName?: string; - /** For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. */ - junctionSchemaId?: string; - /** For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. */ - sourceFieldName?: string; - /** For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. */ - targetFieldName?: string; - /** - * For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. - * - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. - * - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. - * use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. - * Ignored for RelationBelongsTo/RelationHasOne. - */ - useCompositeKey?: boolean; - /** - * Whether to create a btree index on FK fields created by this relation. Defaults to true. - * PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). - * Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. - * - RelationBelongsTo: creates an index on the FK field on the source table. - * - RelationHasMany: creates an index on the FK field on the target table. - * - RelationHasOne: skipped — the unique constraint already creates an implicit index. - * - RelationManyToMany: creates indexes on both FK fields on the junction table. - * Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. - */ - createIndex?: boolean; - /** - * For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. - * When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates - * clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). - * When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. - * Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. - * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - */ - exposeInApi?: boolean; + outEntityTableId?: string; + /** Output: the name of the created entity table (e.g. 'data_rooms'). Populated by the trigger. */ + outEntityTableName?: string; /** - * For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. - * Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. - * Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). - * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + * Output: array of installed module labels (e.g. ARRAY['permissions_module:data_room', 'memberships_module:data_room', 'invites_module:data_room']). + * Populated by the trigger. Useful for verifying which modules were provisioned. */ - nodes?: unknown; - /** For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. */ - grants?: unknown; + outInstalledModules?: string[]; + /** Output: the UUID of the storage_module row created for this entity type. Populated by the trigger when has_storage=true. */ + outStorageModuleId?: string; + /** Output: the UUID of the generated buckets table (e.g. data_room_buckets). Populated by the trigger when has_storage=true. */ + outBucketsTableId?: string; + /** Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. */ + outFilesTableId?: string; + outPathSharesTableId?: string; /** - * For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. - * Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. - * Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). - * Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + * Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. + * NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING + * (i.e. the invites_module row was created in a previous run). */ - policies?: unknown; - /** Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. */ - outFieldId?: string; - /** Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ - outJunctionTableId?: string; - /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ - outSourceFieldId?: string; - /** Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. */ - outTargetFieldId?: string; + outInvitesModuleId?: string; } export interface UpdateLevelsModuleInput { clientMutationId?: string; @@ -16615,6 +18795,83 @@ export interface FieldPatch { createdAt?: string; updatedAt?: string; } +export interface UpdateLimitsModuleInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `LimitsModule` being updated. */ + limitsModulePatch: LimitsModulePatch; +} +/** Represents an update to a `LimitsModule`. Fields that are set will be updated. */ +export interface LimitsModulePatch { + id?: string; + databaseId?: string; + schemaId?: string; + privateSchemaId?: string; + tableId?: string; + tableName?: string; + defaultTableId?: string; + defaultTableName?: string; + limitIncrementFunction?: string; + limitDecrementFunction?: string; + limitIncrementTrigger?: string; + limitDecrementTrigger?: string; + limitUpdateTrigger?: string; + limitCheckFunction?: string; + limitCreditsTableId?: string; + eventsTableId?: string; + creditCodesTableId?: string; + creditCodeItemsTableId?: string; + creditRedemptionsTableId?: string; + aggregateTableId?: string; + limitCapsTableId?: string; + limitCapsDefaultsTableId?: string; + capCheckTrigger?: string; + resolveCapFunction?: string; + prefix?: string; + membershipType?: number; + entityTableId?: string; + actorTableId?: string; +} +export interface UpdateStorageModuleInput { + clientMutationId?: string; + id: string; + /** An object where the defined keys will be set on the `StorageModule` being updated. */ + storageModulePatch: StorageModulePatch; +} +/** Represents an update to a `StorageModule`. Fields that are set will be updated. */ +export interface StorageModulePatch { + id?: string; + databaseId?: string; + schemaId?: string; + privateSchemaId?: string; + bucketsTableId?: string; + filesTableId?: string; + bucketsTableName?: string; + filesTableName?: string; + membershipType?: number; + policies?: unknown; + skipDefaultPolicyTables?: string[]; + entityTableId?: string; + endpoint?: string; + publicUrlPrefix?: string; + provider?: string; + allowedOrigins?: string[]; + restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: string; + uploadUrlExpirySeconds?: number; + downloadUrlExpirySeconds?: number; + defaultMaxFileSize?: string; + maxFilenameLength?: number; + cacheTtlSeconds?: number; + maxBulkFiles?: number; + maxBulkTotalSize?: string; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: string; +} export interface UpdateMembershipsModuleInput { clientMutationId?: string; id: string; @@ -16666,6 +18923,14 @@ export interface DeleteRoleTypeInput { clientMutationId?: string; id: number; } +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} +export interface DeleteFunctionInput { + clientMutationId?: string; + id: string; +} export interface DeleteViewTableInput { clientMutationId?: string; id: string; @@ -16675,6 +18940,11 @@ export interface DeleteApiSchemaInput { /** Unique identifier for this API-schema mapping */ id: string; } +export interface DeleteCorsSettingInput { + clientMutationId?: string; + /** Unique identifier for this CORS settings record */ + id: string; +} export interface DeleteOrgMemberInput { clientMutationId?: string; id: string; @@ -16721,6 +18991,10 @@ export interface DeleteSiteModuleInput { /** Unique identifier for this site module record */ id: string; } +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} export interface DeleteSchemaGrantInput { clientMutationId?: string; id: string; @@ -16769,6 +19043,22 @@ export interface DeleteOrgPermissionInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface DeleteMembershipTypeInput { clientMutationId?: string; /** Integer identifier for the membership type (1=App, 2=Organization, 3=Group) */ @@ -16831,6 +19121,10 @@ export interface DeleteOrgLimitDefaultInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} export interface DeleteDatabaseInput { clientMutationId?: string; id: string; @@ -16861,6 +19155,14 @@ export interface DeleteAppLevelRequirementInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface DeleteFullTextSearchInput { clientMutationId?: string; id: string; @@ -16876,6 +19178,11 @@ export interface DeleteCommitInput { /** The repository identifier */ databaseId: string; } +export interface DeletePubkeySettingInput { + clientMutationId?: string; + /** Unique identifier for this pubkey settings record */ + id: string; +} export interface DeleteRateLimitsModuleInput { clientMutationId?: string; id: string; @@ -16909,6 +19216,11 @@ export interface DeleteDomainInput { /** Unique identifier for this domain record */ id: string; } +export interface DeleteRlsSettingInput { + clientMutationId?: string; + /** Unique identifier for this RLS settings record */ + id: string; +} export interface DeleteAgentTaskInput { clientMutationId?: string; id: string; @@ -16933,11 +19245,7 @@ export interface DeleteOrgChartEdgeInput { clientMutationId?: string; id: string; } -export interface DeleteAppLimitInput { - clientMutationId?: string; - id: string; -} -export interface DeleteOrgLimitAggregateInput { +export interface DeletePartitionInput { clientMutationId?: string; id: string; } @@ -16946,10 +19254,6 @@ export interface DeleteBlueprintConstructionInput { /** Unique identifier for this construction attempt. */ id: string; } -export interface DeletePlansModuleInput { - clientMutationId?: string; - id: string; -} export interface DeleteRlsModuleInput { clientMutationId?: string; id: string; @@ -16966,8 +19270,9 @@ export interface DeleteAppLevelInput { clientMutationId?: string; id: string; } -export interface DeleteOrgLimitInput { +export interface DeleteDatabaseSettingInput { clientMutationId?: string; + /** Unique identifier for this settings record */ id: string; } export interface DeleteBlueprintInput { @@ -16979,10 +19284,23 @@ export interface DeleteDenormalizedTableFieldInput { clientMutationId?: string; id: string; } +export interface DeleteApiSettingInput { + clientMutationId?: string; + /** Unique identifier for this API settings record */ + id: string; +} +export interface DeletePlansModuleInput { + clientMutationId?: string; + id: string; +} export interface DeleteOrgMemberProfileInput { clientMutationId?: string; id: string; } +export interface DeleteAppLimitInput { + clientMutationId?: string; + id: string; +} export interface DeleteDatabaseTransferInput { clientMutationId?: string; id: string; @@ -17008,6 +19326,14 @@ export interface DeleteSecureTableProvisionInput { /** Unique identifier for this provision row. */ id: string; } +export interface DeleteOrgLimitAggregateInput { + clientMutationId?: string; + id: string; +} +export interface DeleteOrgLimitInput { + clientMutationId?: string; + id: string; +} export interface DeleteEnumInput { clientMutationId?: string; id: string; @@ -17082,6 +19408,11 @@ export interface DeleteEmbeddingChunkInput { clientMutationId?: string; id: string; } +export interface DeleteWebauthnSettingInput { + clientMutationId?: string; + /** Unique identifier for this WebAuthn settings record */ + id: string; +} export interface DeleteOrgInviteInput { clientMutationId?: string; id: string; @@ -17098,7 +19429,7 @@ export interface DeleteIndexInput { clientMutationId?: string; id: string; } -export interface DeleteLimitsModuleInput { +export interface DeleteBillingProviderModuleInput { clientMutationId?: string; id: string; } @@ -17123,12 +19454,13 @@ export interface DeleteForeignKeyConstraintInput { clientMutationId?: string; id: string; } -export interface DeleteStorageModuleInput { +export interface DeleteTableInput { clientMutationId?: string; id: string; } -export interface DeleteTableInput { +export interface DeleteRelationProvisionInput { clientMutationId?: string; + /** Unique identifier for this relation provision row. */ id: string; } export interface DeleteEntityTypeProvisionInput { @@ -17136,11 +19468,6 @@ export interface DeleteEntityTypeProvisionInput { /** Unique identifier for this provision row. */ id: string; } -export interface DeleteRelationProvisionInput { - clientMutationId?: string; - /** Unique identifier for this relation provision row. */ - id: string; -} export interface DeleteLevelsModuleInput { clientMutationId?: string; id: string; @@ -17153,28 +19480,17 @@ export interface DeleteFieldInput { clientMutationId?: string; id: string; } -export interface DeleteMembershipsModuleInput { +export interface DeleteLimitsModuleInput { clientMutationId?: string; id: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; +export interface DeleteStorageModuleInput { + clientMutationId?: string; + id: string; +} +export interface DeleteMembershipsModuleInput { + clientMutationId?: string; + id: string; } export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ @@ -17248,6 +19564,20 @@ export interface RoleTypeConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCreditRedemption` values. */ +export interface AppLimitCreditRedemptionConnection { + nodes: AppLimitCreditRedemption[]; + edges: AppLimitCreditRedemptionEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `Function` values. */ +export interface FunctionConnection { + nodes: Function[]; + edges: FunctionEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `ViewTable` values. */ export interface ViewTableConnection { nodes: ViewTable[]; @@ -17262,6 +19592,13 @@ export interface ApiSchemaConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `CorsSetting` values. */ +export interface CorsSettingConnection { + nodes: CorsSetting[]; + edges: CorsSettingEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgMember` values. */ export interface OrgMemberConnection { nodes: OrgMember[]; @@ -17339,6 +19676,13 @@ export interface SiteModuleConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCreditCode` values. */ +export interface AppLimitCreditCodeConnection { + nodes: AppLimitCreditCode[]; + edges: AppLimitCreditCodeEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `SchemaGrant` values. */ export interface SchemaGrantConnection { nodes: SchemaGrant[]; @@ -17409,6 +19753,34 @@ export interface OrgPermissionDefaultConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCapsDefault` values. */ +export interface AppLimitCapsDefaultConnection { + nodes: AppLimitCapsDefault[]; + edges: AppLimitCapsDefaultEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimitCapsDefault` values. */ +export interface OrgLimitCapsDefaultConnection { + nodes: OrgLimitCapsDefault[]; + edges: OrgLimitCapsDefaultEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `AppLimitCap` values. */ +export interface AppLimitCapConnection { + nodes: AppLimitCap[]; + edges: AppLimitCapEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimitCap` values. */ +export interface OrgLimitCapConnection { + nodes: OrgLimitCap[]; + edges: OrgLimitCapEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `MembershipType` values. */ export interface MembershipTypeConnection { nodes: MembershipType[]; @@ -17521,6 +19893,13 @@ export interface OrgLimitDefaultConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCreditCodeItem` values. */ +export interface AppLimitCreditCodeItemConnection { + nodes: AppLimitCreditCodeItem[]; + edges: AppLimitCreditCodeItemEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `UserConnectedAccount` values. */ export interface UserConnectedAccountConnection { nodes: UserConnectedAccount[]; @@ -17563,6 +19942,20 @@ export interface SiteMetadatumConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimitCredit` values. */ +export interface AppLimitCreditConnection { + nodes: AppLimitCredit[]; + edges: AppLimitCreditEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimitCredit` values. */ +export interface OrgLimitCreditConnection { + nodes: OrgLimitCredit[]; + edges: OrgLimitCreditEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `FullTextSearch` values. */ export interface FullTextSearchConnection { nodes: FullTextSearch[]; @@ -17584,6 +19977,13 @@ export interface CommitConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `PubkeySetting` values. */ +export interface PubkeySettingConnection { + nodes: PubkeySetting[]; + edges: PubkeySettingEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `RateLimitsModule` values. */ export interface RateLimitsModuleConnection { nodes: RateLimitsModule[]; @@ -17640,6 +20040,13 @@ export interface DomainConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `RlsSetting` values. */ +export interface RlsSettingConnection { + nodes: RlsSetting[]; + edges: RlsSettingEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `AgentTask` values. */ export interface AgentTaskConnection { nodes: AgentTask[]; @@ -17696,17 +20103,10 @@ export interface OrgChartEdgeConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `AppLimit` values. */ -export interface AppLimitConnection { - nodes: AppLimit[]; - edges: AppLimitEdge[]; - pageInfo: PageInfo; - totalCount: number; -} -/** A connection to a list of `OrgLimitAggregate` values. */ -export interface OrgLimitAggregateConnection { - nodes: OrgLimitAggregate[]; - edges: OrgLimitAggregateEdge[]; +/** A connection to a list of `Partition` values. */ +export interface PartitionConnection { + nodes: Partition[]; + edges: PartitionEdge[]; pageInfo: PageInfo; totalCount: number; } @@ -17717,13 +20117,6 @@ export interface BlueprintConstructionConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `PlansModule` values. */ -export interface PlansModuleConnection { - nodes: PlansModule[]; - edges: PlansModuleEdge[]; - pageInfo: PageInfo; - totalCount: number; -} /** A connection to a list of `RlsModule` values. */ export interface RlsModuleConnection { nodes: RlsModule[]; @@ -17752,13 +20145,13 @@ export interface AppLevelConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `OrgLimit` values. */ -export interface OrgLimitConnection { - nodes: OrgLimit[]; - edges: OrgLimitEdge[]; - pageInfo: PageInfo; - totalCount: number; -} +/** A connection to a list of `DatabaseSetting` values. */ +export interface DatabaseSettingConnection { + nodes: DatabaseSetting[]; + edges: DatabaseSettingEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `Blueprint` values. */ export interface BlueprintConnection { nodes: Blueprint[]; @@ -17773,6 +20166,20 @@ export interface DenormalizedTableFieldConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `ApiSetting` values. */ +export interface ApiSettingConnection { + nodes: ApiSetting[]; + edges: ApiSettingEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `PlansModule` values. */ +export interface PlansModuleConnection { + nodes: PlansModule[]; + edges: PlansModuleEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgMemberProfile` values. */ export interface OrgMemberProfileConnection { nodes: OrgMemberProfile[]; @@ -17787,6 +20194,13 @@ export interface SqlActionConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `AppLimit` values. */ +export interface AppLimitConnection { + nodes: AppLimit[]; + edges: AppLimitEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `DatabaseTransfer` values. */ export interface DatabaseTransferConnection { nodes: DatabaseTransfer[]; @@ -17836,6 +20250,20 @@ export interface AstMigrationConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `OrgLimitAggregate` values. */ +export interface OrgLimitAggregateConnection { + nodes: OrgLimitAggregate[]; + edges: OrgLimitAggregateEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `OrgLimit` values. */ +export interface OrgLimitConnection { + nodes: OrgLimit[]; + edges: OrgLimitEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `Enum` values. */ export interface EnumConnection { nodes: Enum[]; @@ -17962,6 +20390,13 @@ export interface EmbeddingChunkConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `WebauthnSetting` values. */ +export interface WebauthnSettingConnection { + nodes: WebauthnSetting[]; + edges: WebauthnSettingEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `OrgInvite` values. */ export interface OrgInviteConnection { nodes: OrgInvite[]; @@ -17990,10 +20425,10 @@ export interface IndexConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `LimitsModule` values. */ -export interface LimitsModuleConnection { - nodes: LimitsModule[]; - edges: LimitsModuleEdge[]; +/** A connection to a list of `BillingProviderModule` values. */ +export interface BillingProviderModuleConnection { + nodes: BillingProviderModule[]; + edges: BillingProviderModuleEdge[]; pageInfo: PageInfo; totalCount: number; } @@ -18032,13 +20467,6 @@ export interface ForeignKeyConstraintConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `StorageModule` values. */ -export interface StorageModuleConnection { - nodes: StorageModule[]; - edges: StorageModuleEdge[]; - pageInfo: PageInfo; - totalCount: number; -} /** A connection to a list of `Table` values. */ export interface TableConnection { nodes: Table[]; @@ -18046,13 +20474,6 @@ export interface TableConnection { pageInfo: PageInfo; totalCount: number; } -/** A connection to a list of `EntityTypeProvision` values. */ -export interface EntityTypeProvisionConnection { - nodes: EntityTypeProvision[]; - edges: EntityTypeProvisionEdge[]; - pageInfo: PageInfo; - totalCount: number; -} /** A connection to a list of `RelationProvision` values. */ export interface RelationProvisionConnection { nodes: RelationProvision[]; @@ -18060,6 +20481,13 @@ export interface RelationProvisionConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `EntityTypeProvision` values. */ +export interface EntityTypeProvisionConnection { + nodes: EntityTypeProvision[]; + edges: EntityTypeProvisionEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `LevelsModule` values. */ export interface LevelsModuleConnection { nodes: LevelsModule[]; @@ -18081,6 +20509,20 @@ export interface FieldConnection { pageInfo: PageInfo; totalCount: number; } +/** A connection to a list of `LimitsModule` values. */ +export interface LimitsModuleConnection { + nodes: LimitsModule[]; + edges: LimitsModuleEdge[]; + pageInfo: PageInfo; + totalCount: number; +} +/** A connection to a list of `StorageModule` values. */ +export interface StorageModuleConnection { + nodes: StorageModule[]; + edges: StorageModuleEdge[]; + pageInfo: PageInfo; + totalCount: number; +} /** A connection to a list of `MembershipsModule` values. */ export interface MembershipsModuleConnection { nodes: MembershipsModule[]; @@ -18191,6 +20633,9 @@ export interface BootstrapUserPayload { export interface SetFieldOrderPayload { clientMutationId?: string | null; } +export interface AppendSmartTagsPayload { + clientMutationId?: string | null; +} export interface ProvisionUniqueConstraintPayload { clientMutationId?: string | null; } @@ -18284,6 +20729,18 @@ export interface CreateRoleTypePayload { roleType?: RoleType | null; roleTypeEdge?: RoleTypeEdge | null; } +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export interface CreateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was created by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} export interface CreateViewTablePayload { clientMutationId?: string | null; /** The `ViewTable` that was created by this mutation. */ @@ -18296,6 +20753,12 @@ export interface CreateApiSchemaPayload { apiSchema?: ApiSchema | null; apiSchemaEdge?: ApiSchemaEdge | null; } +export interface CreateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was created by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} export interface CreateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was created by this mutation. */ @@ -18361,6 +20824,12 @@ export interface CreateSiteModulePayload { siteModule?: SiteModule | null; siteModuleEdge?: SiteModuleEdge | null; } +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} export interface CreateSchemaGrantPayload { clientMutationId?: string | null; /** The `SchemaGrant` that was created by this mutation. */ @@ -18433,6 +20902,30 @@ export interface CreateOrgPermissionPayload { orgPermission?: OrgPermission | null; orgPermissionEdge?: OrgPermissionEdge | null; } +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} export interface CreateMembershipTypePayload { clientMutationId?: string | null; /** The `MembershipType` that was created by this mutation. */ @@ -18528,6 +21021,12 @@ export interface CreateOrgLimitDefaultPayload { orgLimitDefault?: OrgLimitDefault | null; orgLimitDefaultEdge?: OrgLimitDefaultEdge | null; } +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} export interface CreateUserConnectedAccountPayload { clientMutationId?: string | null; /** The `UserConnectedAccount` that was created by this mutation. */ @@ -18575,6 +21074,18 @@ export interface CreateAppLevelRequirementPayload { appLevelRequirement?: AppLevelRequirement | null; appLevelRequirementEdge?: AppLevelRequirementEdge | null; } +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} export interface CreateFullTextSearchPayload { clientMutationId?: string | null; /** The `FullTextSearch` that was created by this mutation. */ @@ -18593,6 +21104,12 @@ export interface CreateCommitPayload { commit?: Commit | null; commitEdge?: CommitEdge | null; } +export interface CreatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was created by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} export interface CreateRateLimitsModulePayload { clientMutationId?: string | null; /** The `RateLimitsModule` that was created by this mutation. */ @@ -18641,6 +21158,12 @@ export interface CreateDomainPayload { domain?: Domain | null; domainEdge?: DomainEdge | null; } +export interface CreateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was created by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} export interface CreateAgentTaskPayload { clientMutationId?: string | null; /** The `AgentTask` that was created by this mutation. */ @@ -18687,17 +21210,11 @@ export interface CreateOrgChartEdgePayload { orgChartEdge?: OrgChartEdge | null; orgChartEdgeEdge?: OrgChartEdgeEdge | null; } -export interface CreateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was created by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export interface CreateOrgLimitAggregatePayload { +export interface CreatePartitionPayload { clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was created by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; + /** The `Partition` that was created by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; } export interface CreateBlueprintConstructionPayload { clientMutationId?: string | null; @@ -18705,12 +21222,6 @@ export interface CreateBlueprintConstructionPayload { blueprintConstruction?: BlueprintConstruction | null; blueprintConstructionEdge?: BlueprintConstructionEdge | null; } -export interface CreatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was created by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} export interface CreateRlsModulePayload { clientMutationId?: string | null; /** The `RlsModule` that was created by this mutation. */ @@ -18735,11 +21246,11 @@ export interface CreateAppLevelPayload { appLevel?: AppLevel | null; appLevelEdge?: AppLevelEdge | null; } -export interface CreateOrgLimitPayload { +export interface CreateDatabaseSettingPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was created by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `DatabaseSetting` that was created by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; } export interface CreateBlueprintPayload { clientMutationId?: string | null; @@ -18753,6 +21264,18 @@ export interface CreateDenormalizedTableFieldPayload { denormalizedTableField?: DenormalizedTableField | null; denormalizedTableFieldEdge?: DenormalizedTableFieldEdge | null; } +export interface CreateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was created by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export interface CreatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was created by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} export interface CreateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was created by this mutation. */ @@ -18764,6 +21287,12 @@ export interface CreateSqlActionPayload { /** The `SqlAction` that was created by this mutation. */ sqlAction?: SqlAction | null; } +export interface CreateAppLimitPayload { + clientMutationId?: string | null; + /** The `AppLimit` that was created by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; +} export interface CreateDatabaseTransferPayload { clientMutationId?: string | null; /** The `DatabaseTransfer` that was created by this mutation. */ @@ -18805,6 +21334,18 @@ export interface CreateAstMigrationPayload { /** The `AstMigration` that was created by this mutation. */ astMigration?: AstMigration | null; } +export interface CreateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was created by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export interface CreateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was created by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} export interface CreateEnumPayload { clientMutationId?: string | null; /** The `Enum` that was created by this mutation. */ @@ -18913,6 +21454,12 @@ export interface CreateEmbeddingChunkPayload { embeddingChunk?: EmbeddingChunk | null; embeddingChunkEdge?: EmbeddingChunkEdge | null; } +export interface CreateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was created by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} export interface CreateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was created by this mutation. */ @@ -18937,11 +21484,11 @@ export interface CreateIndexPayload { index?: Index | null; indexEdge?: IndexEdge | null; } -export interface CreateLimitsModulePayload { +export interface CreateBillingProviderModulePayload { clientMutationId?: string | null; - /** The `LimitsModule` that was created by this mutation. */ - limitsModule?: LimitsModule | null; - limitsModuleEdge?: LimitsModuleEdge | null; + /** The `BillingProviderModule` that was created by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; } export interface CreateBlueprintTemplatePayload { clientMutationId?: string | null; @@ -18973,30 +21520,24 @@ export interface CreateForeignKeyConstraintPayload { foreignKeyConstraint?: ForeignKeyConstraint | null; foreignKeyConstraintEdge?: ForeignKeyConstraintEdge | null; } -export interface CreateStorageModulePayload { - clientMutationId?: string | null; - /** The `StorageModule` that was created by this mutation. */ - storageModule?: StorageModule | null; - storageModuleEdge?: StorageModuleEdge | null; -} export interface CreateTablePayload { clientMutationId?: string | null; /** The `Table` that was created by this mutation. */ table?: Table | null; tableEdge?: TableEdge | null; } -export interface CreateEntityTypeProvisionPayload { - clientMutationId?: string | null; - /** The `EntityTypeProvision` that was created by this mutation. */ - entityTypeProvision?: EntityTypeProvision | null; - entityTypeProvisionEdge?: EntityTypeProvisionEdge | null; -} export interface CreateRelationProvisionPayload { clientMutationId?: string | null; /** The `RelationProvision` that was created by this mutation. */ relationProvision?: RelationProvision | null; relationProvisionEdge?: RelationProvisionEdge | null; } +export interface CreateEntityTypeProvisionPayload { + clientMutationId?: string | null; + /** The `EntityTypeProvision` that was created by this mutation. */ + entityTypeProvision?: EntityTypeProvision | null; + entityTypeProvisionEdge?: EntityTypeProvisionEdge | null; +} export interface CreateLevelsModulePayload { clientMutationId?: string | null; /** The `LevelsModule` that was created by this mutation. */ @@ -19015,6 +21556,18 @@ export interface CreateFieldPayload { field?: Field | null; fieldEdge?: FieldEdge | null; } +export interface CreateLimitsModulePayload { + clientMutationId?: string | null; + /** The `LimitsModule` that was created by this mutation. */ + limitsModule?: LimitsModule | null; + limitsModuleEdge?: LimitsModuleEdge | null; +} +export interface CreateStorageModulePayload { + clientMutationId?: string | null; + /** The `StorageModule` that was created by this mutation. */ + storageModule?: StorageModule | null; + storageModuleEdge?: StorageModuleEdge | null; +} export interface CreateMembershipsModulePayload { clientMutationId?: string | null; /** The `MembershipsModule` that was created by this mutation. */ @@ -19033,6 +21586,18 @@ export interface UpdateRoleTypePayload { roleType?: RoleType | null; roleTypeEdge?: RoleTypeEdge | null; } +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export interface UpdateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was updated by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} export interface UpdateViewTablePayload { clientMutationId?: string | null; /** The `ViewTable` that was updated by this mutation. */ @@ -19045,6 +21610,12 @@ export interface UpdateApiSchemaPayload { apiSchema?: ApiSchema | null; apiSchemaEdge?: ApiSchemaEdge | null; } +export interface UpdateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was updated by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} export interface UpdateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was updated by this mutation. */ @@ -19105,6 +21676,12 @@ export interface UpdateSiteModulePayload { siteModule?: SiteModule | null; siteModuleEdge?: SiteModuleEdge | null; } +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} export interface UpdateSchemaGrantPayload { clientMutationId?: string | null; /** The `SchemaGrant` that was updated by this mutation. */ @@ -19177,6 +21754,30 @@ export interface UpdateOrgPermissionPayload { orgPermission?: OrgPermission | null; orgPermissionEdge?: OrgPermissionEdge | null; } +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} export interface UpdateMembershipTypePayload { clientMutationId?: string | null; /** The `MembershipType` that was updated by this mutation. */ @@ -19267,6 +21868,12 @@ export interface UpdateOrgLimitDefaultPayload { orgLimitDefault?: OrgLimitDefault | null; orgLimitDefaultEdge?: OrgLimitDefaultEdge | null; } +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} export interface UpdateDatabasePayload { clientMutationId?: string | null; /** The `Database` that was updated by this mutation. */ @@ -19309,6 +21916,18 @@ export interface UpdateAppLevelRequirementPayload { appLevelRequirement?: AppLevelRequirement | null; appLevelRequirementEdge?: AppLevelRequirementEdge | null; } +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} export interface UpdateFullTextSearchPayload { clientMutationId?: string | null; /** The `FullTextSearch` that was updated by this mutation. */ @@ -19327,6 +21946,12 @@ export interface UpdateCommitPayload { commit?: Commit | null; commitEdge?: CommitEdge | null; } +export interface UpdatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was updated by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} export interface UpdateRateLimitsModulePayload { clientMutationId?: string | null; /** The `RateLimitsModule` that was updated by this mutation. */ @@ -19375,6 +22000,12 @@ export interface UpdateDomainPayload { domain?: Domain | null; domainEdge?: DomainEdge | null; } +export interface UpdateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was updated by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} export interface UpdateAgentTaskPayload { clientMutationId?: string | null; /** The `AgentTask` that was updated by this mutation. */ @@ -19411,17 +22042,11 @@ export interface UpdateOrgChartEdgePayload { orgChartEdge?: OrgChartEdge | null; orgChartEdgeEdge?: OrgChartEdgeEdge | null; } -export interface UpdateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was updated by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export interface UpdateOrgLimitAggregatePayload { +export interface UpdatePartitionPayload { clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was updated by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; + /** The `Partition` that was updated by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; } export interface UpdateBlueprintConstructionPayload { clientMutationId?: string | null; @@ -19429,12 +22054,6 @@ export interface UpdateBlueprintConstructionPayload { blueprintConstruction?: BlueprintConstruction | null; blueprintConstructionEdge?: BlueprintConstructionEdge | null; } -export interface UpdatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was updated by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} export interface UpdateRlsModulePayload { clientMutationId?: string | null; /** The `RlsModule` that was updated by this mutation. */ @@ -19459,11 +22078,11 @@ export interface UpdateAppLevelPayload { appLevel?: AppLevel | null; appLevelEdge?: AppLevelEdge | null; } -export interface UpdateOrgLimitPayload { +export interface UpdateDatabaseSettingPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was updated by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `DatabaseSetting` that was updated by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; } export interface UpdateBlueprintPayload { clientMutationId?: string | null; @@ -19477,12 +22096,30 @@ export interface UpdateDenormalizedTableFieldPayload { denormalizedTableField?: DenormalizedTableField | null; denormalizedTableFieldEdge?: DenormalizedTableFieldEdge | null; } +export interface UpdateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was updated by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export interface UpdatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was updated by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} export interface UpdateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was updated by this mutation. */ orgMemberProfile?: OrgMemberProfile | null; orgMemberProfileEdge?: OrgMemberProfileEdge | null; } +export interface UpdateAppLimitPayload { + clientMutationId?: string | null; + /** The `AppLimit` that was updated by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; +} export interface UpdateDatabaseTransferPayload { clientMutationId?: string | null; /** The `DatabaseTransfer` that was updated by this mutation. */ @@ -19519,6 +22156,18 @@ export interface UpdateSecureTableProvisionPayload { secureTableProvision?: SecureTableProvision | null; secureTableProvisionEdge?: SecureTableProvisionEdge | null; } +export interface UpdateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was updated by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export interface UpdateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was updated by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} export interface UpdateEnumPayload { clientMutationId?: string | null; /** The `Enum` that was updated by this mutation. */ @@ -19627,6 +22276,12 @@ export interface UpdateEmbeddingChunkPayload { embeddingChunk?: EmbeddingChunk | null; embeddingChunkEdge?: EmbeddingChunkEdge | null; } +export interface UpdateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was updated by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} export interface UpdateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was updated by this mutation. */ @@ -19651,11 +22306,11 @@ export interface UpdateIndexPayload { index?: Index | null; indexEdge?: IndexEdge | null; } -export interface UpdateLimitsModulePayload { +export interface UpdateBillingProviderModulePayload { clientMutationId?: string | null; - /** The `LimitsModule` that was updated by this mutation. */ - limitsModule?: LimitsModule | null; - limitsModuleEdge?: LimitsModuleEdge | null; + /** The `BillingProviderModule` that was updated by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; } export interface UpdateBlueprintTemplatePayload { clientMutationId?: string | null; @@ -19687,30 +22342,24 @@ export interface UpdateForeignKeyConstraintPayload { foreignKeyConstraint?: ForeignKeyConstraint | null; foreignKeyConstraintEdge?: ForeignKeyConstraintEdge | null; } -export interface UpdateStorageModulePayload { - clientMutationId?: string | null; - /** The `StorageModule` that was updated by this mutation. */ - storageModule?: StorageModule | null; - storageModuleEdge?: StorageModuleEdge | null; -} export interface UpdateTablePayload { clientMutationId?: string | null; /** The `Table` that was updated by this mutation. */ table?: Table | null; tableEdge?: TableEdge | null; } -export interface UpdateEntityTypeProvisionPayload { - clientMutationId?: string | null; - /** The `EntityTypeProvision` that was updated by this mutation. */ - entityTypeProvision?: EntityTypeProvision | null; - entityTypeProvisionEdge?: EntityTypeProvisionEdge | null; -} export interface UpdateRelationProvisionPayload { clientMutationId?: string | null; /** The `RelationProvision` that was updated by this mutation. */ relationProvision?: RelationProvision | null; relationProvisionEdge?: RelationProvisionEdge | null; } +export interface UpdateEntityTypeProvisionPayload { + clientMutationId?: string | null; + /** The `EntityTypeProvision` that was updated by this mutation. */ + entityTypeProvision?: EntityTypeProvision | null; + entityTypeProvisionEdge?: EntityTypeProvisionEdge | null; +} export interface UpdateLevelsModulePayload { clientMutationId?: string | null; /** The `LevelsModule` that was updated by this mutation. */ @@ -19729,6 +22378,18 @@ export interface UpdateFieldPayload { field?: Field | null; fieldEdge?: FieldEdge | null; } +export interface UpdateLimitsModulePayload { + clientMutationId?: string | null; + /** The `LimitsModule` that was updated by this mutation. */ + limitsModule?: LimitsModule | null; + limitsModuleEdge?: LimitsModuleEdge | null; +} +export interface UpdateStorageModulePayload { + clientMutationId?: string | null; + /** The `StorageModule` that was updated by this mutation. */ + storageModule?: StorageModule | null; + storageModuleEdge?: StorageModuleEdge | null; +} export interface UpdateMembershipsModulePayload { clientMutationId?: string | null; /** The `MembershipsModule` that was updated by this mutation. */ @@ -19747,6 +22408,18 @@ export interface DeleteRoleTypePayload { roleType?: RoleType | null; roleTypeEdge?: RoleTypeEdge | null; } +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export interface DeleteFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was deleted by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} export interface DeleteViewTablePayload { clientMutationId?: string | null; /** The `ViewTable` that was deleted by this mutation. */ @@ -19759,6 +22432,12 @@ export interface DeleteApiSchemaPayload { apiSchema?: ApiSchema | null; apiSchemaEdge?: ApiSchemaEdge | null; } +export interface DeleteCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was deleted by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} export interface DeleteOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was deleted by this mutation. */ @@ -19819,6 +22498,12 @@ export interface DeleteSiteModulePayload { siteModule?: SiteModule | null; siteModuleEdge?: SiteModuleEdge | null; } +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} export interface DeleteSchemaGrantPayload { clientMutationId?: string | null; /** The `SchemaGrant` that was deleted by this mutation. */ @@ -19891,6 +22576,30 @@ export interface DeleteOrgPermissionPayload { orgPermission?: OrgPermission | null; orgPermissionEdge?: OrgPermissionEdge | null; } +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} export interface DeleteMembershipTypePayload { clientMutationId?: string | null; /** The `MembershipType` that was deleted by this mutation. */ @@ -19981,6 +22690,12 @@ export interface DeleteOrgLimitDefaultPayload { orgLimitDefault?: OrgLimitDefault | null; orgLimitDefaultEdge?: OrgLimitDefaultEdge | null; } +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} export interface DeleteDatabasePayload { clientMutationId?: string | null; /** The `Database` that was deleted by this mutation. */ @@ -20023,6 +22738,18 @@ export interface DeleteAppLevelRequirementPayload { appLevelRequirement?: AppLevelRequirement | null; appLevelRequirementEdge?: AppLevelRequirementEdge | null; } +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} export interface DeleteFullTextSearchPayload { clientMutationId?: string | null; /** The `FullTextSearch` that was deleted by this mutation. */ @@ -20041,6 +22768,12 @@ export interface DeleteCommitPayload { commit?: Commit | null; commitEdge?: CommitEdge | null; } +export interface DeletePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was deleted by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} export interface DeleteRateLimitsModulePayload { clientMutationId?: string | null; /** The `RateLimitsModule` that was deleted by this mutation. */ @@ -20089,6 +22822,12 @@ export interface DeleteDomainPayload { domain?: Domain | null; domainEdge?: DomainEdge | null; } +export interface DeleteRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was deleted by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} export interface DeleteAgentTaskPayload { clientMutationId?: string | null; /** The `AgentTask` that was deleted by this mutation. */ @@ -20125,17 +22864,11 @@ export interface DeleteOrgChartEdgePayload { orgChartEdge?: OrgChartEdge | null; orgChartEdgeEdge?: OrgChartEdgeEdge | null; } -export interface DeleteAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was deleted by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export interface DeleteOrgLimitAggregatePayload { +export interface DeletePartitionPayload { clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was deleted by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; + /** The `Partition` that was deleted by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; } export interface DeleteBlueprintConstructionPayload { clientMutationId?: string | null; @@ -20143,12 +22876,6 @@ export interface DeleteBlueprintConstructionPayload { blueprintConstruction?: BlueprintConstruction | null; blueprintConstructionEdge?: BlueprintConstructionEdge | null; } -export interface DeletePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was deleted by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} export interface DeleteRlsModulePayload { clientMutationId?: string | null; /** The `RlsModule` that was deleted by this mutation. */ @@ -20173,11 +22900,11 @@ export interface DeleteAppLevelPayload { appLevel?: AppLevel | null; appLevelEdge?: AppLevelEdge | null; } -export interface DeleteOrgLimitPayload { +export interface DeleteDatabaseSettingPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was deleted by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `DatabaseSetting` that was deleted by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; } export interface DeleteBlueprintPayload { clientMutationId?: string | null; @@ -20191,12 +22918,30 @@ export interface DeleteDenormalizedTableFieldPayload { denormalizedTableField?: DenormalizedTableField | null; denormalizedTableFieldEdge?: DenormalizedTableFieldEdge | null; } +export interface DeleteApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was deleted by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export interface DeletePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was deleted by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} export interface DeleteOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was deleted by this mutation. */ orgMemberProfile?: OrgMemberProfile | null; orgMemberProfileEdge?: OrgMemberProfileEdge | null; } +export interface DeleteAppLimitPayload { + clientMutationId?: string | null; + /** The `AppLimit` that was deleted by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; +} export interface DeleteDatabaseTransferPayload { clientMutationId?: string | null; /** The `DatabaseTransfer` that was deleted by this mutation. */ @@ -20233,6 +22978,18 @@ export interface DeleteSecureTableProvisionPayload { secureTableProvision?: SecureTableProvision | null; secureTableProvisionEdge?: SecureTableProvisionEdge | null; } +export interface DeleteOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was deleted by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export interface DeleteOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was deleted by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} export interface DeleteEnumPayload { clientMutationId?: string | null; /** The `Enum` that was deleted by this mutation. */ @@ -20341,6 +23098,12 @@ export interface DeleteEmbeddingChunkPayload { embeddingChunk?: EmbeddingChunk | null; embeddingChunkEdge?: EmbeddingChunkEdge | null; } +export interface DeleteWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was deleted by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} export interface DeleteOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was deleted by this mutation. */ @@ -20365,11 +23128,11 @@ export interface DeleteIndexPayload { index?: Index | null; indexEdge?: IndexEdge | null; } -export interface DeleteLimitsModulePayload { +export interface DeleteBillingProviderModulePayload { clientMutationId?: string | null; - /** The `LimitsModule` that was deleted by this mutation. */ - limitsModule?: LimitsModule | null; - limitsModuleEdge?: LimitsModuleEdge | null; + /** The `BillingProviderModule` that was deleted by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; } export interface DeleteBlueprintTemplatePayload { clientMutationId?: string | null; @@ -20401,30 +23164,24 @@ export interface DeleteForeignKeyConstraintPayload { foreignKeyConstraint?: ForeignKeyConstraint | null; foreignKeyConstraintEdge?: ForeignKeyConstraintEdge | null; } -export interface DeleteStorageModulePayload { - clientMutationId?: string | null; - /** The `StorageModule` that was deleted by this mutation. */ - storageModule?: StorageModule | null; - storageModuleEdge?: StorageModuleEdge | null; -} export interface DeleteTablePayload { clientMutationId?: string | null; /** The `Table` that was deleted by this mutation. */ table?: Table | null; tableEdge?: TableEdge | null; } -export interface DeleteEntityTypeProvisionPayload { - clientMutationId?: string | null; - /** The `EntityTypeProvision` that was deleted by this mutation. */ - entityTypeProvision?: EntityTypeProvision | null; - entityTypeProvisionEdge?: EntityTypeProvisionEdge | null; -} export interface DeleteRelationProvisionPayload { clientMutationId?: string | null; /** The `RelationProvision` that was deleted by this mutation. */ relationProvision?: RelationProvision | null; relationProvisionEdge?: RelationProvisionEdge | null; } +export interface DeleteEntityTypeProvisionPayload { + clientMutationId?: string | null; + /** The `EntityTypeProvision` that was deleted by this mutation. */ + entityTypeProvision?: EntityTypeProvision | null; + entityTypeProvisionEdge?: EntityTypeProvisionEdge | null; +} export interface DeleteLevelsModulePayload { clientMutationId?: string | null; /** The `LevelsModule` that was deleted by this mutation. */ @@ -20443,24 +23200,24 @@ export interface DeleteFieldPayload { field?: Field | null; fieldEdge?: FieldEdge | null; } +export interface DeleteLimitsModulePayload { + clientMutationId?: string | null; + /** The `LimitsModule` that was deleted by this mutation. */ + limitsModule?: LimitsModule | null; + limitsModuleEdge?: LimitsModuleEdge | null; +} +export interface DeleteStorageModulePayload { + clientMutationId?: string | null; + /** The `StorageModule` that was deleted by this mutation. */ + storageModule?: StorageModule | null; + storageModuleEdge?: StorageModuleEdge | null; +} export interface DeleteMembershipsModulePayload { clientMutationId?: string | null; /** The `MembershipsModule` that was deleted by this mutation. */ membershipsModule?: MembershipsModule | null; membershipsModuleEdge?: MembershipsModuleEdge | null; } -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -20540,6 +23297,18 @@ export interface RoleTypeEdge { /** The `RoleType` at the end of the edge. */ node?: RoleType | null; } +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +/** A `Function` edge in the connection. */ +export interface FunctionEdge { + cursor?: string | null; + /** The `Function` at the end of the edge. */ + node?: Function | null; +} /** A `ViewTable` edge in the connection. */ export interface ViewTableEdge { cursor?: string | null; @@ -20552,6 +23321,12 @@ export interface ApiSchemaEdge { /** The `ApiSchema` at the end of the edge. */ node?: ApiSchema | null; } +/** A `CorsSetting` edge in the connection. */ +export interface CorsSettingEdge { + cursor?: string | null; + /** The `CorsSetting` at the end of the edge. */ + node?: CorsSetting | null; +} /** A `OrgMember` edge in the connection. */ export interface OrgMemberEdge { cursor?: string | null; @@ -20618,6 +23393,12 @@ export interface SiteModuleEdge { /** The `SiteModule` at the end of the edge. */ node?: SiteModule | null; } +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} /** A `SchemaGrant` edge in the connection. */ export interface SchemaGrantEdge { cursor?: string | null; @@ -20678,6 +23459,30 @@ export interface OrgPermissionDefaultEdge { /** The `OrgPermissionDefault` at the end of the edge. */ node?: OrgPermissionDefault | null; } +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} /** A `MembershipType` edge in the connection. */ export interface MembershipTypeEdge { cursor?: string | null; @@ -20774,6 +23579,12 @@ export interface OrgLimitDefaultEdge { /** The `OrgLimitDefault` at the end of the edge. */ node?: OrgLimitDefault | null; } +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} /** A `UserConnectedAccount` edge in the connection. */ export interface UserConnectedAccountEdge { cursor?: string | null; @@ -20810,6 +23621,18 @@ export interface SiteMetadatumEdge { /** The `SiteMetadatum` at the end of the edge. */ node?: SiteMetadatum | null; } +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} /** A `FullTextSearch` edge in the connection. */ export interface FullTextSearchEdge { cursor?: string | null; @@ -20828,6 +23651,12 @@ export interface CommitEdge { /** The `Commit` at the end of the edge. */ node?: Commit | null; } +/** A `PubkeySetting` edge in the connection. */ +export interface PubkeySettingEdge { + cursor?: string | null; + /** The `PubkeySetting` at the end of the edge. */ + node?: PubkeySetting | null; +} /** A `RateLimitsModule` edge in the connection. */ export interface RateLimitsModuleEdge { cursor?: string | null; @@ -20876,6 +23705,12 @@ export interface DomainEdge { /** The `Domain` at the end of the edge. */ node?: Domain | null; } +/** A `RlsSetting` edge in the connection. */ +export interface RlsSettingEdge { + cursor?: string | null; + /** The `RlsSetting` at the end of the edge. */ + node?: RlsSetting | null; +} /** A `AgentTask` edge in the connection. */ export interface AgentTaskEdge { cursor?: string | null; @@ -20924,17 +23759,11 @@ export interface OrgChartEdgeEdge { /** The `OrgChartEdge` at the end of the edge. */ node?: OrgChartEdge | null; } -/** A `AppLimit` edge in the connection. */ -export interface AppLimitEdge { - cursor?: string | null; - /** The `AppLimit` at the end of the edge. */ - node?: AppLimit | null; -} -/** A `OrgLimitAggregate` edge in the connection. */ -export interface OrgLimitAggregateEdge { +/** A `Partition` edge in the connection. */ +export interface PartitionEdge { cursor?: string | null; - /** The `OrgLimitAggregate` at the end of the edge. */ - node?: OrgLimitAggregate | null; + /** The `Partition` at the end of the edge. */ + node?: Partition | null; } /** A `BlueprintConstruction` edge in the connection. */ export interface BlueprintConstructionEdge { @@ -20942,12 +23771,6 @@ export interface BlueprintConstructionEdge { /** The `BlueprintConstruction` at the end of the edge. */ node?: BlueprintConstruction | null; } -/** A `PlansModule` edge in the connection. */ -export interface PlansModuleEdge { - cursor?: string | null; - /** The `PlansModule` at the end of the edge. */ - node?: PlansModule | null; -} /** A `RlsModule` edge in the connection. */ export interface RlsModuleEdge { cursor?: string | null; @@ -20972,11 +23795,11 @@ export interface AppLevelEdge { /** The `AppLevel` at the end of the edge. */ node?: AppLevel | null; } -/** A `OrgLimit` edge in the connection. */ -export interface OrgLimitEdge { +/** A `DatabaseSetting` edge in the connection. */ +export interface DatabaseSettingEdge { cursor?: string | null; - /** The `OrgLimit` at the end of the edge. */ - node?: OrgLimit | null; + /** The `DatabaseSetting` at the end of the edge. */ + node?: DatabaseSetting | null; } /** A `Blueprint` edge in the connection. */ export interface BlueprintEdge { @@ -20990,6 +23813,18 @@ export interface DenormalizedTableFieldEdge { /** The `DenormalizedTableField` at the end of the edge. */ node?: DenormalizedTableField | null; } +/** A `ApiSetting` edge in the connection. */ +export interface ApiSettingEdge { + cursor?: string | null; + /** The `ApiSetting` at the end of the edge. */ + node?: ApiSetting | null; +} +/** A `PlansModule` edge in the connection. */ +export interface PlansModuleEdge { + cursor?: string | null; + /** The `PlansModule` at the end of the edge. */ + node?: PlansModule | null; +} /** A `OrgMemberProfile` edge in the connection. */ export interface OrgMemberProfileEdge { cursor?: string | null; @@ -21002,6 +23837,12 @@ export interface SqlActionEdge { /** The `SqlAction` at the end of the edge. */ node?: SqlAction | null; } +/** A `AppLimit` edge in the connection. */ +export interface AppLimitEdge { + cursor?: string | null; + /** The `AppLimit` at the end of the edge. */ + node?: AppLimit | null; +} /** A `DatabaseTransfer` edge in the connection. */ export interface DatabaseTransferEdge { cursor?: string | null; @@ -21044,6 +23885,18 @@ export interface AstMigrationEdge { /** The `AstMigration` at the end of the edge. */ node?: AstMigration | null; } +/** A `OrgLimitAggregate` edge in the connection. */ +export interface OrgLimitAggregateEdge { + cursor?: string | null; + /** The `OrgLimitAggregate` at the end of the edge. */ + node?: OrgLimitAggregate | null; +} +/** A `OrgLimit` edge in the connection. */ +export interface OrgLimitEdge { + cursor?: string | null; + /** The `OrgLimit` at the end of the edge. */ + node?: OrgLimit | null; +} /** A `Enum` edge in the connection. */ export interface EnumEdge { cursor?: string | null; @@ -21152,6 +24005,12 @@ export interface EmbeddingChunkEdge { /** The `EmbeddingChunk` at the end of the edge. */ node?: EmbeddingChunk | null; } +/** A `WebauthnSetting` edge in the connection. */ +export interface WebauthnSettingEdge { + cursor?: string | null; + /** The `WebauthnSetting` at the end of the edge. */ + node?: WebauthnSetting | null; +} /** A `OrgInvite` edge in the connection. */ export interface OrgInviteEdge { cursor?: string | null; @@ -21176,11 +24035,11 @@ export interface IndexEdge { /** The `Index` at the end of the edge. */ node?: Index | null; } -/** A `LimitsModule` edge in the connection. */ -export interface LimitsModuleEdge { +/** A `BillingProviderModule` edge in the connection. */ +export interface BillingProviderModuleEdge { cursor?: string | null; - /** The `LimitsModule` at the end of the edge. */ - node?: LimitsModule | null; + /** The `BillingProviderModule` at the end of the edge. */ + node?: BillingProviderModule | null; } /** A `BlueprintTemplate` edge in the connection. */ export interface BlueprintTemplateEdge { @@ -21212,30 +24071,24 @@ export interface ForeignKeyConstraintEdge { /** The `ForeignKeyConstraint` at the end of the edge. */ node?: ForeignKeyConstraint | null; } -/** A `StorageModule` edge in the connection. */ -export interface StorageModuleEdge { - cursor?: string | null; - /** The `StorageModule` at the end of the edge. */ - node?: StorageModule | null; -} /** A `Table` edge in the connection. */ export interface TableEdge { cursor?: string | null; /** The `Table` at the end of the edge. */ node?: Table | null; } -/** A `EntityTypeProvision` edge in the connection. */ -export interface EntityTypeProvisionEdge { - cursor?: string | null; - /** The `EntityTypeProvision` at the end of the edge. */ - node?: EntityTypeProvision | null; -} /** A `RelationProvision` edge in the connection. */ export interface RelationProvisionEdge { cursor?: string | null; /** The `RelationProvision` at the end of the edge. */ node?: RelationProvision | null; } +/** A `EntityTypeProvision` edge in the connection. */ +export interface EntityTypeProvisionEdge { + cursor?: string | null; + /** The `EntityTypeProvision` at the end of the edge. */ + node?: EntityTypeProvision | null; +} /** A `LevelsModule` edge in the connection. */ export interface LevelsModuleEdge { cursor?: string | null; @@ -21254,6 +24107,18 @@ export interface FieldEdge { /** The `Field` at the end of the edge. */ node?: Field | null; } +/** A `LimitsModule` edge in the connection. */ +export interface LimitsModuleEdge { + cursor?: string | null; + /** The `LimitsModule` at the end of the edge. */ + node?: LimitsModule | null; +} +/** A `StorageModule` edge in the connection. */ +export interface StorageModuleEdge { + cursor?: string | null; + /** The `StorageModule` at the end of the edge. */ + node?: StorageModule | null; +} /** A `MembershipsModule` edge in the connection. */ export interface MembershipsModuleEdge { cursor?: string | null; diff --git a/sdk/constructive-react/src/public/types.ts b/sdk/constructive-react/src/public/types.ts index 46c1d3c68..af31494ff 100644 --- a/sdk/constructive-react/src/public/types.ts +++ b/sdk/constructive-react/src/public/types.ts @@ -164,6 +164,19 @@ export interface SpatialRelation { createdAt: string | null; updatedAt: string | null; } +export interface Partition { + id: string | null; + databaseId: string | null; + tableId: string | null; + strategy: string | null; + partitionKeyId: string | null; + interval: string | null; + retention: string | null; + lookahead: number | null; + namingPattern: string | null; + createdAt: string | null; + updatedAt: string | null; +} export interface ForeignKeyConstraint { id: string | null; databaseId: string | null; @@ -439,6 +452,12 @@ export interface Enum { scope: number | null; tags: string[] | null; } +export interface Function { + id: string | null; + databaseId: string | null; + schemaId: string | null; + name: string | null; +} export interface ApiSchema { id: string | null; databaseId: string | null; @@ -481,6 +500,12 @@ export interface SiteTheme { siteId: string | null; theme: unknown | null; } +export interface CorsSetting { + id: string | null; + databaseId: string | null; + apiId: string | null; + allowedOrigins: string[] | null; +} export interface TriggerFunction { id: string | null; databaseId: string | null; @@ -536,6 +561,21 @@ export interface App { appIdPrefix: string | null; playStoreLink: ConstructiveInternalTypeUrl | null; } +export interface ApiSetting { + id: string | null; + databaseId: string | null; + apiId: string | null; + enableAggregates: boolean | null; + enablePostgis: boolean | null; + enableSearch: boolean | null; + enableDirectUploads: boolean | null; + enablePresignedUploads: boolean | null; + enableManyToMany: boolean | null; + enableConnectionFilter: boolean | null; + enableLtree: boolean | null; + enableLlm: boolean | null; + options: unknown | null; +} export interface ConnectedAccountsModule { id: string | null; databaseId: string | null; @@ -664,7 +704,16 @@ export interface LimitsModule { limitDecrementTrigger: string | null; limitUpdateTrigger: string | null; limitCheckFunction: string | null; + limitCreditsTableId: string | null; + eventsTableId: string | null; + creditCodesTableId: string | null; + creditCodeItemsTableId: string | null; + creditRedemptionsTableId: string | null; aggregateTableId: string | null; + limitCapsTableId: string | null; + limitCapsDefaultsTableId: string | null; + capCheckTrigger: string | null; + resolveCapFunction: string | null; prefix: string | null; membershipType: number | null; entityTableId: string | null; @@ -887,11 +936,20 @@ export interface StorageModule { provider: string | null; allowedOrigins: string[] | null; restrictReads: boolean | null; + hasPathShares: boolean | null; + pathSharesTableId: string | null; uploadUrlExpirySeconds: number | null; downloadUrlExpirySeconds: number | null; defaultMaxFileSize: string | null; maxFilenameLength: number | null; cacheTtlSeconds: number | null; + maxBulkFiles: number | null; + maxBulkTotalSize: string | null; + hasVersioning: boolean | null; + hasContentHash: boolean | null; + hasCustomKeys: boolean | null; + hasAuditLog: boolean | null; + fileEventsTableId: string | null; } export interface EntityTypeProvision { id: string | null; @@ -917,6 +975,7 @@ export interface EntityTypeProvision { outStorageModuleId: string | null; outBucketsTableId: string | null; outFilesTableId: string | null; + outPathSharesTableId: string | null; outInvitesModuleId: string | null; } export interface WebauthnCredentialsModule { @@ -1108,6 +1167,29 @@ export interface AppLimit { softMax: string | null; windowStart: string | null; windowDuration: string | null; + planMax: string | null; + purchasedCredits: string | null; + periodCredits: string | null; +} +export interface AppLimitCredit { + id: string | null; + defaultLimitId: string | null; + actorId: string | null; + amount: string | null; + creditType: string | null; + reason: string | null; +} +export interface AppLimitCreditCodeItem { + id: string | null; + creditCodeId: string | null; + defaultLimitId: string | null; + amount: string | null; + creditType: string | null; +} +export interface AppLimitCreditRedemption { + id: string | null; + creditCodeId: string | null; + entityId: string | null; } export interface OrgLimit { id: string | null; @@ -1118,8 +1200,20 @@ export interface OrgLimit { softMax: string | null; windowStart: string | null; windowDuration: string | null; + planMax: string | null; + purchasedCredits: string | null; + periodCredits: string | null; entityId: string | null; } +export interface OrgLimitCredit { + id: string | null; + defaultLimitId: string | null; + actorId: string | null; + entityId: string | null; + amount: string | null; + creditType: string | null; + reason: string | null; +} export interface OrgLimitAggregate { id: string | null; name: string | null; @@ -1129,6 +1223,10 @@ export interface OrgLimitAggregate { softMax: string | null; windowStart: string | null; windowDuration: string | null; + planMax: string | null; + purchasedCredits: string | null; + periodCredits: string | null; + reserved: string | null; } export interface AppStep { id: string | null; @@ -1324,6 +1422,35 @@ export interface AppPermissionDefault { id: string | null; permissions: string | null; } +export interface AppLimitCreditCode { + id: string | null; + code: string | null; + maxRedemptions: number | null; + currentRedemptions: number | null; + expiresAt: string | null; +} +export interface AppLimitCapsDefault { + id: string | null; + name: string | null; + max: string | null; +} +export interface OrgLimitCapsDefault { + id: string | null; + name: string | null; + max: string | null; +} +export interface AppLimitCap { + id: string | null; + name: string | null; + entityId: string | null; + max: string | null; +} +export interface OrgLimitCap { + id: string | null; + name: string | null; + entityId: string | null; + max: string | null; +} export interface MembershipType { id: number | null; name: string | null; @@ -1388,6 +1515,17 @@ export interface Commit { treeId: string | null; date: string | null; } +export interface PubkeySetting { + id: string | null; + databaseId: string | null; + schemaId: string | null; + cryptoNetwork: string | null; + userField: string | null; + signUpWithKeyFunctionId: string | null; + signInRequestChallengeFunctionId: string | null; + signInRecordFailureFunctionId: string | null; + signInWithChallengeFunctionId: string | null; +} export interface RateLimitsModule { id: string | null; databaseId: string | null; @@ -1417,6 +1555,18 @@ export interface OrgMembershipDefault { isApproved: boolean | null; entityId: string | null; } +export interface RlsSetting { + id: string | null; + databaseId: string | null; + authenticateSchemaId: string | null; + roleSchemaId: string | null; + authenticateFunctionId: string | null; + authenticateStrictFunctionId: string | null; + currentRoleFunctionId: string | null; + currentRoleIdFunctionId: string | null; + currentUserAgentFunctionId: string | null; + currentIpAddressFunctionId: string | null; +} export interface AppLimitEvent { name: string | null; actorId: string | null; @@ -1439,19 +1589,6 @@ export interface OrgLimitEvent { maxAtEvent: string | null; reason: string | null; } -export interface PlansModule { - id: string | null; - databaseId: string | null; - schemaId: string | null; - privateSchemaId: string | null; - plansTableId: string | null; - plansTableName: string | null; - planLimitsTableId: string | null; - planLimitsTableName: string | null; - applyPlanFunction: string | null; - applyPlanAggregateFunction: string | null; - prefix: string | null; -} export interface RlsModule { id: string | null; databaseId: string | null; @@ -1465,6 +1602,35 @@ export interface RlsModule { currentRole: string | null; currentRoleId: string | null; } +export interface DatabaseSetting { + id: string | null; + databaseId: string | null; + enableAggregates: boolean | null; + enablePostgis: boolean | null; + enableSearch: boolean | null; + enableDirectUploads: boolean | null; + enablePresignedUploads: boolean | null; + enableManyToMany: boolean | null; + enableConnectionFilter: boolean | null; + enableLtree: boolean | null; + enableLlm: boolean | null; + options: unknown | null; +} +export interface PlansModule { + id: string | null; + databaseId: string | null; + schemaId: string | null; + privateSchemaId: string | null; + plansTableId: string | null; + plansTableName: string | null; + planLimitsTableId: string | null; + planLimitsTableName: string | null; + planPricingTableId: string | null; + planOverridesTableId: string | null; + applyPlanFunction: string | null; + applyPlanAggregateFunction: string | null; + prefix: string | null; +} export interface SqlAction { id: number | null; name: string | null; @@ -1540,6 +1706,26 @@ export interface OrgMembershipSetting { populateMemberEmail: boolean | null; limitAllocationMode: string | null; } +export interface WebauthnSetting { + id: string | null; + databaseId: string | null; + schemaId: string | null; + credentialsSchemaId: string | null; + sessionsSchemaId: string | null; + sessionSecretsSchemaId: string | null; + credentialsTableId: string | null; + sessionsTableId: string | null; + sessionCredentialsTableId: string | null; + sessionSecretsTableId: string | null; + userFieldId: string | null; + rpId: string | null; + rpName: string | null; + originAllowlist: string[] | null; + attestationType: string | null; + requireUserVerification: boolean | null; + residentKey: string | null; + challengeExpirySeconds: string | null; +} export interface AppMembership { id: string | null; createdAt: string | null; @@ -1558,6 +1744,28 @@ export interface AppMembership { actorId: string | null; profileId: string | null; } +export interface BillingProviderModule { + id: string | null; + databaseId: string | null; + schemaId: string | null; + privateSchemaId: string | null; + provider: string | null; + productsTableId: string | null; + pricesTableId: string | null; + subscriptionsTableId: string | null; + billingCustomersTableId: string | null; + billingCustomersTableName: string | null; + billingProductsTableId: string | null; + billingProductsTableName: string | null; + billingPricesTableId: string | null; + billingPricesTableName: string | null; + billingSubscriptionsTableId: string | null; + billingSubscriptionsTableName: string | null; + billingWebhookEventsTableId: string | null; + billingWebhookEventsTableName: string | null; + processBillingEventFunction: string | null; + prefix: string | null; +} export interface HierarchyModule { id: string | null; databaseId: string | null; diff --git a/sdk/constructive-sdk/schemas/admin.graphql b/sdk/constructive-sdk/schemas/admin.graphql index 84e4cfc5b..122647ed4 100644 --- a/sdk/constructive-sdk/schemas/admin.graphql +++ b/sdk/constructive-sdk/schemas/admin.graphql @@ -1,2802 +1,2604 @@ -"""A string representing a series of binary bits""" -scalar BitString +"""The root query type which gives access points into the data universe.""" +type Query { + appPermissionsGetPaddedMask(mask: BitString): BitString + orgPermissionsGetPaddedMask(mask: BitString): BitString + orgIsManagerOf(pEntityId: UUID, pManagerId: UUID, pUserId: UUID, pMaxDepth: Int): Boolean -""" -A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). -""" -scalar UUID + """Reads and enables pagination through a set of `OrgGetManagersRecord`.""" + orgGetManagers( + pEntityId: UUID + pUserId: UUID + pMaxDepth: Int -"""A connection to a list of `OrgGetManagersRecord` values.""" -type OrgGetManagersConnection { - """A list of `OrgGetManagersRecord` objects.""" - nodes: [OrgGetManagersRecord]! + """Only read the first `n` values of the set.""" + first: Int - """ - A list of edges which contains the `OrgGetManagersRecord` and cursor to aid in pagination. - """ - edges: [OrgGetManagersEdge]! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): OrgGetManagersConnection """ - The count of *all* `OrgGetManagersRecord` you could get from the connection. + Reads and enables pagination through a set of `OrgGetSubordinatesRecord`. """ - totalCount: Int! -} - -type OrgGetManagersRecord { - userId: UUID - depth: Int -} + orgGetSubordinates( + pEntityId: UUID + pUserId: UUID + pMaxDepth: Int -"""A `OrgGetManagersRecord` edge in the connection.""" -type OrgGetManagersEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Only read the first `n` values of the set.""" + first: Int - """The `OrgGetManagersRecord` at the end of the edge.""" - node: OrgGetManagersRecord -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A location in a connection that can be used for resuming pagination.""" -scalar Cursor + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): OrgGetSubordinatesConnection + appPermissionsGetMask(ids: [UUID]): BitString + orgPermissionsGetMask(ids: [UUID]): BitString + stepsAchieved(level: String, roleId: UUID): Boolean + appPermissionsGetMaskByNames(names: [String]): BitString + orgPermissionsGetMaskByNames(names: [String]): BitString -"""Information about pagination in a connection.""" -type PageInfo { - """When paginating forwards, are there more items?""" - hasNextPage: Boolean! + """Reads and enables pagination through a set of `AppPermission`.""" + appPermissionsGetByMask( + mask: BitString - """When paginating backwards, are there more items?""" - hasPreviousPage: Boolean! + """Only read the first `n` values of the set.""" + first: Int - """When paginating backwards, the cursor to continue.""" - startCursor: Cursor + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """When paginating forwards, the cursor to continue.""" - endCursor: Cursor -} + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): AppPermissionConnection -"""A connection to a list of `OrgGetSubordinatesRecord` values.""" -type OrgGetSubordinatesConnection { - """A list of `OrgGetSubordinatesRecord` objects.""" - nodes: [OrgGetSubordinatesRecord]! + """Reads and enables pagination through a set of `OrgPermission`.""" + orgPermissionsGetByMask( + mask: BitString - """ - A list of edges which contains the `OrgGetSubordinatesRecord` and cursor to aid in pagination. - """ - edges: [OrgGetSubordinatesEdge]! + """Only read the first `n` values of the set.""" + first: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - The count of *all* `OrgGetSubordinatesRecord` you could get from the connection. - """ - totalCount: Int! -} + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): OrgPermissionConnection -type OrgGetSubordinatesRecord { - userId: UUID - depth: Int -} + """Reads and enables pagination through a set of `AppLevelRequirement`.""" + stepsRequired( + level: String + roleId: UUID -"""A `OrgGetSubordinatesRecord` edge in the connection.""" -type OrgGetSubordinatesEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Only read the first `n` values of the set.""" + first: Int - """The `OrgGetSubordinatesRecord` at the end of the edge.""" - node: OrgGetSubordinatesRecord -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A connection to a list of `AppPermission` values.""" -type AppPermissionConnection { - """A list of `AppPermission` objects.""" - nodes: [AppPermission]! + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): AppLevelRequirementConnection """ - A list of edges which contains the `AppPermission` and cursor to aid in pagination. + Reads and enables pagination through a set of `AppLimitCreditRedemption`. """ - edges: [AppPermissionEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! + appLimitCreditRedemptions( + """Only read the first `n` values of the set.""" + first: Int - """The count of *all* `AppPermission` you could get from the connection.""" - totalCount: Int! -} + """Only read the last `n` values of the set.""" + last: Int -""" -Defines available permissions as named bits within a bitmask, used by the RBAC system for access control -""" -type AppPermission { - id: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditRedemptionFilter - """Human-readable description of what this permission allows""" - description: String -} + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionConnection -"""A `AppPermission` edge in the connection.""" -type AppPermissionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `OrgMember`.""" + orgMembers( + """Only read the first `n` values of the set.""" + first: Int - """The `AppPermission` at the end of the edge.""" - node: AppPermission -} + """Only read the last `n` values of the set.""" + last: Int -"""A connection to a list of `OrgPermission` values.""" -type OrgPermissionConnection { - """A list of `OrgPermission` objects.""" - nodes: [OrgPermission]! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - A list of edges which contains the `OrgPermission` and cursor to aid in pagination. - """ - edges: [OrgPermissionEdge]! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """The count of *all* `OrgPermission` you could get from the connection.""" - totalCount: Int! -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMemberFilter -""" -Defines available permissions as named bits within a bitmask, used by the RBAC system for access control -""" -type OrgPermission { - id: UUID! + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberConnection - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Reads and enables pagination through a set of `AppPermissionDefault`.""" + appPermissionDefaults( + """Only read the first `n` values of the set.""" + first: Int - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Only read the last `n` values of the set.""" + last: Int - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Human-readable description of what this permission allows""" - description: String -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""A `OrgPermission` edge in the connection.""" -type OrgPermissionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Read all values in the set after (below) this cursor.""" + after: Cursor - """The `OrgPermission` at the end of the edge.""" - node: OrgPermission -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppPermissionDefaultFilter -"""A connection to a list of `AppLevelRequirement` values.""" -type AppLevelRequirementConnection { - """A list of `AppLevelRequirement` objects.""" - nodes: [AppLevelRequirement]! + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultConnection - """ - A list of edges which contains the `AppLevelRequirement` and cursor to aid in pagination. - """ - edges: [AppLevelRequirementEdge]! + """Reads and enables pagination through a set of `AppLimitCreditCode`.""" + appLimitCreditCodes( + """Only read the first `n` values of the set.""" + first: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Only read the last `n` values of the set.""" + last: Int - """ - The count of *all* `AppLevelRequirement` you could get from the connection. - """ - totalCount: Int! -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""Defines the specific requirements that must be met to achieve a level""" -type AppLevelRequirement { - id: UUID! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Name identifier of the requirement (matches step names)""" - name: String! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Name of the level this requirement belongs to""" - level: String! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditCodeFilter - """Human-readable description of what this requirement entails""" - description: String + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeConnection - """Number of steps needed to satisfy this requirement""" - requiredCount: Int! + """Reads and enables pagination through a set of `OrgPermissionDefault`.""" + orgPermissionDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Display ordering priority; lower values appear first""" - priority: Int! - createdAt: Datetime - updatedAt: Datetime -} + """Only read the last `n` values of the set.""" + last: Int -""" -A point in time as described by the [ISO -8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC -3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values -that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead -to unexpected results. -""" -scalar Datetime + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A `AppLevelRequirement` edge in the connection.""" -type AppLevelRequirementEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Read all values in the set before (above) this cursor.""" + before: Cursor - """The `AppLevelRequirement` at the end of the edge.""" - node: AppLevelRequirement -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""A connection to a list of `OrgMember` values.""" -type OrgMemberConnection { - """A list of `OrgMember` objects.""" - nodes: [OrgMember]! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgPermissionDefaultFilter - """ - A list of edges which contains the `OrgMember` and cursor to aid in pagination. - """ - edges: [OrgMemberEdge]! + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultConnection - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Reads and enables pagination through a set of `AppPermission`.""" + appPermissions( + """Only read the first `n` values of the set.""" + first: Int - """The count of *all* `OrgMember` you could get from the connection.""" - totalCount: Int! -} + """Only read the last `n` values of the set.""" + last: Int -""" -Simplified view of active members in an entity, used for listing who belongs to an org or group -""" -type OrgMember { - id: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Whether this member has admin privileges""" - isAdmin: Boolean! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """References the user who is a member""" - actorId: UUID! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """References the entity (org or group) this member belongs to""" - entityId: UUID! -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppPermissionFilter -"""A `OrgMember` edge in the connection.""" -type OrgMemberEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!] = [PRIMARY_KEY_ASC] + ): AppPermissionConnection - """The `OrgMember` at the end of the edge.""" - node: OrgMember -} + """Reads and enables pagination through a set of `OrgPermission`.""" + orgPermissions( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `OrgMember` object types. All fields are combined with a logical ‘and.’ -""" -input OrgMemberFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isAdmin` field.""" - isAdmin: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [OrgMemberFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgPermissionFilter - """Checks for any expressions in this list.""" - or: [OrgMemberFilter!] + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgPermissionConnection - """Negates the expression.""" - not: OrgMemberFilter -} + """Reads and enables pagination through a set of `AppAdminGrant`.""" + appAdminGrants( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ -""" -input UUIDFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value.""" - equalTo: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Not equal to the specified value.""" - notEqualTo: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: UUID + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: UUID + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppAdminGrantFilter - """Included in the specified list.""" - in: [UUID!] + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAdminGrantConnection - """Not included in the specified list.""" - notIn: [UUID!] + """Reads and enables pagination through a set of `AppOwnerGrant`.""" + appOwnerGrants( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value.""" - lessThan: UUID + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value.""" - greaterThan: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: UUID -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ -""" -input BooleanFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppOwnerGrantFilter - """Equal to the specified value.""" - equalTo: Boolean + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppOwnerGrantConnection - """Not equal to the specified value.""" - notEqualTo: Boolean + """Reads and enables pagination through a set of `AppAchievement`.""" + appAchievements( + """Only read the first `n` values of the set.""" + first: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Included in the specified list.""" - in: [Boolean!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not included in the specified list.""" - notIn: [Boolean!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Less than the specified value.""" - lessThan: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppAchievementFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Boolean + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAchievementConnection - """Greater than the specified value.""" - greaterThan: Boolean + """Reads and enables pagination through a set of `AppStep`.""" + appSteps( + """Only read the first `n` values of the set.""" + first: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Boolean -} + """Only read the last `n` values of the set.""" + last: Int -"""Methods to use when ordering `OrgMember`.""" -enum OrgMemberOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_ADMIN_ASC - IS_ADMIN_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A connection to a list of `AppPermissionDefault` values.""" -type AppPermissionDefaultConnection { - """A list of `AppPermissionDefault` objects.""" - nodes: [AppPermissionDefault]! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - A list of edges which contains the `AppPermissionDefault` and cursor to aid in pagination. - """ - edges: [AppPermissionDefaultEdge]! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppStepFilter - """ - The count of *all* `AppPermissionDefault` you could get from the connection. - """ - totalCount: Int! -} + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!] = [PRIMARY_KEY_ASC] + ): AppStepConnection -""" -Stores the default permission bitmask assigned to new members upon joining -""" -type AppPermissionDefault { - id: UUID! + """Reads and enables pagination through a set of `AppLimitCapsDefault`.""" + appLimitCapsDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Default permission bitmask applied to new members""" - permissions: BitString! -} + """Only read the last `n` values of the set.""" + last: Int -"""A `AppPermissionDefault` edge in the connection.""" -type AppPermissionDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """The `AppPermissionDefault` at the end of the edge.""" - node: AppPermissionDefault -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `AppPermissionDefault` object types. All fields are combined with a logical ‘and.’ -""" -input AppPermissionDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCapsDefaultFilter - """Checks for all expressions in this list.""" - and: [AppPermissionDefaultFilter!] + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultConnection - """Checks for any expressions in this list.""" - or: [AppPermissionDefaultFilter!] + """Reads and enables pagination through a set of `OrgLimitCapsDefault`.""" + orgLimitCapsDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: AppPermissionDefaultFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ -""" -input BitStringFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value.""" - equalTo: BitString + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not equal to the specified value.""" - notEqualTo: BitString + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: BitString + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCapsDefaultFilter - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: BitString + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultConnection - """Included in the specified list.""" - in: [BitString!] + """Reads and enables pagination through a set of `AppLimitCap`.""" + appLimitCaps( + """Only read the first `n` values of the set.""" + first: Int - """Not included in the specified list.""" - notIn: [BitString!] + """Only read the last `n` values of the set.""" + last: Int - """Less than the specified value.""" - lessThan: BitString + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: BitString + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than the specified value.""" - greaterThan: BitString + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: BitString -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCapFilter -"""Methods to use when ordering `AppPermissionDefault`.""" -enum AppPermissionDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC -} + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCapConnection -"""A connection to a list of `OrgPermissionDefault` values.""" -type OrgPermissionDefaultConnection { - """A list of `OrgPermissionDefault` objects.""" - nodes: [OrgPermissionDefault]! + """Reads and enables pagination through a set of `OrgLimitCap`.""" + orgLimitCaps( + """Only read the first `n` values of the set.""" + first: Int - """ - A list of edges which contains the `OrgPermissionDefault` and cursor to aid in pagination. - """ - edges: [OrgPermissionDefaultEdge]! + """Only read the last `n` values of the set.""" + last: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - The count of *all* `OrgPermissionDefault` you could get from the connection. - """ - totalCount: Int! -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -Stores the default permission bitmask assigned to new members upon joining -""" -type OrgPermissionDefault { - id: UUID! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Default permission bitmask applied to new members""" - permissions: BitString! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCapFilter - """References the entity these default permissions apply to""" - entityId: UUID! -} + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCapConnection -"""A `OrgPermissionDefault` edge in the connection.""" -type OrgPermissionDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `OrgAdminGrant`.""" + orgAdminGrants( + """Only read the first `n` values of the set.""" + first: Int - """The `OrgPermissionDefault` at the end of the edge.""" - node: OrgPermissionDefault -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `OrgPermissionDefault` object types. All fields are combined with a logical ‘and.’ -""" -input OrgPermissionDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [OrgPermissionDefaultFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgAdminGrantFilter - """Checks for any expressions in this list.""" - or: [OrgPermissionDefaultFilter!] + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgAdminGrantConnection - """Negates the expression.""" - not: OrgPermissionDefaultFilter -} + """Reads and enables pagination through a set of `OrgOwnerGrant`.""" + orgOwnerGrants( + """Only read the first `n` values of the set.""" + first: Int -"""Methods to use when ordering `OrgPermissionDefault`.""" -enum OrgPermissionDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `AppPermission` object types. All fields are combined with a logical ‘and.’ -""" -input AppPermissionFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `bitnum` field.""" - bitnum: IntFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `bitstr` field.""" - bitstr: BitStringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgOwnerGrantFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantConnection - """Checks for all expressions in this list.""" - and: [AppPermissionFilter!] + """Reads and enables pagination through a set of `MembershipType`.""" + membershipTypes( + """Only read the first `n` values of the set.""" + first: Int - """Checks for any expressions in this list.""" - or: [AppPermissionFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Negates the expression.""" - not: AppPermissionFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against String fields. All fields are combined with a logical ‘and.’ -""" -input StringFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value.""" - equalTo: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not equal to the specified value.""" - notEqualTo: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: MembershipTypeFilter - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: String + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!] = [PRIMARY_KEY_ASC] + ): MembershipTypeConnection - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: String + """Reads and enables pagination through a set of `AppLimitDefault`.""" + appLimitDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Included in the specified list.""" - in: [String!] + """Only read the last `n` values of the set.""" + last: Int - """Not included in the specified list.""" - notIn: [String!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than the specified value.""" - lessThan: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Less than or equal to the specified value.""" - lessThanOrEqualTo: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than the specified value.""" - greaterThan: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitDefaultFilter - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: String + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitDefaultConnection - """Contains the specified string (case-sensitive).""" - includes: String + """Reads and enables pagination through a set of `OrgLimitDefault`.""" + orgLimitDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Does not contain the specified string (case-sensitive).""" - notIncludes: String + """Only read the last `n` values of the set.""" + last: Int - """Contains the specified string (case-insensitive).""" - includesInsensitive: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Starts with the specified string (case-sensitive).""" - startsWith: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Does not start with the specified string (case-sensitive).""" - notStartsWith: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitDefaultFilter - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: String + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultConnection - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: String + """ + Reads and enables pagination through a set of `AppLimitCreditCodeItem`. + """ + appLimitCreditCodeItems( + """Only read the first `n` values of the set.""" + first: Int - """Ends with the specified string (case-sensitive).""" - endsWith: String + """Only read the last `n` values of the set.""" + last: Int - """Does not end with the specified string (case-sensitive).""" - notEndsWith: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditCodeItemFilter - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: String + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemConnection - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: String + """Reads and enables pagination through a set of `AppLevelRequirement`.""" + appLevelRequirements( + """Only read the first `n` values of the set.""" + first: Int - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLevelRequirementFilter - """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLevelRequirementConnection - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] + """Reads and enables pagination through a set of `AppLimitCredit`.""" + appLimitCredits( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against Int fields. All fields are combined with a logical ‘and.’ -""" -input IntFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditFilter - """Equal to the specified value.""" - equalTo: Int + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditConnection - """Not equal to the specified value.""" - notEqualTo: Int + """Reads and enables pagination through a set of `OrgLimitCredit`.""" + orgLimitCredits( + """Only read the first `n` values of the set.""" + first: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Int + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Int + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Included in the specified list.""" - in: [Int!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not included in the specified list.""" - notIn: [Int!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Less than the specified value.""" - lessThan: Int + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCreditFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Int + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCreditConnection - """Greater than the specified value.""" - greaterThan: Int + """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" + orgChartEdgeGrants( + """Only read the first `n` values of the set.""" + first: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Int -} + """Only read the last `n` values of the set.""" + last: Int -"""Methods to use when ordering `AppPermission`.""" -enum AppPermissionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - BITNUM_ASC - BITNUM_DESC - BITSTR_ASC - BITSTR_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against `OrgPermission` object types. All fields are combined with a logical ‘and.’ -""" -input OrgPermissionFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `name` field.""" - name: StringFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `bitnum` field.""" - bitnum: IntFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeGrantFilter - """Filter by the object’s `bitstr` field.""" - bitstr: BitStringFilter + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantConnection - """Filter by the object’s `description` field.""" - description: StringFilter + """Reads and enables pagination through a set of `AppClaimedInvite`.""" + appClaimedInvites( + """Only read the first `n` values of the set.""" + first: Int - """Checks for all expressions in this list.""" - and: [OrgPermissionFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Checks for any expressions in this list.""" - or: [OrgPermissionFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: OrgPermissionFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""Methods to use when ordering `OrgPermission`.""" -enum OrgPermissionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - BITNUM_ASC - BITNUM_DESC - BITSTR_ASC - BITSTR_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""A connection to a list of `AppAdminGrant` values.""" -type AppAdminGrantConnection { - """A list of `AppAdminGrant` objects.""" - nodes: [AppAdminGrant]! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppClaimedInviteFilter - """ - A list of edges which contains the `AppAdminGrant` and cursor to aid in pagination. - """ - edges: [AppAdminGrantEdge]! + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppClaimedInviteConnection - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Reads and enables pagination through a set of `AppGrant`.""" + appGrants( + """Only read the first `n` values of the set.""" + first: Int - """The count of *all* `AppAdminGrant` you could get from the connection.""" - totalCount: Int! -} + """Only read the last `n` values of the set.""" + last: Int -"""Records of admin role grants and revocations between members""" -type AppAdminGrant { - id: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """True to grant admin, false to revoke admin""" - isGrant: Boolean! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """The member receiving or losing the admin grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""A `AppAdminGrant` edge in the connection.""" -type AppAdminGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppGrantFilter - """The `AppAdminGrant` at the end of the edge.""" - node: AppAdminGrant -} + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppGrantConnection -""" -A filter to be used against `AppAdminGrant` object types. All fields are combined with a logical ‘and.’ -""" -input AppAdminGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Reads and enables pagination through a set of `AppMembershipDefault`.""" + appMembershipDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppMembershipDefaultFilter - """Checks for all expressions in this list.""" - and: [AppAdminGrantFilter!] + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultConnection - """Checks for any expressions in this list.""" - or: [AppAdminGrantFilter!] + """Reads and enables pagination through a set of `OrgMembershipDefault`.""" + orgMembershipDefaults( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: AppAdminGrantFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ -""" -input DatetimeFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value.""" - equalTo: Datetime + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not equal to the specified value.""" - notEqualTo: Datetime + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Datetime + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMembershipDefaultFilter - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Datetime + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultConnection - """Included in the specified list.""" - in: [Datetime!] + """Reads and enables pagination through a set of `OrgClaimedInvite`.""" + orgClaimedInvites( + """Only read the first `n` values of the set.""" + first: Int - """Not included in the specified list.""" - notIn: [Datetime!] + """Only read the last `n` values of the set.""" + last: Int - """Less than the specified value.""" - lessThan: Datetime + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Datetime + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than the specified value.""" - greaterThan: Datetime + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Datetime -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgClaimedInviteFilter -"""Methods to use when ordering `AppAdminGrant`.""" -enum AppAdminGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteConnection -"""A connection to a list of `AppOwnerGrant` values.""" -type AppOwnerGrantConnection { - """A list of `AppOwnerGrant` objects.""" - nodes: [AppOwnerGrant]! + """Reads and enables pagination through a set of `AppLimitEvent`.""" + appLimitEvents( + """Only read the first `n` values of the set.""" + first: Int - """ - A list of edges which contains the `AppOwnerGrant` and cursor to aid in pagination. - """ - edges: [AppOwnerGrantEdge]! + """Only read the last `n` values of the set.""" + last: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """The count of *all* `AppOwnerGrant` you could get from the connection.""" - totalCount: Int! -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""Records of ownership transfers and grants between members""" -type AppOwnerGrant { - id: UUID! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitEventFilter - """The member receiving or losing the ownership grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """The method to use when ordering `AppLimitEvent`.""" + orderBy: [AppLimitEventOrderBy!] = [NATURAL] + ): AppLimitEventConnection -"""A `AppOwnerGrant` edge in the connection.""" -type AppOwnerGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `OrgLimitEvent`.""" + orgLimitEvents( + """Only read the first `n` values of the set.""" + first: Int - """The `AppOwnerGrant` at the end of the edge.""" - node: AppOwnerGrant -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `AppOwnerGrant` object types. All fields are combined with a logical ‘and.’ -""" -input AppOwnerGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitEventFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """The method to use when ordering `OrgLimitEvent`.""" + orderBy: [OrgLimitEventOrderBy!] = [NATURAL] + ): OrgLimitEventConnection - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Reads and enables pagination through a set of `OrgGrant`.""" + orgGrants( + """Only read the first `n` values of the set.""" + first: Int - """Checks for all expressions in this list.""" - and: [AppOwnerGrantFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Checks for any expressions in this list.""" - or: [AppOwnerGrantFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: AppOwnerGrantFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""Methods to use when ordering `AppOwnerGrant`.""" -enum AppOwnerGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""A connection to a list of `AppAchievement` values.""" -type AppAchievementConnection { - """A list of `AppAchievement` objects.""" - nodes: [AppAchievement]! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgGrantFilter - """ - A list of edges which contains the `AppAchievement` and cursor to aid in pagination. - """ - edges: [AppAchievementEdge]! + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgGrantConnection - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Reads and enables pagination through a set of `OrgChartEdge`.""" + orgChartEdges( + """Only read the first `n` values of the set.""" + first: Int - """The count of *all* `AppAchievement` you could get from the connection.""" - totalCount: Int! -} + """Only read the last `n` values of the set.""" + last: Int -""" -Aggregated user progress for level requirements, tallying the total count; updated via triggers and should not be modified manually -""" -type AppAchievement { - id: UUID! - actorId: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Name identifier of the level requirement being tracked""" - name: String! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Cumulative count of completed steps toward this requirement""" - count: Int! - createdAt: Datetime - updatedAt: Datetime -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""A `AppAchievement` edge in the connection.""" -type AppAchievementEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeFilter - """The `AppAchievement` at the end of the edge.""" - node: AppAchievement -} + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeConnection -""" -A filter to be used against `AppAchievement` object types. All fields are combined with a logical ‘and.’ -""" -input AppAchievementFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Reads and enables pagination through a set of `OrgMemberProfile`.""" + orgMemberProfiles( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `count` field.""" - count: IntFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMemberProfileFilter - """Checks for all expressions in this list.""" - and: [AppAchievementFilter!] + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberProfileConnection - """Checks for any expressions in this list.""" - or: [AppAchievementFilter!] + """Reads and enables pagination through a set of `AppLevel`.""" + appLevels( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: AppAchievementFilter -} + """Only read the last `n` values of the set.""" + last: Int -"""Methods to use when ordering `AppAchievement`.""" -enum AppAchievementOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NAME_ASC - NAME_DESC - COUNT_ASC - COUNT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A connection to a list of `AppStep` values.""" -type AppStepConnection { - """A list of `AppStep` objects.""" - nodes: [AppStep]! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - A list of edges which contains the `AppStep` and cursor to aid in pagination. - """ - edges: [AppStepEdge]! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLevelFilter - """The count of *all* `AppStep` you could get from the connection.""" - totalCount: Int! -} + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLevelConnection -""" -Log of individual user actions toward level requirements; every single step ever taken is recorded here -""" -type AppStep { - id: UUID! - actorId: UUID! + """Reads and enables pagination through a set of `AppLimit`.""" + appLimits( + """Only read the first `n` values of the set.""" + first: Int - """Name identifier of the level requirement this step fulfills""" - name: String! + """Only read the last `n` values of the set.""" + last: Int - """Number of units completed in this step action""" - count: Int! - createdAt: Datetime - updatedAt: Datetime -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A `AppStep` edge in the connection.""" -type AppStepEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Read all values in the set before (above) this cursor.""" + before: Cursor - """The `AppStep` at the end of the edge.""" - node: AppStep -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against `AppStep` object types. All fields are combined with a logical ‘and.’ -""" -input AppStepFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitFilter - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitConnection - """Filter by the object’s `name` field.""" - name: StringFilter + """Reads and enables pagination through a set of `AppInvite`.""" + appInvites( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `count` field.""" - count: IntFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [AppStepFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [AppStepFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppInviteFilter - """Negates the expression.""" - not: AppStepFilter -} + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppInviteConnection -"""Methods to use when ordering `AppStep`.""" -enum AppStepOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NAME_ASC - NAME_DESC - COUNT_ASC - COUNT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Reads and enables pagination through a set of `OrgMembershipSetting`.""" + orgMembershipSettings( + """Only read the first `n` values of the set.""" + first: Int -"""A connection to a list of `OrgAdminGrant` values.""" -type OrgAdminGrantConnection { - """A list of `OrgAdminGrant` objects.""" - nodes: [OrgAdminGrant]! + """Only read the last `n` values of the set.""" + last: Int - """ - A list of edges which contains the `OrgAdminGrant` and cursor to aid in pagination. - """ - edges: [OrgAdminGrantEdge]! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """The count of *all* `OrgAdminGrant` you could get from the connection.""" - totalCount: Int! -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""Records of admin role grants and revocations between members""" -type OrgAdminGrant { - id: UUID! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMembershipSettingFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean! + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingConnection - """The member receiving or losing the admin grant""" - actorId: UUID! + """Reads and enables pagination through a set of `OrgLimitAggregate`.""" + orgLimitAggregates( + """Only read the first `n` values of the set.""" + first: Int - """The entity (org or group) this admin grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Only read the last `n` values of the set.""" + last: Int -"""A `OrgAdminGrant` edge in the connection.""" -type OrgAdminGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """The `OrgAdminGrant` at the end of the edge.""" - node: OrgAdminGrant -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ -""" -input OrgAdminGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitAggregateFilter - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateConnection - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Reads and enables pagination through a set of `OrgLimit`.""" + orgLimits( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [OrgAdminGrantFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [OrgAdminGrantFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitFilter - """Negates the expression.""" - not: OrgAdminGrantFilter -} + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitConnection -"""Methods to use when ordering `OrgAdminGrant`.""" -enum OrgAdminGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Reads and enables pagination through a set of `OrgInvite`.""" + orgInvites( + """Only read the first `n` values of the set.""" + first: Int -"""A connection to a list of `OrgOwnerGrant` values.""" -type OrgOwnerGrantConnection { - """A list of `OrgOwnerGrant` objects.""" - nodes: [OrgOwnerGrant]! + """Only read the last `n` values of the set.""" + last: Int - """ - A list of edges which contains the `OrgOwnerGrant` and cursor to aid in pagination. - """ - edges: [OrgOwnerGrantEdge]! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """The count of *all* `OrgOwnerGrant` you could get from the connection.""" - totalCount: Int! -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""Records of ownership transfers and grants between members""" -type OrgOwnerGrant { - id: UUID! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgInviteFilter - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean! + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgInviteConnection - """The member receiving or losing the ownership grant""" - actorId: UUID! + """Reads and enables pagination through a set of `AppMembership`.""" + appMemberships( + """Only read the first `n` values of the set.""" + first: Int - """The entity (org or group) this ownership grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} - -"""A `OrgOwnerGrant` edge in the connection.""" -type OrgOwnerGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `OrgOwnerGrant` at the end of the edge.""" - node: OrgOwnerGrant -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `OrgOwnerGrant` object types. All fields are combined with a logical ‘and.’ -""" -input OrgOwnerGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppMembershipFilter - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!] = [PRIMARY_KEY_ASC] + ): AppMembershipConnection - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Reads and enables pagination through a set of `OrgMembership`.""" + orgMemberships( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [OrgOwnerGrantFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [OrgOwnerGrantFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: OrgOwnerGrantFilter -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""Methods to use when ordering `OrgOwnerGrant`.""" -enum OrgOwnerGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMembershipFilter -"""A connection to a list of `MembershipType` values.""" -type MembershipTypeConnection { - """A list of `MembershipType` objects.""" - nodes: [MembershipType]! + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipConnection """ - A list of edges which contains the `MembershipType` and cursor to aid in pagination. + Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. """ - edges: [MembershipTypeEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `MembershipType` you could get from the connection.""" - totalCount: Int! + _meta: MetaSchema } +"""A string representing a series of binary bits""" +scalar BitString + """ -Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) +A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). """ -type MembershipType { - """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) - """ - id: Int! - - """Human-readable name of the membership type""" - name: String! +scalar UUID - """Description of what this membership type represents""" - description: String! +"""A connection to a list of `OrgGetManagersRecord` values.""" +type OrgGetManagersConnection { + """A list of `OrgGetManagersRecord` objects.""" + nodes: [OrgGetManagersRecord]! """ - Short prefix used to namespace tables and functions for this membership scope + A list of edges which contains the `OrgGetManagersRecord` and cursor to aid in pagination. """ - prefix: String! + edges: [OrgGetManagersEdge]! - """ - Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) - """ - parentMembershipType: Int + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs + The count of *all* `OrgGetManagersRecord` you could get from the connection. """ - hasUsersTableEntry: Boolean! + totalCount: Int! } -"""A `MembershipType` edge in the connection.""" -type MembershipTypeEdge { +type OrgGetManagersRecord { + userId: UUID + depth: Int +} + +"""A `OrgGetManagersRecord` edge in the connection.""" +type OrgGetManagersEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `MembershipType` at the end of the edge.""" - node: MembershipType + """The `OrgGetManagersRecord` at the end of the edge.""" + node: OrgGetManagersRecord } -""" -A filter to be used against `MembershipType` object types. All fields are combined with a logical ‘and.’ -""" -input MembershipTypeFilter { - """Filter by the object’s `id` field.""" - id: IntFilter +"""A location in a connection that can be used for resuming pagination.""" +scalar Cursor - """Filter by the object’s `name` field.""" - name: StringFilter +"""Information about pagination in a connection.""" +type PageInfo { + """When paginating forwards, are there more items?""" + hasNextPage: Boolean! - """Filter by the object’s `description` field.""" - description: StringFilter + """When paginating backwards, are there more items?""" + hasPreviousPage: Boolean! - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """When paginating backwards, the cursor to continue.""" + startCursor: Cursor - """Filter by the object’s `parentMembershipType` field.""" - parentMembershipType: IntFilter + """When paginating forwards, the cursor to continue.""" + endCursor: Cursor +} - """Filter by the object’s `hasUsersTableEntry` field.""" - hasUsersTableEntry: BooleanFilter +"""A connection to a list of `OrgGetSubordinatesRecord` values.""" +type OrgGetSubordinatesConnection { + """A list of `OrgGetSubordinatesRecord` objects.""" + nodes: [OrgGetSubordinatesRecord]! - """Checks for all expressions in this list.""" - and: [MembershipTypeFilter!] + """ + A list of edges which contains the `OrgGetSubordinatesRecord` and cursor to aid in pagination. + """ + edges: [OrgGetSubordinatesEdge]! - """Checks for any expressions in this list.""" - or: [MembershipTypeFilter!] + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Negates the expression.""" - not: MembershipTypeFilter + """ + The count of *all* `OrgGetSubordinatesRecord` you could get from the connection. + """ + totalCount: Int! } -"""Methods to use when ordering `MembershipType`.""" -enum MembershipTypeOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - PREFIX_ASC - PREFIX_DESC - PARENT_MEMBERSHIP_TYPE_ASC - PARENT_MEMBERSHIP_TYPE_DESC - HAS_USERS_TABLE_ENTRY_ASC - HAS_USERS_TABLE_ENTRY_DESC +type OrgGetSubordinatesRecord { + userId: UUID + depth: Int } -"""A connection to a list of `AppLimitDefault` values.""" -type AppLimitDefaultConnection { - """A list of `AppLimitDefault` objects.""" - nodes: [AppLimitDefault]! +"""A `OrgGetSubordinatesRecord` edge in the connection.""" +type OrgGetSubordinatesEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgGetSubordinatesRecord` at the end of the edge.""" + node: OrgGetSubordinatesRecord +} + +"""A connection to a list of `AppPermission` values.""" +type AppPermissionConnection { + """A list of `AppPermission` objects.""" + nodes: [AppPermission]! """ - A list of edges which contains the `AppLimitDefault` and cursor to aid in pagination. + A list of edges which contains the `AppPermission` and cursor to aid in pagination. """ - edges: [AppLimitDefaultEdge]! + edges: [AppPermissionEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `AppLimitDefault` you could get from the connection. - """ + """The count of *all* `AppPermission` you could get from the connection.""" totalCount: Int! } """ -Default maximum values for each named limit, applied when no per-actor override exists +Defines available permissions as named bits within a bitmask, used by the RBAC system for access control """ -type AppLimitDefault { +type AppPermission { id: UUID! - """Name identifier of the limit this default applies to""" - name: String! - - """Default maximum usage allowed for this limit""" - max: BigInt + """Human-readable permission name (e.g. read, write, manage)""" + name: String - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int -""" -A signed eight-byte integer. The upper big integer values are greater than the -max value for a JavaScript number. Therefore all big integers will be output as -strings and not numbers. -""" -scalar BigInt + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString! -"""A `AppLimitDefault` edge in the connection.""" -type AppLimitDefaultEdge { + """Human-readable description of what this permission allows""" + description: String +} + +"""A `AppPermission` edge in the connection.""" +type AppPermissionEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppLimitDefault` at the end of the edge.""" - node: AppLimitDefault + """The `AppPermission` at the end of the edge.""" + node: AppPermission } -""" -A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ -""" -input AppLimitDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `max` field.""" - max: BigIntFilter - - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter +"""A connection to a list of `OrgPermission` values.""" +type OrgPermissionConnection { + """A list of `OrgPermission` objects.""" + nodes: [OrgPermission]! - """Checks for all expressions in this list.""" - and: [AppLimitDefaultFilter!] + """ + A list of edges which contains the `OrgPermission` and cursor to aid in pagination. + """ + edges: [OrgPermissionEdge]! - """Checks for any expressions in this list.""" - or: [AppLimitDefaultFilter!] + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Negates the expression.""" - not: AppLimitDefaultFilter + """The count of *all* `OrgPermission` you could get from the connection.""" + totalCount: Int! } """ -A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ +Defines available permissions as named bits within a bitmask, used by the RBAC system for access control """ -input BigIntFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: BigInt +type OrgPermission { + id: UUID! - """Not equal to the specified value.""" - notEqualTo: BigInt + """Human-readable permission name (e.g. read, write, manage)""" + name: String """ - Not equal to the specified value, treating null like an ordinary value. + Position of this permission in the bitmask (1-indexed), must be unique per permission set """ - distinctFrom: BigInt - - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: BigInt - - """Included in the specified list.""" - in: [BigInt!] - - """Not included in the specified list.""" - notIn: [BigInt!] - - """Less than the specified value.""" - lessThan: BigInt - - """Less than or equal to the specified value.""" - lessThanOrEqualTo: BigInt + bitnum: Int - """Greater than the specified value.""" - greaterThan: BigInt + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString! - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: BigInt + """Human-readable description of what this permission allows""" + description: String } -"""Methods to use when ordering `AppLimitDefault`.""" -enum AppLimitDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC +"""A `OrgPermission` edge in the connection.""" +type OrgPermissionEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgPermission` at the end of the edge.""" + node: OrgPermission } -"""A connection to a list of `OrgLimitDefault` values.""" -type OrgLimitDefaultConnection { - """A list of `OrgLimitDefault` objects.""" - nodes: [OrgLimitDefault]! +"""A connection to a list of `AppLevelRequirement` values.""" +type AppLevelRequirementConnection { + """A list of `AppLevelRequirement` objects.""" + nodes: [AppLevelRequirement]! """ - A list of edges which contains the `OrgLimitDefault` and cursor to aid in pagination. + A list of edges which contains the `AppLevelRequirement` and cursor to aid in pagination. """ - edges: [OrgLimitDefaultEdge]! + edges: [AppLevelRequirementEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! """ - The count of *all* `OrgLimitDefault` you could get from the connection. + The count of *all* `AppLevelRequirement` you could get from the connection. """ totalCount: Int! } -""" -Default maximum values for each named limit, applied when no per-actor override exists -""" -type OrgLimitDefault { +"""Defines the specific requirements that must be met to achieve a level""" +type AppLevelRequirement { id: UUID! - """Name identifier of the limit this default applies to""" + """Name identifier of the requirement (matches step names)""" name: String! - """Default maximum usage allowed for this limit""" - max: BigInt + """Name of the level this requirement belongs to""" + level: String! - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """Human-readable description of what this requirement entails""" + description: String -"""A `OrgLimitDefault` edge in the connection.""" -type OrgLimitDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Number of steps needed to satisfy this requirement""" + requiredCount: Int! - """The `OrgLimitDefault` at the end of the edge.""" - node: OrgLimitDefault + """Display ordering priority; lower values appear first""" + priority: Int! + createdAt: Datetime + updatedAt: Datetime } """ -A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ +A point in time as described by the [ISO +8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC +3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values +that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead +to unexpected results. """ -input OrgLimitDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter +scalar Datetime - """Filter by the object’s `max` field.""" - max: BigIntFilter +"""A `AppLevelRequirement` edge in the connection.""" +type AppLevelRequirementEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter + """The `AppLevelRequirement` at the end of the edge.""" + node: AppLevelRequirement +} - """Checks for all expressions in this list.""" - and: [OrgLimitDefaultFilter!] +"""A connection to a list of `AppLimitCreditRedemption` values.""" +type AppLimitCreditRedemptionConnection { + """A list of `AppLimitCreditRedemption` objects.""" + nodes: [AppLimitCreditRedemption]! - """Checks for any expressions in this list.""" - or: [OrgLimitDefaultFilter!] + """ + A list of edges which contains the `AppLimitCreditRedemption` and cursor to aid in pagination. + """ + edges: [AppLimitCreditRedemptionEdge]! - """Negates the expression.""" - not: OrgLimitDefaultFilter -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""Methods to use when ordering `OrgLimitDefault`.""" -enum OrgLimitDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC + """ + The count of *all* `AppLimitCreditRedemption` you could get from the connection. + """ + totalCount: Int! } """ -A filter to be used against `AppLevelRequirement` object types. All fields are combined with a logical ‘and.’ +Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits """ -input AppLevelRequirementFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +type AppLimitCreditRedemption { + id: UUID! - """Filter by the object’s `name` field.""" - name: StringFilter + """FK to credit_codes — which code is being redeemed""" + creditCodeId: UUID! - """Filter by the object’s `level` field.""" - level: StringFilter + """Entity receiving the credits (personal org user_id or org entity_id)""" + entityId: UUID! - """Filter by the object’s `description` field.""" - description: StringFilter + """ + Reads a single `AppLimitCreditCode` that is related to this `AppLimitCreditRedemption`. + """ + creditCode: AppLimitCreditCode +} - """Filter by the object’s `requiredCount` field.""" - requiredCount: IntFilter +""" +Redeemable credit codes managed by admins with the add_credits permission +""" +type AppLimitCreditCode { + id: UUID! - """Filter by the object’s `priority` field.""" - priority: IntFilter + """Human-readable credit code (case-insensitive, unique)""" + code: String! - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Maximum total redemptions allowed; NULL for unlimited""" + maxRedemptions: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Current number of redemptions (incremented by trigger on credit_redemptions) + """ + currentRedemptions: Int! - """Checks for all expressions in this list.""" - and: [AppLevelRequirementFilter!] + """Expiration timestamp; NULL for no expiry""" + expiresAt: Datetime - """Checks for any expressions in this list.""" - or: [AppLevelRequirementFilter!] + """ + Reads and enables pagination through a set of `AppLimitCreditCodeItem`. + """ + appLimitCreditCodeItemsByCreditCodeId( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: AppLevelRequirementFilter -} + """Only read the last `n` values of the set.""" + last: Int -"""Methods to use when ordering `AppLevelRequirement`.""" -enum AppLevelRequirementOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - LEVEL_ASC - LEVEL_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - REQUIRED_COUNT_ASC - REQUIRED_COUNT_DESC - PRIORITY_ASC - PRIORITY_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditCodeItemFilter + + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemConnection! + + """ + Reads and enables pagination through a set of `AppLimitCreditRedemption`. + """ + appLimitCreditRedemptionsByCreditCodeId( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditRedemptionFilter + + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionConnection! } -"""A connection to a list of `OrgChartEdgeGrant` values.""" -type OrgChartEdgeGrantConnection { - """A list of `OrgChartEdgeGrant` objects.""" - nodes: [OrgChartEdgeGrant]! +"""A connection to a list of `AppLimitCreditCodeItem` values.""" +type AppLimitCreditCodeItemConnection { + """A list of `AppLimitCreditCodeItem` objects.""" + nodes: [AppLimitCreditCodeItem]! """ - A list of edges which contains the `OrgChartEdgeGrant` and cursor to aid in pagination. + A list of edges which contains the `AppLimitCreditCodeItem` and cursor to aid in pagination. """ - edges: [OrgChartEdgeGrantEdge]! + edges: [AppLimitCreditCodeItemEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! """ - The count of *all* `OrgChartEdgeGrant` you could get from the connection. + The count of *all* `AppLimitCreditCodeItem` you could get from the connection. """ totalCount: Int! } """ -Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table +Items within a credit code — each row grants credits for a specific limit definition """ -type OrgChartEdgeGrant { +type AppLimitCreditCodeItem { id: UUID! - """Organization this grant applies to""" - entityId: UUID! + """FK to credit_codes — which code this item belongs to""" + creditCodeId: UUID! - """User ID of the subordinate being placed in the hierarchy""" - childId: UUID! + """FK to default_limits — which limit this item grants credits for""" + defaultLimitId: UUID! - """User ID of the manager being assigned; NULL for top-level positions""" - parentId: UUID + """Number of credits this item grants per redemption""" + amount: BigInt! """ - User ID of the admin who performed this grant or revocation; NULL if grantor was deleted + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - grantorId: UUID - - """TRUE to add/update the edge, FALSE to remove it""" - isGrant: Boolean! - - """Job title or role name being assigned in this grant""" - positionTitle: String + creditType: String! - """Numeric seniority level being assigned in this grant""" - positionLevel: Int + """ + Reads a single `AppLimitCreditCode` that is related to this `AppLimitCreditCodeItem`. + """ + creditCode: AppLimitCreditCode - """Timestamp when this grant or revocation was recorded""" - createdAt: Datetime! + """ + Reads a single `AppLimitDefault` that is related to this `AppLimitCreditCodeItem`. + """ + defaultLimit: AppLimitDefault } -"""A `OrgChartEdgeGrant` edge in the connection.""" -type OrgChartEdgeGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `OrgChartEdgeGrant` at the end of the edge.""" - node: OrgChartEdgeGrant -} +""" +A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers. +""" +scalar BigInt """ -A filter to be used against `OrgChartEdgeGrant` object types. All fields are combined with a logical ‘and.’ +Default maximum values for each named limit, applied when no per-actor override exists """ -input OrgChartEdgeGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +type AppLimitDefault { + id: UUID! - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Name identifier of the limit this default applies to""" + name: String! - """Filter by the object’s `childId` field.""" - childId: UUIDFilter + """Default maximum usage allowed for this limit""" + max: BigInt - """Filter by the object’s `parentId` field.""" - parentId: UUIDFilter + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Reads and enables pagination through a set of `AppLimitCredit`.""" + appLimitCreditsByDefaultLimitId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `positionTitle` field.""" - positionTitle: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `positionLevel` field.""" - positionLevel: IntFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [OrgChartEdgeGrantFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditFilter - """Checks for any expressions in this list.""" - or: [OrgChartEdgeGrantFilter!] + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditConnection! - """Negates the expression.""" - not: OrgChartEdgeGrantFilter -} + """ + Reads and enables pagination through a set of `AppLimitCreditCodeItem`. + """ + appLimitCreditCodeItemsByDefaultLimitId( + """Only read the first `n` values of the set.""" + first: Int -"""Methods to use when ordering `OrgChartEdgeGrant`.""" -enum OrgChartEdgeGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - CHILD_ID_ASC - CHILD_ID_DESC - PARENT_ID_ASC - PARENT_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - POSITION_TITLE_ASC - POSITION_TITLE_DESC - POSITION_LEVEL_ASC - POSITION_LEVEL_DESC - CREATED_AT_ASC - CREATED_AT_DESC + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditCodeItemFilter + + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemConnection! } -"""A connection to a list of `AppClaimedInvite` values.""" -type AppClaimedInviteConnection { - """A list of `AppClaimedInvite` objects.""" - nodes: [AppClaimedInvite]! +"""A connection to a list of `AppLimitCredit` values.""" +type AppLimitCreditConnection { + """A list of `AppLimitCredit` objects.""" + nodes: [AppLimitCredit]! """ - A list of edges which contains the `AppClaimedInvite` and cursor to aid in pagination. + A list of edges which contains the `AppLimitCredit` and cursor to aid in pagination. """ - edges: [AppClaimedInviteEdge]! + edges: [AppLimitCreditEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `AppClaimedInvite` you could get from the connection. - """ + """The count of *all* `AppLimitCredit` you could get from the connection.""" totalCount: Int! } """ -Records of successfully claimed invitations, linking senders to receivers +Append-only ledger of credit grants that automatically update limit ceilings """ -type AppClaimedInvite { +type AppLimitCredit { id: UUID! - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! - """User ID of the original invitation sender""" - senderId: UUID + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! -""" -Represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). -""" -scalar JSON + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String! -"""A `AppClaimedInvite` edge in the connection.""" -type AppClaimedInviteEdge { + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String + + """ + Reads a single `AppLimitDefault` that is related to this `AppLimitCredit`. + """ + defaultLimit: AppLimitDefault +} + +"""A `AppLimitCredit` edge in the connection.""" +type AppLimitCreditEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppClaimedInvite` at the end of the edge.""" - node: AppClaimedInvite + """The `AppLimitCredit` at the end of the edge.""" + node: AppLimitCredit } """ -A filter to be used against `AppClaimedInvite` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ """ -input AppClaimedInviteFilter { +input AppLimitCreditFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter + """Filter by the object’s `defaultLimitId` field.""" + defaultLimitId: UUIDFilter - """Filter by the object’s `receiverId` field.""" - receiverId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `amount` field.""" + amount: BigIntFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `creditType` field.""" + creditType: StringFilter + + """Filter by the object’s `reason` field.""" + reason: StringFilter """Checks for all expressions in this list.""" - and: [AppClaimedInviteFilter!] + and: [AppLimitCreditFilter!] """Checks for any expressions in this list.""" - or: [AppClaimedInviteFilter!] + or: [AppLimitCreditFilter!] """Negates the expression.""" - not: AppClaimedInviteFilter -} + not: AppLimitCreditFilter -"""Methods to use when ordering `AppClaimedInvite`.""" -enum AppClaimedInviteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATA_ASC - DATA_DESC - SENDER_ID_ASC - SENDER_ID_DESC - RECEIVER_ID_ASC - RECEIVER_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filter by the object’s `defaultLimit` relation.""" + defaultLimit: AppLimitDefaultFilter } -"""A connection to a list of `AppGrant` values.""" -type AppGrantConnection { - """A list of `AppGrant` objects.""" - nodes: [AppGrant]! - +""" +A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ +""" +input UUIDFilter { """ - A list of edges which contains the `AppGrant` and cursor to aid in pagination. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - edges: [AppGrantEdge]! + isNull: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Equal to the specified value.""" + equalTo: UUID - """The count of *all* `AppGrant` you could get from the connection.""" - totalCount: Int! -} + """Not equal to the specified value.""" + notEqualTo: UUID -""" -Records of individual permission grants and revocations for members via bitmask -""" -type AppGrant { - id: UUID! + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: UUID - """Bitmask of permissions being granted or revoked""" - permissions: BitString! + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: UUID - """True to grant the permissions, false to revoke them""" - isGrant: Boolean! + """Included in the specified list.""" + in: [UUID!] - """The member receiving or losing the permission grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Not included in the specified list.""" + notIn: [UUID!] -"""A `AppGrant` edge in the connection.""" -type AppGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Less than the specified value.""" + lessThan: UUID - """The `AppGrant` at the end of the edge.""" - node: AppGrant + """Less than or equal to the specified value.""" + lessThanOrEqualTo: UUID + + """Greater than the specified value.""" + greaterThan: UUID + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: UUID } """ -A filter to be used against `AppGrant` object types. All fields are combined with a logical ‘and.’ +A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ """ -input AppGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +input BigIntFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Equal to the specified value.""" + equalTo: BigInt - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Not equal to the specified value.""" + notEqualTo: BigInt - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: BigInt - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: BigInt - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Included in the specified list.""" + in: [BigInt!] - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Not included in the specified list.""" + notIn: [BigInt!] - """Checks for all expressions in this list.""" - and: [AppGrantFilter!] + """Less than the specified value.""" + lessThan: BigInt - """Checks for any expressions in this list.""" - or: [AppGrantFilter!] + """Less than or equal to the specified value.""" + lessThanOrEqualTo: BigInt - """Negates the expression.""" - not: AppGrantFilter -} + """Greater than the specified value.""" + greaterThan: BigInt -"""Methods to use when ordering `AppGrant`.""" -enum AppGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: BigInt } -"""A connection to a list of `AppMembershipDefault` values.""" -type AppMembershipDefaultConnection { - """A list of `AppMembershipDefault` objects.""" - nodes: [AppMembershipDefault]! - +""" +A filter to be used against String fields. All fields are combined with a logical ‘and.’ +""" +input StringFilter { """ - A list of edges which contains the `AppMembershipDefault` and cursor to aid in pagination. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - edges: [AppMembershipDefaultEdge]! + isNull: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Equal to the specified value.""" + equalTo: String + + """Not equal to the specified value.""" + notEqualTo: String """ - The count of *all* `AppMembershipDefault` you could get from the connection. + Not equal to the specified value, treating null like an ordinary value. """ - totalCount: Int! -} + distinctFrom: String -""" -Default membership settings per entity, controlling initial approval and verification state for new members -""" -type AppMembershipDefault { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: String - """Whether new members are automatically approved upon joining""" - isApproved: Boolean! + """Included in the specified list.""" + in: [String!] - """Whether new members are automatically verified upon joining""" - isVerified: Boolean! -} + """Not included in the specified list.""" + notIn: [String!] -"""A `AppMembershipDefault` edge in the connection.""" -type AppMembershipDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Less than the specified value.""" + lessThan: String - """The `AppMembershipDefault` at the end of the edge.""" - node: AppMembershipDefault -} + """Less than or equal to the specified value.""" + lessThanOrEqualTo: String -""" -A filter to be used against `AppMembershipDefault` object types. All fields are combined with a logical ‘and.’ -""" -input AppMembershipDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Greater than the specified value.""" + greaterThan: String - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: String - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Contains the specified string (case-sensitive).""" + includes: String - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """Does not contain the specified string (case-sensitive).""" + notIncludes: String - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """Contains the specified string (case-insensitive).""" + includesInsensitive: String - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: String - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """Starts with the specified string (case-sensitive).""" + startsWith: String - """Checks for all expressions in this list.""" - and: [AppMembershipDefaultFilter!] + """Does not start with the specified string (case-sensitive).""" + notStartsWith: String - """Checks for any expressions in this list.""" - or: [AppMembershipDefaultFilter!] + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: String - """Negates the expression.""" - not: AppMembershipDefaultFilter -} + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: String -"""Methods to use when ordering `AppMembershipDefault`.""" -enum AppMembershipDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC -} + """Ends with the specified string (case-sensitive).""" + endsWith: String -"""A connection to a list of `OrgMembershipDefault` values.""" -type OrgMembershipDefaultConnection { - """A list of `OrgMembershipDefault` objects.""" - nodes: [OrgMembershipDefault]! + """Does not end with the specified string (case-sensitive).""" + notEndsWith: String + + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: String + + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: String """ - A list of edges which contains the `OrgMembershipDefault` and cursor to aid in pagination. + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - edges: [OrgMembershipDefaultEdge]! + like: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: String """ - The count of *all* `OrgMembershipDefault` you could get from the connection. + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - totalCount: Int! -} + likeInsensitive: String -""" -Default membership settings per entity, controlling initial approval and verification state for new members -""" -type OrgMembershipDefault { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: String - """Whether new members are automatically approved upon joining""" - isApproved: Boolean! + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String - """References the entity these membership defaults apply to""" - entityId: UUID! -} + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String -"""A `OrgMembershipDefault` edge in the connection.""" -type OrgMembershipDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """ + Not equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + distinctFromInsensitive: String - """The `OrgMembershipDefault` at the end of the edge.""" - node: OrgMembershipDefault + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: String + + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] + + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] + + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String + + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String + + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String + + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String } """ -A filter to be used against `OrgMembershipDefault` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ """ -input OrgMembershipDefaultFilter { +input AppLimitDefaultFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter - - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter """Checks for all expressions in this list.""" - and: [OrgMembershipDefaultFilter!] + and: [AppLimitDefaultFilter!] """Checks for any expressions in this list.""" - or: [OrgMembershipDefaultFilter!] + or: [AppLimitDefaultFilter!] """Negates the expression.""" - not: OrgMembershipDefaultFilter -} + not: AppLimitDefaultFilter -"""Methods to use when ordering `OrgMembershipDefault`.""" -enum OrgMembershipDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} + """Filter by the object’s `appLimitCreditsByDefaultLimitId` relation.""" + appLimitCreditsByDefaultLimitId: AppLimitDefaultToManyAppLimitCreditFilter -"""A connection to a list of `OrgClaimedInvite` values.""" -type OrgClaimedInviteConnection { - """A list of `OrgClaimedInvite` objects.""" - nodes: [OrgClaimedInvite]! + """`appLimitCreditsByDefaultLimitId` exist.""" + appLimitCreditsByDefaultLimitIdExist: Boolean """ - A list of edges which contains the `OrgClaimedInvite` and cursor to aid in pagination. + Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. """ - edges: [OrgClaimedInviteEdge]! + appLimitCreditCodeItemsByDefaultLimitId: AppLimitDefaultToManyAppLimitCreditCodeItemFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """ - The count of *all* `OrgClaimedInvite` you could get from the connection. - """ - totalCount: Int! + """`appLimitCreditCodeItemsByDefaultLimitId` exist.""" + appLimitCreditCodeItemsByDefaultLimitIdExist: Boolean } """ -Records of successfully claimed invitations, linking senders to receivers +A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ """ -type OrgClaimedInvite { - id: UUID! - - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON +input AppLimitDefaultToManyAppLimitCreditFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitCreditFilter - """User ID of the original invitation sender""" - senderId: UUID + """Filters to entities where every related entity matches.""" + every: AppLimitCreditFilter - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! + """Filters to entities where no related entity matches.""" + none: AppLimitCreditFilter } -"""A `OrgClaimedInvite` edge in the connection.""" -type OrgClaimedInviteEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitCreditCodeItemFilter - """The `OrgClaimedInvite` at the end of the edge.""" - node: OrgClaimedInvite + """Filters to entities where every related entity matches.""" + every: AppLimitCreditCodeItemFilter + + """Filters to entities where no related entity matches.""" + none: AppLimitCreditCodeItemFilter } """ -A filter to be used against `OrgClaimedInvite` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ """ -input OrgClaimedInviteFilter { +input AppLimitCreditCodeItemFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter - - """Filter by the object’s `receiverId` field.""" - receiverId: UUIDFilter + """Filter by the object’s `creditCodeId` field.""" + creditCodeId: UUIDFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `defaultLimitId` field.""" + defaultLimitId: UUIDFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `amount` field.""" + amount: BigIntFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Filter by the object’s `creditType` field.""" + creditType: StringFilter """Checks for all expressions in this list.""" - and: [OrgClaimedInviteFilter!] + and: [AppLimitCreditCodeItemFilter!] """Checks for any expressions in this list.""" - or: [OrgClaimedInviteFilter!] + or: [AppLimitCreditCodeItemFilter!] """Negates the expression.""" - not: OrgClaimedInviteFilter -} + not: AppLimitCreditCodeItemFilter -"""Methods to use when ordering `OrgClaimedInvite`.""" -enum OrgClaimedInviteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATA_ASC - DATA_DESC - SENDER_ID_ASC - SENDER_ID_DESC - RECEIVER_ID_ASC - RECEIVER_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC + """Filter by the object’s `creditCode` relation.""" + creditCode: AppLimitCreditCodeFilter + + """Filter by the object’s `defaultLimit` relation.""" + defaultLimit: AppLimitDefaultFilter } -"""A connection to a list of `AppLimitEvent` values.""" -type AppLimitEventConnection { - """A list of `AppLimitEvent` objects.""" - nodes: [AppLimitEvent]! +""" +A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCreditCodeFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `AppLimitEvent` and cursor to aid in pagination. - """ - edges: [AppLimitEventEdge]! + """Filter by the object’s `code` field.""" + code: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `maxRedemptions` field.""" + maxRedemptions: IntFilter - """The count of *all* `AppLimitEvent` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `currentRedemptions` field.""" + currentRedemptions: IntFilter -"""Append-only log of limit events for historical reporting and audit""" -type AppLimitEvent { - """Limit name this event applies to""" - name: String - - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID - - """Entity this event applies to; NULL for app-level events""" - entityId: UUID + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String + """Checks for all expressions in this list.""" + and: [AppLimitCreditCodeFilter!] - """Change amount: positive for increment, negative for decrement""" - delta: BigInt + """Checks for any expressions in this list.""" + or: [AppLimitCreditCodeFilter!] - """Usage count before this event""" - numBefore: BigInt + """Negates the expression.""" + not: AppLimitCreditCodeFilter - """Usage count after this event""" - numAfter: BigInt + """ + Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. + """ + appLimitCreditCodeItemsByCreditCodeId: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + """`appLimitCreditCodeItemsByCreditCodeId` exist.""" + appLimitCreditCodeItemsByCreditCodeIdExist: Boolean """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. + Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. """ - reason: String -} - -"""A `AppLimitEvent` edge in the connection.""" -type AppLimitEventEdge { - """A cursor for use in pagination.""" - cursor: Cursor + appLimitCreditRedemptionsByCreditCodeId: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter - """The `AppLimitEvent` at the end of the edge.""" - node: AppLimitEvent + """`appLimitCreditRedemptionsByCreditCodeId` exist.""" + appLimitCreditRedemptionsByCreditCodeIdExist: Boolean } """ -A filter to be used against `AppLimitEvent` object types. All fields are combined with a logical ‘and.’ +A filter to be used against Int fields. All fields are combined with a logical ‘and.’ """ -input AppLimitEventFilter { - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter +input IntFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Equal to the specified value.""" + equalTo: Int - """Filter by the object’s `eventType` field.""" - eventType: StringFilter + """Not equal to the specified value.""" + notEqualTo: Int - """Filter by the object’s `delta` field.""" - delta: BigIntFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Int - """Filter by the object’s `numBefore` field.""" - numBefore: BigIntFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Int - """Filter by the object’s `numAfter` field.""" - numAfter: BigIntFilter + """Included in the specified list.""" + in: [Int!] - """Filter by the object’s `maxAtEvent` field.""" - maxAtEvent: BigIntFilter + """Not included in the specified list.""" + notIn: [Int!] - """Filter by the object’s `reason` field.""" - reason: StringFilter + """Less than the specified value.""" + lessThan: Int - """Checks for all expressions in this list.""" - and: [AppLimitEventFilter!] + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Int - """Checks for any expressions in this list.""" - or: [AppLimitEventFilter!] + """Greater than the specified value.""" + greaterThan: Int - """Negates the expression.""" - not: AppLimitEventFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Int } -"""Methods to use when ordering `AppLimitEvent`.""" -enum AppLimitEventOrderBy { - NATURAL - NAME_ASC - NAME_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - EVENT_TYPE_ASC - EVENT_TYPE_DESC - DELTA_ASC - DELTA_DESC - NUM_BEFORE_ASC - NUM_BEFORE_DESC - NUM_AFTER_ASC - NUM_AFTER_DESC - MAX_AT_EVENT_ASC - MAX_AT_EVENT_DESC - REASON_ASC - REASON_DESC -} +""" +A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ +""" +input DatetimeFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean -"""A connection to a list of `OrgLimitEvent` values.""" -type OrgLimitEventConnection { - """A list of `OrgLimitEvent` objects.""" - nodes: [OrgLimitEvent]! + """Equal to the specified value.""" + equalTo: Datetime + + """Not equal to the specified value.""" + notEqualTo: Datetime """ - A list of edges which contains the `OrgLimitEvent` and cursor to aid in pagination. + Not equal to the specified value, treating null like an ordinary value. """ - edges: [OrgLimitEventEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! + distinctFrom: Datetime - """The count of *all* `OrgLimitEvent` you could get from the connection.""" - totalCount: Int! -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Datetime -"""Append-only log of limit events for historical reporting and audit""" -type OrgLimitEvent { - """Limit name this event applies to""" - name: String + """Included in the specified list.""" + in: [Datetime!] - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID + """Not included in the specified list.""" + notIn: [Datetime!] - """Entity this event applies to; NULL for app-level events""" - entityId: UUID + """Less than the specified value.""" + lessThan: Datetime - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Datetime - """Change amount: positive for increment, negative for decrement""" - delta: BigInt + """Greater than the specified value.""" + greaterThan: Datetime - """Usage count before this event""" - numBefore: BigInt + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Datetime +} - """Usage count after this event""" - numAfter: BigInt +""" +A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitCreditCodeItemFilter - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + """Filters to entities where every related entity matches.""" + every: AppLimitCreditCodeItemFilter - """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. - """ - reason: String + """Filters to entities where no related entity matches.""" + none: AppLimitCreditCodeItemFilter } -"""A `OrgLimitEvent` edge in the connection.""" -type OrgLimitEventEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitCreditRedemptionFilter - """The `OrgLimitEvent` at the end of the edge.""" - node: OrgLimitEvent + """Filters to entities where every related entity matches.""" + every: AppLimitCreditRedemptionFilter + + """Filters to entities where no related entity matches.""" + none: AppLimitCreditRedemptionFilter } """ -A filter to be used against `OrgLimitEvent` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ """ -input OrgLimitEventFilter { - """Filter by the object’s `name` field.""" - name: StringFilter +input AppLimitCreditRedemptionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Filter by the object’s `creditCodeId` field.""" + creditCodeId: UUIDFilter """Filter by the object’s `entityId` field.""" entityId: UUIDFilter - """Filter by the object’s `eventType` field.""" - eventType: StringFilter - - """Filter by the object’s `delta` field.""" - delta: BigIntFilter - - """Filter by the object’s `numBefore` field.""" - numBefore: BigIntFilter - - """Filter by the object’s `numAfter` field.""" - numAfter: BigIntFilter - - """Filter by the object’s `maxAtEvent` field.""" - maxAtEvent: BigIntFilter - - """Filter by the object’s `reason` field.""" - reason: StringFilter - """Checks for all expressions in this list.""" - and: [OrgLimitEventFilter!] + and: [AppLimitCreditRedemptionFilter!] """Checks for any expressions in this list.""" - or: [OrgLimitEventFilter!] + or: [AppLimitCreditRedemptionFilter!] """Negates the expression.""" - not: OrgLimitEventFilter + not: AppLimitCreditRedemptionFilter + + """Filter by the object’s `creditCode` relation.""" + creditCode: AppLimitCreditCodeFilter } -"""Methods to use when ordering `OrgLimitEvent`.""" -enum OrgLimitEventOrderBy { +"""Methods to use when ordering `AppLimitCredit`.""" +enum AppLimitCreditOrderBy { NATURAL - NAME_ASC - NAME_DESC + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DEFAULT_LIMIT_ID_ASC + DEFAULT_LIMIT_ID_DESC ACTOR_ID_ASC ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - EVENT_TYPE_ASC - EVENT_TYPE_DESC - DELTA_ASC - DELTA_DESC - NUM_BEFORE_ASC - NUM_BEFORE_DESC - NUM_AFTER_ASC - NUM_AFTER_DESC - MAX_AT_EVENT_ASC - MAX_AT_EVENT_DESC + AMOUNT_ASC + AMOUNT_DESC + CREDIT_TYPE_ASC + CREDIT_TYPE_DESC REASON_ASC REASON_DESC } -"""A connection to a list of `OrgGrant` values.""" -type OrgGrantConnection { - """A list of `OrgGrant` objects.""" - nodes: [OrgGrant]! +"""Methods to use when ordering `AppLimitCreditCodeItem`.""" +enum AppLimitCreditCodeItemOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREDIT_CODE_ID_ASC + CREDIT_CODE_ID_DESC + DEFAULT_LIMIT_ID_ASC + DEFAULT_LIMIT_ID_DESC + AMOUNT_ASC + AMOUNT_DESC + CREDIT_TYPE_ASC + CREDIT_TYPE_DESC +} + +"""A `AppLimitCreditCodeItem` edge in the connection.""" +type AppLimitCreditCodeItemEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - A list of edges which contains the `OrgGrant` and cursor to aid in pagination. - """ - edges: [OrgGrantEdge]! + """The `AppLimitCreditCodeItem` at the end of the edge.""" + node: AppLimitCreditCodeItem +} - """Information to aid in pagination.""" - pageInfo: PageInfo! +"""Methods to use when ordering `AppLimitCreditRedemption`.""" +enum AppLimitCreditRedemptionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREDIT_CODE_ID_ASC + CREDIT_CODE_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC +} - """The count of *all* `OrgGrant` you could get from the connection.""" +"""A `AppLimitCreditRedemption` edge in the connection.""" +type AppLimitCreditRedemptionEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppLimitCreditRedemption` at the end of the edge.""" + node: AppLimitCreditRedemption +} + +"""A connection to a list of `OrgMember` values.""" +type OrgMemberConnection { + """A list of `OrgMember` objects.""" + nodes: [OrgMember]! + + """ + A list of edges which contains the `OrgMember` and cursor to aid in pagination. + """ + edges: [OrgMemberEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgMember` you could get from the connection.""" totalCount: Int! } """ -Records of individual permission grants and revocations for members via bitmask +Simplified view of active members in an entity, used for listing who belongs to an org or group """ -type OrgGrant { +type OrgMember { id: UUID! - """Bitmask of permissions being granted or revoked""" - permissions: BitString! - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean! + """Whether this member has admin privileges""" + isAdmin: Boolean! - """The member receiving or losing the permission grant""" + """References the user who is a member""" actorId: UUID! - """The entity (org or group) this permission grant applies to""" + """References the entity (org or group) this member belongs to""" entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime } -"""A `OrgGrant` edge in the connection.""" -type OrgGrantEdge { +"""A `OrgMember` edge in the connection.""" +type OrgMemberEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgGrant` at the end of the edge.""" - node: OrgGrant + """The `OrgMember` at the end of the edge.""" + node: OrgMember } """ -A filter to be used against `OrgGrant` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgMember` object types. All fields are combined with a logical ‘and.’ """ -input OrgGrantFilter { +input OrgMemberFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter - - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Filter by the object’s `isAdmin` field.""" + isAdmin: BooleanFilter """Filter by the object’s `actorId` field.""" actorId: UUIDFilter @@ -2804,1026 +2606,730 @@ input OrgGrantFilter { """Filter by the object’s `entityId` field.""" entityId: UUIDFilter - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - """Checks for all expressions in this list.""" - and: [OrgGrantFilter!] + and: [OrgMemberFilter!] """Checks for any expressions in this list.""" - or: [OrgGrantFilter!] + or: [OrgMemberFilter!] """Negates the expression.""" - not: OrgGrantFilter + not: OrgMemberFilter } -"""Methods to use when ordering `OrgGrant`.""" -enum OrgGrantOrderBy { +""" +A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ +""" +input BooleanFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean + + """Equal to the specified value.""" + equalTo: Boolean + + """Not equal to the specified value.""" + notEqualTo: Boolean + + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Boolean + + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Boolean + + """Included in the specified list.""" + in: [Boolean!] + + """Not included in the specified list.""" + notIn: [Boolean!] + + """Less than the specified value.""" + lessThan: Boolean + + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Boolean + + """Greater than the specified value.""" + greaterThan: Boolean + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Boolean +} + +"""Methods to use when ordering `OrgMember`.""" +enum OrgMemberOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - IS_GRANT_ASC - IS_GRANT_DESC + IS_ADMIN_ASC + IS_ADMIN_DESC ACTOR_ID_ASC ACTOR_ID_DESC ENTITY_ID_ASC ENTITY_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC } -"""A connection to a list of `OrgChartEdge` values.""" -type OrgChartEdgeConnection { - """A list of `OrgChartEdge` objects.""" - nodes: [OrgChartEdge]! +"""A connection to a list of `AppPermissionDefault` values.""" +type AppPermissionDefaultConnection { + """A list of `AppPermissionDefault` objects.""" + nodes: [AppPermissionDefault]! """ - A list of edges which contains the `OrgChartEdge` and cursor to aid in pagination. + A list of edges which contains the `AppPermissionDefault` and cursor to aid in pagination. """ - edges: [OrgChartEdgeEdge]! + edges: [AppPermissionDefaultEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `OrgChartEdge` you could get from the connection.""" + """ + The count of *all* `AppPermissionDefault` you could get from the connection. + """ totalCount: Int! } """ -Organizational chart edges defining parent-child reporting relationships between members within an entity +Stores the default permission bitmask assigned to new members upon joining """ -type OrgChartEdge { +type AppPermissionDefault { id: UUID! - createdAt: Datetime - updatedAt: Datetime - """Organization this hierarchy edge belongs to""" - entityId: UUID! - - """User ID of the subordinate (employee) in this reporting relationship""" - childId: UUID! - - """ - User ID of the manager; NULL indicates a top-level position with no direct report - """ - parentId: UUID - - """Job title or role name for this position in the org chart""" - positionTitle: String - - """Numeric seniority level for this position (higher = more senior)""" - positionLevel: Int + """Default permission bitmask applied to new members""" + permissions: BitString! } -"""A `OrgChartEdge` edge in the connection.""" -type OrgChartEdgeEdge { +"""A `AppPermissionDefault` edge in the connection.""" +type AppPermissionDefaultEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgChartEdge` at the end of the edge.""" - node: OrgChartEdge + """The `AppPermissionDefault` at the end of the edge.""" + node: AppPermissionDefault } """ -A filter to be used against `OrgChartEdge` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppPermissionDefault` object types. All fields are combined with a logical ‘and.’ """ -input OrgChartEdgeFilter { +input AppPermissionDefaultFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter - - """Filter by the object’s `childId` field.""" - childId: UUIDFilter - - """Filter by the object’s `parentId` field.""" - parentId: UUIDFilter - - """Filter by the object’s `positionTitle` field.""" - positionTitle: StringFilter - - """Filter by the object’s `positionLevel` field.""" - positionLevel: IntFilter + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter """Checks for all expressions in this list.""" - and: [OrgChartEdgeFilter!] + and: [AppPermissionDefaultFilter!] """Checks for any expressions in this list.""" - or: [OrgChartEdgeFilter!] + or: [AppPermissionDefaultFilter!] """Negates the expression.""" - not: OrgChartEdgeFilter -} - -"""Methods to use when ordering `OrgChartEdge`.""" -enum OrgChartEdgeOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - CHILD_ID_ASC - CHILD_ID_DESC - PARENT_ID_ASC - PARENT_ID_DESC - POSITION_TITLE_ASC - POSITION_TITLE_DESC - POSITION_LEVEL_ASC - POSITION_LEVEL_DESC + not: AppPermissionDefaultFilter } -"""A connection to a list of `AppLimit` values.""" -type AppLimitConnection { - """A list of `AppLimit` objects.""" - nodes: [AppLimit]! - +""" +A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ +""" +input BitStringFilter { """ - A list of edges which contains the `AppLimit` and cursor to aid in pagination. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - edges: [AppLimitEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `AppLimit` you could get from the connection.""" - totalCount: Int! -} - -"""Tracks per-actor usage counts against configurable maximum limits""" -type AppLimit { - id: UUID! - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" - actorId: UUID! - - """Current usage count for this actor and limit""" - num: BigInt - - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt - - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt - - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime - - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: Interval -} - -""" -An interval of time that has passed where the smallest distinct unit is a second. -""" -type Interval { - """ - A quantity of seconds. This is the only non-integer field, as all the other - fields will dump their overflow into a smaller unit of time. Intervals don’t - have a smaller unit than seconds. - """ - seconds: Float - - """A quantity of minutes.""" - minutes: Int - - """A quantity of hours.""" - hours: Int - - """A quantity of days.""" - days: Int - - """A quantity of months.""" - months: Int - - """A quantity of years.""" - years: Int -} - -"""A `AppLimit` edge in the connection.""" -type AppLimitEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `AppLimit` at the end of the edge.""" - node: AppLimit -} - -""" -A filter to be used against `AppLimit` object types. All fields are combined with a logical ‘and.’ -""" -input AppLimitFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter - - """Filter by the object’s `num` field.""" - num: BigIntFilter - - """Filter by the object’s `max` field.""" - max: BigIntFilter - - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter - - """Filter by the object’s `windowStart` field.""" - windowStart: DatetimeFilter - - """Filter by the object’s `windowDuration` field.""" - windowDuration: IntervalFilter - - """Checks for all expressions in this list.""" - and: [AppLimitFilter!] - - """Checks for any expressions in this list.""" - or: [AppLimitFilter!] - - """Negates the expression.""" - not: AppLimitFilter -} - -""" -A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ -""" -input IntervalFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + isNull: Boolean """Equal to the specified value.""" - equalTo: IntervalInput + equalTo: BitString """Not equal to the specified value.""" - notEqualTo: IntervalInput + notEqualTo: BitString """ Not equal to the specified value, treating null like an ordinary value. """ - distinctFrom: IntervalInput + distinctFrom: BitString """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: IntervalInput + notDistinctFrom: BitString """Included in the specified list.""" - in: [IntervalInput!] + in: [BitString!] """Not included in the specified list.""" - notIn: [IntervalInput!] + notIn: [BitString!] """Less than the specified value.""" - lessThan: IntervalInput + lessThan: BitString """Less than or equal to the specified value.""" - lessThanOrEqualTo: IntervalInput + lessThanOrEqualTo: BitString """Greater than the specified value.""" - greaterThan: IntervalInput + greaterThan: BitString """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: IntervalInput + greaterThanOrEqualTo: BitString } -""" -An interval of time that has passed where the smallest distinct unit is a second. -""" -input IntervalInput { +"""Methods to use when ordering `AppPermissionDefault`.""" +enum AppPermissionDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC +} + +"""A connection to a list of `AppLimitCreditCode` values.""" +type AppLimitCreditCodeConnection { + """A list of `AppLimitCreditCode` objects.""" + nodes: [AppLimitCreditCode]! + """ - A quantity of seconds. This is the only non-integer field, as all the other - fields will dump their overflow into a smaller unit of time. Intervals don’t - have a smaller unit than seconds. + A list of edges which contains the `AppLimitCreditCode` and cursor to aid in pagination. """ - seconds: Float + edges: [AppLimitCreditCodeEdge]! - """A quantity of minutes.""" - minutes: Int - - """A quantity of hours.""" - hours: Int + """Information to aid in pagination.""" + pageInfo: PageInfo! - """A quantity of days.""" - days: Int + """ + The count of *all* `AppLimitCreditCode` you could get from the connection. + """ + totalCount: Int! +} - """A quantity of months.""" - months: Int +"""A `AppLimitCreditCode` edge in the connection.""" +type AppLimitCreditCodeEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """A quantity of years.""" - years: Int + """The `AppLimitCreditCode` at the end of the edge.""" + node: AppLimitCreditCode } -"""Methods to use when ordering `AppLimit`.""" -enum AppLimitOrderBy { +"""Methods to use when ordering `AppLimitCreditCode`.""" +enum AppLimitCreditCodeOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - NAME_ASC - NAME_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NUM_ASC - NUM_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC - WINDOW_START_ASC - WINDOW_START_DESC - WINDOW_DURATION_ASC - WINDOW_DURATION_DESC + CODE_ASC + CODE_DESC + MAX_REDEMPTIONS_ASC + MAX_REDEMPTIONS_DESC + CURRENT_REDEMPTIONS_ASC + CURRENT_REDEMPTIONS_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC } -"""A connection to a list of `OrgLimitAggregate` values.""" -type OrgLimitAggregateConnection { - """A list of `OrgLimitAggregate` objects.""" - nodes: [OrgLimitAggregate]! +"""A connection to a list of `OrgPermissionDefault` values.""" +type OrgPermissionDefaultConnection { + """A list of `OrgPermissionDefault` objects.""" + nodes: [OrgPermissionDefault]! """ - A list of edges which contains the `OrgLimitAggregate` and cursor to aid in pagination. + A list of edges which contains the `OrgPermissionDefault` and cursor to aid in pagination. """ - edges: [OrgLimitAggregateEdge]! + edges: [OrgPermissionDefaultEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! """ - The count of *all* `OrgLimitAggregate` you could get from the connection. + The count of *all* `OrgPermissionDefault` you could get from the connection. """ totalCount: Int! } """ -Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) +Stores the default permission bitmask assigned to new members upon joining """ -type OrgLimitAggregate { +type OrgPermissionDefault { id: UUID! - """Name identifier of the aggregate limit being tracked""" - name: String + """Default permission bitmask applied to new members""" + permissions: BitString! - """Entity (org) whose aggregate usage is being tracked""" + """References the entity these default permissions apply to""" entityId: UUID! - - """Current aggregate usage count for this entity and limit""" - num: BigInt - - """Maximum allowed aggregate usage; negative means unlimited""" - max: BigInt - - """Soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt - - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime - - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: Interval } -"""A `OrgLimitAggregate` edge in the connection.""" -type OrgLimitAggregateEdge { +"""A `OrgPermissionDefault` edge in the connection.""" +type OrgPermissionDefaultEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgLimitAggregate` at the end of the edge.""" - node: OrgLimitAggregate + """The `OrgPermissionDefault` at the end of the edge.""" + node: OrgPermissionDefault } """ -A filter to be used against `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgPermissionDefault` object types. All fields are combined with a logical ‘and.’ """ -input OrgLimitAggregateFilter { +input OrgPermissionDefaultFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter """Filter by the object’s `entityId` field.""" entityId: UUIDFilter - """Filter by the object’s `num` field.""" - num: BigIntFilter - - """Filter by the object’s `max` field.""" - max: BigIntFilter - - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter - - """Filter by the object’s `windowStart` field.""" - windowStart: DatetimeFilter - - """Filter by the object’s `windowDuration` field.""" - windowDuration: IntervalFilter - """Checks for all expressions in this list.""" - and: [OrgLimitAggregateFilter!] + and: [OrgPermissionDefaultFilter!] """Checks for any expressions in this list.""" - or: [OrgLimitAggregateFilter!] + or: [OrgPermissionDefaultFilter!] """Negates the expression.""" - not: OrgLimitAggregateFilter + not: OrgPermissionDefaultFilter } -"""Methods to use when ordering `OrgLimitAggregate`.""" -enum OrgLimitAggregateOrderBy { +"""Methods to use when ordering `OrgPermissionDefault`.""" +enum OrgPermissionDefaultOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - NAME_ASC - NAME_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC ENTITY_ID_ASC ENTITY_ID_DESC - NUM_ASC - NUM_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC - WINDOW_START_ASC - WINDOW_START_DESC - WINDOW_DURATION_ASC - WINDOW_DURATION_DESC -} - -"""A connection to a list of `OrgMemberProfile` values.""" -type OrgMemberProfileConnection { - """A list of `OrgMemberProfile` objects.""" - nodes: [OrgMemberProfile]! - - """ - A list of edges which contains the `OrgMemberProfile` and cursor to aid in pagination. - """ - edges: [OrgMemberProfileEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """ - The count of *all* `OrgMemberProfile` you could get from the connection. - """ - totalCount: Int! } """ -Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) +A filter to be used against `AppPermission` object types. All fields are combined with a logical ‘and.’ """ -type OrgMemberProfile { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - - """References the membership this profile belongs to (1:1)""" - membershipId: UUID! - - """References the entity this profile belongs to (used for RLS lookups)""" - entityId: UUID! +input AppPermissionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """References the user who owns this profile (for self-edit RLS)""" - actorId: UUID! + """Filter by the object’s `name` field.""" + name: StringFilter - """Display name shown to other entity members""" - displayName: String + """Filter by the object’s `bitnum` field.""" + bitnum: IntFilter - """ - Email address visible to other entity members (auto-populated from verified primary email) - """ - email: String + """Filter by the object’s `bitstr` field.""" + bitstr: BitStringFilter - """Job title or role description visible to other entity members""" - title: String + """Filter by the object’s `description` field.""" + description: StringFilter - """Short biography visible to other entity members""" - bio: String + """Checks for all expressions in this list.""" + and: [AppPermissionFilter!] - """Profile picture visible to other entity members""" - profilePicture: ConstructiveInternalTypeImage + """Checks for any expressions in this list.""" + or: [AppPermissionFilter!] - """ - Reads a single `OrgMembership` that is related to this `OrgMemberProfile`. - """ - membership: OrgMembership + """Negates the expression.""" + not: AppPermissionFilter } -scalar ConstructiveInternalTypeImage +"""Methods to use when ordering `AppPermission`.""" +enum AppPermissionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + BITNUM_ASC + BITNUM_DESC + BITSTR_ASC + BITSTR_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC +} """ -Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status +A filter to be used against `OrgPermission` object types. All fields are combined with a logical ‘and.’ """ -type OrgMembership { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID +input OrgPermissionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Whether this membership has been approved by an admin""" - isApproved: Boolean! + """Filter by the object’s `name` field.""" + name: StringFilter - """Whether this member has been banned from the entity""" - isBanned: Boolean! + """Filter by the object’s `bitnum` field.""" + bitnum: IntFilter - """Whether this membership is temporarily disabled""" - isDisabled: Boolean! + """Filter by the object’s `bitstr` field.""" + bitstr: BitStringFilter - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean! + """Filter by the object’s `description` field.""" + description: StringFilter - """ - Whether this member is external (not a member of the parent scope). External members may have restricted permissions. - """ - isExternal: Boolean! + """Checks for all expressions in this list.""" + and: [OrgPermissionFilter!] - """Whether the actor is the owner of this entity""" - isOwner: Boolean! + """Checks for any expressions in this list.""" + or: [OrgPermissionFilter!] - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean! + """Negates the expression.""" + not: OrgPermissionFilter +} - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString! +"""Methods to use when ordering `OrgPermission`.""" +enum OrgPermissionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + BITNUM_ASC + BITNUM_DESC + BITSTR_ASC + BITSTR_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC +} + +"""A connection to a list of `AppAdminGrant` values.""" +type AppAdminGrantConnection { + """A list of `AppAdminGrant` objects.""" + nodes: [AppAdminGrant]! """ - Bitmask of permissions directly granted to this member (not from profiles) + A list of edges which contains the `AppAdminGrant` and cursor to aid in pagination. """ - granted: BitString! + edges: [AppAdminGrantEdge]! - """References the user who holds this membership""" - actorId: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """References the entity (org or group) this membership belongs to""" - entityId: UUID! + """The count of *all* `AppAdminGrant` you could get from the connection.""" + totalCount: Int! +} - """Whether this member has read-only access (blocks mutations when true)""" - isReadOnly: Boolean! - profileId: UUID +"""Records of admin role grants and revocations between members""" +type AppAdminGrant { + id: UUID! - """ - Reads a single `OrgMemberProfile` that is related to this `OrgMembership`. - """ - orgMemberProfileByMembershipId: OrgMemberProfile + """True to grant admin, false to revoke admin""" + isGrant: Boolean! + + """The member receiving or losing the admin grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime } -"""A `OrgMemberProfile` edge in the connection.""" -type OrgMemberProfileEdge { +"""A `AppAdminGrant` edge in the connection.""" +type AppAdminGrantEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgMemberProfile` at the end of the edge.""" - node: OrgMemberProfile + """The `AppAdminGrant` at the end of the edge.""" + node: AppAdminGrant } """ -A filter to be used against `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppAdminGrant` object types. All fields are combined with a logical ‘and.’ """ -input OrgMemberProfileFilter { +input AppAdminGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter + + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter + + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter + """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter """Filter by the object’s `updatedAt` field.""" updatedAt: DatetimeFilter - """Filter by the object’s `membershipId` field.""" - membershipId: UUIDFilter + """Checks for all expressions in this list.""" + and: [AppAdminGrantFilter!] - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Checks for any expressions in this list.""" + or: [AppAdminGrantFilter!] - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Negates the expression.""" + not: AppAdminGrantFilter +} - """Filter by the object’s `displayName` field.""" - displayName: StringFilter - - """Filter by the object’s `email` field.""" - email: StringFilter - - """Filter by the object’s `title` field.""" - title: StringFilter - - """Filter by the object’s `bio` field.""" - bio: StringFilter - - """Filter by the object’s `profilePicture` field.""" - profilePicture: ConstructiveInternalTypeImageFilter - - """Checks for all expressions in this list.""" - and: [OrgMemberProfileFilter!] - - """Checks for any expressions in this list.""" - or: [OrgMemberProfileFilter!] - - """Negates the expression.""" - not: OrgMemberProfileFilter - - """Filter by the object’s `membership` relation.""" - membership: OrgMembershipFilter +"""Methods to use when ordering `AppAdminGrant`.""" +enum AppAdminGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -""" -A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeImageFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeImage - - """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeImage +"""A connection to a list of `AppOwnerGrant` values.""" +type AppOwnerGrantConnection { + """A list of `AppOwnerGrant` objects.""" + nodes: [AppOwnerGrant]! """ - Not equal to the specified value, treating null like an ordinary value. + A list of edges which contains the `AppOwnerGrant` and cursor to aid in pagination. """ - distinctFrom: ConstructiveInternalTypeImage - - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeImage - - """Included in the specified list.""" - in: [ConstructiveInternalTypeImage!] - - """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeImage!] - - """Less than the specified value.""" - lessThan: ConstructiveInternalTypeImage - - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeImage + edges: [AppOwnerGrantEdge]! - """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeImage + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeImage + """The count of *all* `AppOwnerGrant` you could get from the connection.""" + totalCount: Int! +} - """Contains the specified JSON.""" - contains: ConstructiveInternalTypeImage +"""Records of ownership transfers and grants between members""" +type AppOwnerGrant { + id: UUID! - """Contains the specified key.""" - containsKey: String + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean! - """Contains all of the specified keys.""" - containsAllKeys: [String!] + """The member receiving or losing the ownership grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """Contains any of the specified keys.""" - containsAnyKeys: [String!] +"""A `AppOwnerGrant` edge in the connection.""" +type AppOwnerGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Contained by the specified JSON.""" - containedBy: ConstructiveInternalTypeImage + """The `AppOwnerGrant` at the end of the edge.""" + node: AppOwnerGrant } """ -A filter to be used against `OrgMembership` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppOwnerGrant` object types. All fields are combined with a logical ‘and.’ """ -input OrgMembershipFilter { +input AppOwnerGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter - - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter - - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter - - """Filter by the object’s `isBanned` field.""" - isBanned: BooleanFilter - - """Filter by the object’s `isDisabled` field.""" - isDisabled: BooleanFilter - - """Filter by the object’s `isActive` field.""" - isActive: BooleanFilter - - """Filter by the object’s `isExternal` field.""" - isExternal: BooleanFilter - - """Filter by the object’s `isOwner` field.""" - isOwner: BooleanFilter - - """Filter by the object’s `isAdmin` field.""" - isAdmin: BooleanFilter - - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter - - """Filter by the object’s `granted` field.""" - granted: BitStringFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter """Filter by the object’s `actorId` field.""" actorId: UUIDFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `isReadOnly` field.""" - isReadOnly: BooleanFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [OrgMembershipFilter!] + and: [AppOwnerGrantFilter!] """Checks for any expressions in this list.""" - or: [OrgMembershipFilter!] + or: [AppOwnerGrantFilter!] """Negates the expression.""" - not: OrgMembershipFilter - - """Filter by the object’s `orgMemberProfileByMembershipId` relation.""" - orgMemberProfileByMembershipId: OrgMemberProfileFilter - - """A related `orgMemberProfileByMembershipId` exists.""" - orgMemberProfileByMembershipIdExists: Boolean + not: AppOwnerGrantFilter } -"""Methods to use when ordering `OrgMemberProfile`.""" -enum OrgMemberProfileOrderBy { +"""Methods to use when ordering `AppOwnerGrant`.""" +enum AppOwnerGrantOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC - MEMBERSHIP_ID_ASC - MEMBERSHIP_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC - EMAIL_ASC - EMAIL_DESC - TITLE_ASC - TITLE_DESC - BIO_ASC - BIO_DESC - PROFILE_PICTURE_ASC - PROFILE_PICTURE_DESC } -"""A connection to a list of `OrgLimit` values.""" -type OrgLimitConnection { - """A list of `OrgLimit` objects.""" - nodes: [OrgLimit]! +"""A connection to a list of `AppAchievement` values.""" +type AppAchievementConnection { + """A list of `AppAchievement` objects.""" + nodes: [AppAchievement]! """ - A list of edges which contains the `OrgLimit` and cursor to aid in pagination. + A list of edges which contains the `AppAchievement` and cursor to aid in pagination. """ - edges: [OrgLimitEdge]! + edges: [AppAchievementEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `OrgLimit` you could get from the connection.""" + """The count of *all* `AppAchievement` you could get from the connection.""" totalCount: Int! } -"""Tracks per-actor usage counts against configurable maximum limits""" -type OrgLimit { +""" +Aggregated user progress for level requirements, tallying the total count; updated via triggers and should not be modified manually +""" +type AppAchievement { id: UUID! - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" actorId: UUID! - """Current usage count for this actor and limit""" - num: BigInt + """Name identifier of the level requirement being tracked""" + name: String! - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt + """Cumulative count of completed steps toward this requirement""" + count: Int! + createdAt: Datetime + updatedAt: Datetime +} - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt +"""A `AppAchievement` edge in the connection.""" +type AppAchievementEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime - - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: Interval - entityId: UUID! -} - -"""A `OrgLimit` edge in the connection.""" -type OrgLimitEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `OrgLimit` at the end of the edge.""" - node: OrgLimit + """The `AppAchievement` at the end of the edge.""" + node: AppAchievement } """ -A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppAchievement` object types. All fields are combined with a logical ‘and.’ """ -input OrgLimitFilter { +input AppAchievementFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `name` field.""" - name: StringFilter - """Filter by the object’s `actorId` field.""" actorId: UUIDFilter - """Filter by the object’s `num` field.""" - num: BigIntFilter - - """Filter by the object’s `max` field.""" - max: BigIntFilter - - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `windowStart` field.""" - windowStart: DatetimeFilter + """Filter by the object’s `count` field.""" + count: IntFilter - """Filter by the object’s `windowDuration` field.""" - windowDuration: IntervalFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [OrgLimitFilter!] + and: [AppAchievementFilter!] """Checks for any expressions in this list.""" - or: [OrgLimitFilter!] + or: [AppAchievementFilter!] """Negates the expression.""" - not: OrgLimitFilter + not: AppAchievementFilter } -"""Methods to use when ordering `OrgLimit`.""" -enum OrgLimitOrderBy { +"""Methods to use when ordering `AppAchievement`.""" +enum AppAchievementOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - NAME_ASC - NAME_DESC ACTOR_ID_ASC ACTOR_ID_DESC - NUM_ASC - NUM_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC - WINDOW_START_ASC - WINDOW_START_DESC - WINDOW_DURATION_ASC - WINDOW_DURATION_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC + NAME_ASC + NAME_DESC + COUNT_ASC + COUNT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `AppLevel` values.""" -type AppLevelConnection { - """A list of `AppLevel` objects.""" - nodes: [AppLevel]! +"""A connection to a list of `AppStep` values.""" +type AppStepConnection { + """A list of `AppStep` objects.""" + nodes: [AppStep]! """ - A list of edges which contains the `AppLevel` and cursor to aid in pagination. + A list of edges which contains the `AppStep` and cursor to aid in pagination. """ - edges: [AppLevelEdge]! + edges: [AppStepEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `AppLevel` you could get from the connection.""" + """The count of *all* `AppStep` you could get from the connection.""" totalCount: Int! } """ -Defines available levels that users can achieve by completing requirements +Log of individual user actions toward level requirements; every single step ever taken is recorded here """ -type AppLevel { +type AppStep { id: UUID! + actorId: UUID! - """Unique name of the level""" + """Name identifier of the level requirement this step fulfills""" name: String! - """Human-readable description of what this level represents""" - description: String - - """Badge or icon image associated with this level""" - image: ConstructiveInternalTypeImage - - """Optional owner (actor) who created or manages this level""" - ownerId: UUID + """Number of units completed in this step action""" + count: Int! createdAt: Datetime updatedAt: Datetime } -"""A `AppLevel` edge in the connection.""" -type AppLevelEdge { +"""A `AppStep` edge in the connection.""" +type AppStepEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppLevel` at the end of the edge.""" - node: AppLevel + """The `AppStep` at the end of the edge.""" + node: AppStep } """ -A filter to be used against `AppLevel` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppStep` object types. All fields are combined with a logical ‘and.’ """ -input AppLevelFilter { +input AppStepFilter { """Filter by the object’s `id` field.""" id: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter + """Filter by the object’s `name` field.""" name: StringFilter - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `image` field.""" - image: ConstructiveInternalTypeImageFilter - - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Filter by the object’s `count` field.""" + count: IntFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -3832,598 +3338,522 @@ input AppLevelFilter { updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [AppLevelFilter!] + and: [AppStepFilter!] """Checks for any expressions in this list.""" - or: [AppLevelFilter!] + or: [AppStepFilter!] """Negates the expression.""" - not: AppLevelFilter + not: AppStepFilter } -"""Methods to use when ordering `AppLevel`.""" -enum AppLevelOrderBy { +"""Methods to use when ordering `AppStep`.""" +enum AppStepOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC NAME_ASC NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - IMAGE_ASC - IMAGE_DESC - OWNER_ID_ASC - OWNER_ID_DESC + COUNT_ASC + COUNT_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC } -"""A connection to a list of `AppInvite` values.""" -type AppInviteConnection { - """A list of `AppInvite` objects.""" - nodes: [AppInvite]! +"""A connection to a list of `AppLimitCapsDefault` values.""" +type AppLimitCapsDefaultConnection { + """A list of `AppLimitCapsDefault` objects.""" + nodes: [AppLimitCapsDefault]! """ - A list of edges which contains the `AppInvite` and cursor to aid in pagination. + A list of edges which contains the `AppLimitCapsDefault` and cursor to aid in pagination. """ - edges: [AppInviteEdge]! + edges: [AppLimitCapsDefaultEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `AppInvite` you could get from the connection.""" + """ + The count of *all* `AppLimitCapsDefault` you could get from the connection. + """ totalCount: Int! } """ -Invitation records sent to prospective members via email, with token-based redemption and expiration +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. """ -type AppInvite { +type AppLimitCapsDefault { id: UUID! - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String! - """User ID of the member who sent this invitation""" - senderId: UUID! + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt! +} - """Unique random hex token used to redeem this invitation""" - inviteToken: String! +"""A `AppLimitCapsDefault` edge in the connection.""" +type AppLimitCapsDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean! + """The `AppLimitCapsDefault` at the end of the edge.""" + node: AppLimitCapsDefault +} - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int! +""" +A filter to be used against `AppLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCapsDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Running count of how many times this invite has been claimed""" - inviteCount: Int! + """Filter by the object’s `name` field.""" + name: StringFilter - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean! + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Optional JSON payload of additional invite metadata""" - data: JSON + """Checks for all expressions in this list.""" + and: [AppLimitCapsDefaultFilter!] + + """Checks for any expressions in this list.""" + or: [AppLimitCapsDefaultFilter!] + + """Negates the expression.""" + not: AppLimitCapsDefaultFilter +} + +"""Methods to use when ordering `AppLimitCapsDefault`.""" +enum AppLimitCapsDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC +} + +"""A connection to a list of `OrgLimitCapsDefault` values.""" +type OrgLimitCapsDefaultConnection { + """A list of `OrgLimitCapsDefault` objects.""" + nodes: [OrgLimitCapsDefault]! """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + A list of edges which contains the `OrgLimitCapsDefault` and cursor to aid in pagination. """ - profileId: UUID + edges: [OrgLimitCapsDefaultEdge]! - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime! - createdAt: Datetime - updatedAt: Datetime + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """ + The count of *all* `OrgLimitCapsDefault` you could get from the connection. + """ + totalCount: Int! } -scalar ConstructiveInternalTypeEmail +""" +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. +""" +type OrgLimitCapsDefault { + id: UUID! -"""A `AppInvite` edge in the connection.""" -type AppInviteEdge { + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String! + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt! +} + +"""A `OrgLimitCapsDefault` edge in the connection.""" +type OrgLimitCapsDefaultEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppInvite` at the end of the edge.""" - node: AppInvite + """The `OrgLimitCapsDefault` at the end of the edge.""" + node: OrgLimitCapsDefault } """ -A filter to be used against `AppInvite` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ """ -input AppInviteFilter { +input OrgLimitCapsDefaultFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `email` field.""" - email: ConstructiveInternalTypeEmailFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter - - """Filter by the object’s `inviteToken` field.""" - inviteToken: StringFilter - - """Filter by the object’s `inviteValid` field.""" - inviteValid: BooleanFilter - - """Filter by the object’s `inviteLimit` field.""" - inviteLimit: IntFilter - - """Filter by the object’s `inviteCount` field.""" - inviteCount: IntFilter - - """Filter by the object’s `multiple` field.""" - multiple: BooleanFilter - - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter - - """Filter by the object’s `expiresAt` field.""" - expiresAt: DatetimeFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `max` field.""" + max: BigIntFilter """Checks for all expressions in this list.""" - and: [AppInviteFilter!] + and: [OrgLimitCapsDefaultFilter!] """Checks for any expressions in this list.""" - or: [AppInviteFilter!] + or: [OrgLimitCapsDefaultFilter!] """Negates the expression.""" - not: AppInviteFilter + not: OrgLimitCapsDefaultFilter } -""" -A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeEmailFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: String +"""Methods to use when ordering `OrgLimitCapsDefault`.""" +enum OrgLimitCapsDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC +} - """Not equal to the specified value.""" - notEqualTo: String +"""A connection to a list of `AppLimitCap` values.""" +type AppLimitCapConnection { + """A list of `AppLimitCap` objects.""" + nodes: [AppLimitCap]! """ - Not equal to the specified value, treating null like an ordinary value. + A list of edges which contains the `AppLimitCap` and cursor to aid in pagination. """ - distinctFrom: String - - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: String + edges: [AppLimitCapEdge]! - """Included in the specified list.""" - in: [String!] - - """Not included in the specified list.""" - notIn: [String!] + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Less than the specified value.""" - lessThan: String + """The count of *all* `AppLimitCap` you could get from the connection.""" + totalCount: Int! +} - """Less than or equal to the specified value.""" - lessThanOrEqualTo: String +""" +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. +""" +type AppLimitCap { + id: UUID! - """Greater than the specified value.""" - greaterThan: String + """Name identifier of the cap being overridden""" + name: String! - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: String + """Entity this cap override applies to""" + entityId: UUID! - """Contains the specified string (case-sensitive).""" - includes: String + """Override cap value for this entity""" + max: BigInt! +} - """Does not contain the specified string (case-sensitive).""" - notIncludes: String +"""A `AppLimitCap` edge in the connection.""" +type AppLimitCapEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeEmail + """The `AppLimitCap` at the end of the edge.""" + node: AppLimitCap +} - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeEmail +""" +A filter to be used against `AppLimitCap` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCapFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Starts with the specified string (case-sensitive).""" - startsWith: String + """Filter by the object’s `name` field.""" + name: StringFilter - """Does not start with the specified string (case-sensitive).""" - notStartsWith: String + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeEmail + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeEmail + """Checks for all expressions in this list.""" + and: [AppLimitCapFilter!] - """Ends with the specified string (case-sensitive).""" - endsWith: String + """Checks for any expressions in this list.""" + or: [AppLimitCapFilter!] - """Does not end with the specified string (case-sensitive).""" - notEndsWith: String + """Negates the expression.""" + not: AppLimitCapFilter +} - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeEmail +"""Methods to use when ordering `AppLimitCap`.""" +enum AppLimitCapOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + MAX_ASC + MAX_DESC +} - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeEmail +"""A connection to a list of `OrgLimitCap` values.""" +type OrgLimitCapConnection { + """A list of `OrgLimitCap` objects.""" + nodes: [OrgLimitCap]! """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + A list of edges which contains the `OrgLimitCap` and cursor to aid in pagination. """ - like: String + edges: [OrgLimitCapEdge]! - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: ConstructiveInternalTypeEmail + """The count of *all* `OrgLimitCap` you could get from the connection.""" + totalCount: Int! +} - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: ConstructiveInternalTypeEmail +""" +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. +""" +type OrgLimitCap { + id: UUID! - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: ConstructiveInternalTypeEmail + """Name identifier of the cap being overridden""" + name: String! - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: ConstructiveInternalTypeEmail + """Entity this cap override applies to""" + entityId: UUID! - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: ConstructiveInternalTypeEmail + """Override cap value for this entity""" + max: BigInt! +} - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: ConstructiveInternalTypeEmail +"""A `OrgLimitCap` edge in the connection.""" +type OrgLimitCapEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Included in the specified list (case-insensitive).""" - inInsensitive: [ConstructiveInternalTypeEmail!] + """The `OrgLimitCap` at the end of the edge.""" + node: OrgLimitCap +} - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [ConstructiveInternalTypeEmail!] +""" +A filter to be used against `OrgLimitCap` object types. All fields are combined with a logical ‘and.’ +""" +input OrgLimitCapFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: ConstructiveInternalTypeEmail + """Filter by the object’s `name` field.""" + name: StringFilter - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: ConstructiveInternalTypeEmail + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: ConstructiveInternalTypeEmail + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: ConstructiveInternalTypeEmail + """Checks for all expressions in this list.""" + and: [OrgLimitCapFilter!] + + """Checks for any expressions in this list.""" + or: [OrgLimitCapFilter!] + + """Negates the expression.""" + not: OrgLimitCapFilter } -"""Methods to use when ordering `AppInvite`.""" -enum AppInviteOrderBy { +"""Methods to use when ordering `OrgLimitCap`.""" +enum OrgLimitCapOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - EMAIL_ASC - EMAIL_DESC - SENDER_ID_ASC - SENDER_ID_DESC - INVITE_TOKEN_ASC - INVITE_TOKEN_DESC - INVITE_VALID_ASC - INVITE_VALID_DESC - INVITE_LIMIT_ASC - INVITE_LIMIT_DESC - INVITE_COUNT_ASC - INVITE_COUNT_DESC - MULTIPLE_ASC - MULTIPLE_DESC - DATA_ASC - DATA_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC - EXPIRES_AT_ASC - EXPIRES_AT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + NAME_ASC + NAME_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + MAX_ASC + MAX_DESC } -"""A connection to a list of `OrgMembershipSetting` values.""" -type OrgMembershipSettingConnection { - """A list of `OrgMembershipSetting` objects.""" - nodes: [OrgMembershipSetting]! +"""A connection to a list of `OrgAdminGrant` values.""" +type OrgAdminGrantConnection { + """A list of `OrgAdminGrant` objects.""" + nodes: [OrgAdminGrant]! """ - A list of edges which contains the `OrgMembershipSetting` and cursor to aid in pagination. + A list of edges which contains the `OrgAdminGrant` and cursor to aid in pagination. """ - edges: [OrgMembershipSettingEdge]! + edges: [OrgAdminGrantEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `OrgMembershipSetting` you could get from the connection. - """ + """The count of *all* `OrgAdminGrant` you could get from the connection.""" totalCount: Int! } -"""Per-entity settings for the memberships module""" -type OrgMembershipSetting { +"""Records of admin role grants and revocations between members""" +type OrgAdminGrant { id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - """References the entity these settings apply to""" - entityId: UUID! - - """ - When a member is deleted, whether to cascade-remove their descendant-entity memberships - """ - deleteMemberCascadeChildren: Boolean! - - """ - When a child entity is created, whether to auto-add existing org-level owners as child-entity owners - """ - createChildCascadeOwners: Boolean! - - """ - When a child entity is created, whether to auto-add existing org-level admins as child-entity admins - """ - createChildCascadeAdmins: Boolean! - - """ - When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members - """ - createChildCascadeMembers: Boolean! - - """ - Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) - """ - allowExternalMembers: Boolean! - - """ - Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) - """ - inviteProfileAssignmentMode: String! + """True to grant admin, false to revoke admin""" + isGrant: Boolean! - """ - Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. - """ - populateMemberEmail: Boolean! + """The member receiving or losing the admin grant""" + actorId: UUID! - """ - Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) - """ - limitAllocationMode: String! + """The entity (org or group) this admin grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime } -"""A `OrgMembershipSetting` edge in the connection.""" -type OrgMembershipSettingEdge { +"""A `OrgAdminGrant` edge in the connection.""" +type OrgAdminGrantEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgMembershipSetting` at the end of the edge.""" - node: OrgMembershipSetting + """The `OrgAdminGrant` at the end of the edge.""" + node: OrgAdminGrant } """ -A filter to be used against `OrgMembershipSetting` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ """ -input OrgMembershipSettingFilter { +input OrgAdminGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter """Filter by the object’s `entityId` field.""" entityId: UUIDFilter - """Filter by the object’s `deleteMemberCascadeChildren` field.""" - deleteMemberCascadeChildren: BooleanFilter - - """Filter by the object’s `createChildCascadeOwners` field.""" - createChildCascadeOwners: BooleanFilter - - """Filter by the object’s `createChildCascadeAdmins` field.""" - createChildCascadeAdmins: BooleanFilter - - """Filter by the object’s `createChildCascadeMembers` field.""" - createChildCascadeMembers: BooleanFilter - - """Filter by the object’s `allowExternalMembers` field.""" - allowExternalMembers: BooleanFilter - - """Filter by the object’s `inviteProfileAssignmentMode` field.""" - inviteProfileAssignmentMode: StringFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `populateMemberEmail` field.""" - populateMemberEmail: BooleanFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `limitAllocationMode` field.""" - limitAllocationMode: StringFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [OrgMembershipSettingFilter!] + and: [OrgAdminGrantFilter!] """Checks for any expressions in this list.""" - or: [OrgMembershipSettingFilter!] + or: [OrgAdminGrantFilter!] """Negates the expression.""" - not: OrgMembershipSettingFilter + not: OrgAdminGrantFilter } -"""Methods to use when ordering `OrgMembershipSetting`.""" -enum OrgMembershipSettingOrderBy { +"""Methods to use when ordering `OrgAdminGrant`.""" +enum OrgAdminGrantOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - DELETE_MEMBER_CASCADE_CHILDREN_ASC - DELETE_MEMBER_CASCADE_CHILDREN_DESC - CREATE_CHILD_CASCADE_OWNERS_ASC - CREATE_CHILD_CASCADE_OWNERS_DESC - CREATE_CHILD_CASCADE_ADMINS_ASC - CREATE_CHILD_CASCADE_ADMINS_DESC - CREATE_CHILD_CASCADE_MEMBERS_ASC - CREATE_CHILD_CASCADE_MEMBERS_DESC - ALLOW_EXTERNAL_MEMBERS_ASC - ALLOW_EXTERNAL_MEMBERS_DESC - INVITE_PROFILE_ASSIGNMENT_MODE_ASC - INVITE_PROFILE_ASSIGNMENT_MODE_DESC - POPULATE_MEMBER_EMAIL_ASC - POPULATE_MEMBER_EMAIL_DESC - LIMIT_ALLOCATION_MODE_ASC - LIMIT_ALLOCATION_MODE_DESC } -"""A connection to a list of `OrgInvite` values.""" -type OrgInviteConnection { - """A list of `OrgInvite` objects.""" - nodes: [OrgInvite]! +"""A connection to a list of `OrgOwnerGrant` values.""" +type OrgOwnerGrantConnection { + """A list of `OrgOwnerGrant` objects.""" + nodes: [OrgOwnerGrant]! """ - A list of edges which contains the `OrgInvite` and cursor to aid in pagination. + A list of edges which contains the `OrgOwnerGrant` and cursor to aid in pagination. """ - edges: [OrgInviteEdge]! + edges: [OrgOwnerGrantEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `OrgInvite` you could get from the connection.""" + """The count of *all* `OrgOwnerGrant` you could get from the connection.""" totalCount: Int! } -""" -Invitation records sent to prospective members via email, with token-based redemption and expiration -""" -type OrgInvite { +"""Records of ownership transfers and grants between members""" +type OrgOwnerGrant { id: UUID! - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail - - """User ID of the member who sent this invitation""" - senderId: UUID! - - """User ID of the intended recipient, if targeting a specific user""" - receiverId: UUID - - """Unique random hex token used to redeem this invitation""" - inviteToken: String! - - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean! - - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int! - - """Running count of how many times this invite has been claimed""" - inviteCount: Int! - - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean! - - """Optional JSON payload of additional invite metadata""" - data: JSON + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean! - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """The member receiving or losing the ownership grant""" + actorId: UUID! - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime! + """The entity (org or group) this ownership grant applies to""" + entityId: UUID! + grantorId: UUID createdAt: Datetime updatedAt: Datetime - entityId: UUID! } -"""A `OrgInvite` edge in the connection.""" -type OrgInviteEdge { +"""A `OrgOwnerGrant` edge in the connection.""" +type OrgOwnerGrantEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgInvite` at the end of the edge.""" - node: OrgInvite + """The `OrgOwnerGrant` at the end of the edge.""" + node: OrgOwnerGrant } """ -A filter to be used against `OrgInvite` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgOwnerGrant` object types. All fields are combined with a logical ‘and.’ """ -input OrgInviteFilter { +input OrgOwnerGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `email` field.""" - email: ConstructiveInternalTypeEmailFilter - - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter - - """Filter by the object’s `receiverId` field.""" - receiverId: UUIDFilter - - """Filter by the object’s `inviteToken` field.""" - inviteToken: StringFilter - - """Filter by the object’s `inviteValid` field.""" - inviteValid: BooleanFilter - - """Filter by the object’s `inviteLimit` field.""" - inviteLimit: IntFilter - - """Filter by the object’s `inviteCount` field.""" - inviteCount: IntFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `multiple` field.""" - multiple: BooleanFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `expiresAt` field.""" - expiresAt: DatetimeFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -4431,1373 +3861,1053 @@ input OrgInviteFilter { """Filter by the object’s `updatedAt` field.""" updatedAt: DatetimeFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter - """Checks for all expressions in this list.""" - and: [OrgInviteFilter!] + and: [OrgOwnerGrantFilter!] """Checks for any expressions in this list.""" - or: [OrgInviteFilter!] + or: [OrgOwnerGrantFilter!] """Negates the expression.""" - not: OrgInviteFilter + not: OrgOwnerGrantFilter } -"""Methods to use when ordering `OrgInvite`.""" -enum OrgInviteOrderBy { +"""Methods to use when ordering `OrgOwnerGrant`.""" +enum OrgOwnerGrantOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - EMAIL_ASC - EMAIL_DESC - SENDER_ID_ASC - SENDER_ID_DESC - RECEIVER_ID_ASC - RECEIVER_ID_DESC - INVITE_TOKEN_ASC - INVITE_TOKEN_DESC - INVITE_VALID_ASC - INVITE_VALID_DESC - INVITE_LIMIT_ASC - INVITE_LIMIT_DESC - INVITE_COUNT_ASC - INVITE_COUNT_DESC - MULTIPLE_ASC - MULTIPLE_DESC - DATA_ASC - DATA_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC - EXPIRES_AT_ASC - EXPIRES_AT_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC } -"""A connection to a list of `AppMembership` values.""" -type AppMembershipConnection { - """A list of `AppMembership` objects.""" - nodes: [AppMembership]! +"""A connection to a list of `MembershipType` values.""" +type MembershipTypeConnection { + """A list of `MembershipType` objects.""" + nodes: [MembershipType]! """ - A list of edges which contains the `AppMembership` and cursor to aid in pagination. + A list of edges which contains the `MembershipType` and cursor to aid in pagination. """ - edges: [AppMembershipEdge]! + edges: [MembershipTypeEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `AppMembership` you could get from the connection.""" + """The count of *all* `MembershipType` you could get from the connection.""" totalCount: Int! } """ -Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status +Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) """ -type AppMembership { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - - """Whether this membership has been approved by an admin""" - isApproved: Boolean! - - """Whether this member has been banned from the entity""" - isBanned: Boolean! - - """Whether this membership is temporarily disabled""" - isDisabled: Boolean! - - """Whether this member has been verified (e.g. email confirmation)""" - isVerified: Boolean! - +type MembershipType { """ - Computed field indicating the membership is approved, verified, not banned, and not disabled + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) """ - isActive: Boolean! + id: Int! - """Whether the actor is the owner of this entity""" - isOwner: Boolean! + """Human-readable name of the membership type""" + name: String! - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean! + """Description of what this membership type represents""" + description: String! """ - Aggregated permission bitmask combining profile-based and directly granted permissions + Short prefix used to namespace tables and functions for this membership scope """ - permissions: BitString! + prefix: String! """ - Bitmask of permissions directly granted to this member (not from profiles) + Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) """ - granted: BitString! + parentMembershipType: Int - """References the user who holds this membership""" - actorId: UUID! - profileId: UUID + """ + When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs + """ + hasUsersTableEntry: Boolean! } -"""A `AppMembership` edge in the connection.""" -type AppMembershipEdge { +"""A `MembershipType` edge in the connection.""" +type MembershipTypeEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppMembership` at the end of the edge.""" - node: AppMembership + """The `MembershipType` at the end of the edge.""" + node: MembershipType } """ -A filter to be used against `AppMembership` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `MembershipType` object types. All fields are combined with a logical ‘and.’ """ -input AppMembershipFilter { +input MembershipTypeFilter { """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter - - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter - - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter - - """Filter by the object’s `isBanned` field.""" - isBanned: BooleanFilter - - """Filter by the object’s `isDisabled` field.""" - isDisabled: BooleanFilter - - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter - - """Filter by the object’s `isActive` field.""" - isActive: BooleanFilter - - """Filter by the object’s `isOwner` field.""" - isOwner: BooleanFilter + id: IntFilter - """Filter by the object’s `isAdmin` field.""" - isAdmin: BooleanFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Filter by the object’s `description` field.""" + description: StringFilter - """Filter by the object’s `granted` field.""" - granted: BitStringFilter + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Filter by the object’s `parentMembershipType` field.""" + parentMembershipType: IntFilter - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter + """Filter by the object’s `hasUsersTableEntry` field.""" + hasUsersTableEntry: BooleanFilter """Checks for all expressions in this list.""" - and: [AppMembershipFilter!] + and: [MembershipTypeFilter!] """Checks for any expressions in this list.""" - or: [AppMembershipFilter!] + or: [MembershipTypeFilter!] """Negates the expression.""" - not: AppMembershipFilter + not: MembershipTypeFilter } -"""Methods to use when ordering `AppMembership`.""" -enum AppMembershipOrderBy { +"""Methods to use when ordering `MembershipType`.""" +enum MembershipTypeOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - IS_BANNED_ASC - IS_BANNED_DESC - IS_DISABLED_ASC - IS_DISABLED_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC - IS_ACTIVE_ASC - IS_ACTIVE_DESC - IS_OWNER_ASC - IS_OWNER_DESC - IS_ADMIN_ASC - IS_ADMIN_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - GRANTED_ASC - GRANTED_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC + NAME_ASC + NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + PREFIX_ASC + PREFIX_DESC + PARENT_MEMBERSHIP_TYPE_ASC + PARENT_MEMBERSHIP_TYPE_DESC + HAS_USERS_TABLE_ENTRY_ASC + HAS_USERS_TABLE_ENTRY_DESC } -"""A connection to a list of `OrgMembership` values.""" -type OrgMembershipConnection { - """A list of `OrgMembership` objects.""" - nodes: [OrgMembership]! +"""A connection to a list of `AppLimitDefault` values.""" +type AppLimitDefaultConnection { + """A list of `AppLimitDefault` objects.""" + nodes: [AppLimitDefault]! """ - A list of edges which contains the `OrgMembership` and cursor to aid in pagination. + A list of edges which contains the `AppLimitDefault` and cursor to aid in pagination. """ - edges: [OrgMembershipEdge]! + edges: [AppLimitDefaultEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `OrgMembership` you could get from the connection.""" + """ + The count of *all* `AppLimitDefault` you could get from the connection. + """ totalCount: Int! } -"""A `OrgMembership` edge in the connection.""" -type OrgMembershipEdge { +"""A `AppLimitDefault` edge in the connection.""" +type AppLimitDefaultEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgMembership` at the end of the edge.""" - node: OrgMembership + """The `AppLimitDefault` at the end of the edge.""" + node: AppLimitDefault } -"""Methods to use when ordering `OrgMembership`.""" -enum OrgMembershipOrderBy { +"""Methods to use when ordering `AppLimitDefault`.""" +enum AppLimitDefaultOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - IS_BANNED_ASC - IS_BANNED_DESC - IS_DISABLED_ASC - IS_DISABLED_DESC - IS_ACTIVE_ASC - IS_ACTIVE_DESC - IS_EXTERNAL_ASC - IS_EXTERNAL_DESC - IS_OWNER_ASC - IS_OWNER_DESC - IS_ADMIN_ASC - IS_ADMIN_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - GRANTED_ASC - GRANTED_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - IS_READ_ONLY_ASC - IS_READ_ONLY_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC -} - -"""Root meta schema type""" -type MetaSchema { - tables: [MetaTable!]! + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC } -"""Information about a database table""" -type MetaTable { - name: String! - schemaName: String! - fields: [MetaField!]! - indexes: [MetaIndex!]! - constraints: MetaConstraints! - foreignKeyConstraints: [MetaForeignKeyConstraint!]! - primaryKeyConstraints: [MetaPrimaryKeyConstraint!]! - uniqueConstraints: [MetaUniqueConstraint!]! - relations: MetaRelations! - inflection: MetaInflection! - query: MetaQuery! -} +"""A connection to a list of `OrgLimitDefault` values.""" +type OrgLimitDefaultConnection { + """A list of `OrgLimitDefault` objects.""" + nodes: [OrgLimitDefault]! -"""Information about a table field/column""" -type MetaField { - name: String! - type: MetaType! - isNotNull: Boolean! - hasDefault: Boolean! - isPrimaryKey: Boolean! - isForeignKey: Boolean! - description: String -} + """ + A list of edges which contains the `OrgLimitDefault` and cursor to aid in pagination. + """ + edges: [OrgLimitDefaultEdge]! -"""Information about a PostgreSQL type""" -type MetaType { - pgType: String! - gqlType: String! - isArray: Boolean! - isNotNull: Boolean - hasDefault: Boolean - subtype: String -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""Information about a database index""" -type MetaIndex { - name: String! - isUnique: Boolean! - isPrimary: Boolean! - columns: [String!]! - fields: [MetaField!] + """ + The count of *all* `OrgLimitDefault` you could get from the connection. + """ + totalCount: Int! } -"""Table constraints""" -type MetaConstraints { - primaryKey: MetaPrimaryKeyConstraint - unique: [MetaUniqueConstraint!]! - foreignKey: [MetaForeignKeyConstraint!]! -} +""" +Default maximum values for each named limit, applied when no per-actor override exists +""" +type OrgLimitDefault { + id: UUID! -"""Information about a primary key constraint""" -type MetaPrimaryKeyConstraint { + """Name identifier of the limit this default applies to""" name: String! - fields: [MetaField!]! -} -"""Information about a unique constraint""" -type MetaUniqueConstraint { - name: String! - fields: [MetaField!]! -} + """Default maximum usage allowed for this limit""" + max: BigInt -"""Information about a foreign key constraint""" -type MetaForeignKeyConstraint { - name: String! - fields: [MetaField!]! - referencedTable: String! - referencedFields: [String!]! - refFields: [MetaField!] - refTable: MetaRefTable -} + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt -"""Reference to a related table""" -type MetaRefTable { - name: String! -} + """Reads and enables pagination through a set of `OrgLimitCredit`.""" + orgLimitCreditsByDefaultLimitId( + """Only read the first `n` values of the set.""" + first: Int -"""Table relations""" -type MetaRelations { - belongsTo: [MetaBelongsToRelation!]! - has: [MetaHasRelation!]! - hasOne: [MetaHasRelation!]! - hasMany: [MetaHasRelation!]! - manyToMany: [MetaManyToManyRelation!]! -} + """Only read the last `n` values of the set.""" + last: Int -"""A belongs-to (forward FK) relation""" -type MetaBelongsToRelation { - fieldName: String - isUnique: Boolean! - type: String - keys: [MetaField!]! - references: MetaRefTable! -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A has-one or has-many (reverse FK) relation""" -type MetaHasRelation { - fieldName: String - isUnique: Boolean! - type: String - keys: [MetaField!]! - referencedBy: MetaRefTable! -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""A many-to-many relation via junction table""" -type MetaManyToManyRelation { - fieldName: String - type: String - junctionTable: MetaRefTable! - junctionLeftConstraint: MetaForeignKeyConstraint! - junctionLeftKeyAttributes: [MetaField!]! - junctionRightConstraint: MetaForeignKeyConstraint! - junctionRightKeyAttributes: [MetaField!]! - leftKeyAttributes: [MetaField!]! - rightKeyAttributes: [MetaField!]! - rightTable: MetaRefTable! -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""Table inflection names""" -type MetaInflection { - tableType: String! - allRows: String! - connection: String! - edge: String! - filterType: String - orderByType: String! - conditionType: String! - patchType: String - createInputType: String! - createPayloadType: String! - updatePayloadType: String - deletePayloadType: String! -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCreditFilter -"""Table query/mutation names""" -type MetaQuery { - all: String! - one: String - create: String - update: String - delete: String + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCreditConnection! } -"""The output of our `submitAppInviteCode` mutation.""" -type SubmitAppInviteCodePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean +"""A connection to a list of `OrgLimitCredit` values.""" +type OrgLimitCreditConnection { + """A list of `OrgLimitCredit` objects.""" + nodes: [OrgLimitCredit]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgLimitCredit` and cursor to aid in pagination. """ - query: Query -} + edges: [OrgLimitCreditEdge]! -"""All input for the `submitAppInviteCode` mutation.""" -input SubmitAppInviteCodeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - token: String + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgLimitCredit` you could get from the connection.""" + totalCount: Int! } -"""The output of our `submitOrgInviteCode` mutation.""" -type SubmitOrgInviteCodePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean +""" +Append-only ledger of credit grants that automatically update limit ceilings +""" +type OrgLimitCredit { + id: UUID! + + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! + + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Entity this credit applies to; NULL for actor-only credits""" + entityId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! """ - Our root query field type. Allows us to run any query from our mutation payload. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - query: Query -} + creditType: String! + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String -"""All input for the `submitOrgInviteCode` mutation.""" -input SubmitOrgInviteCodeInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `OrgLimitDefault` that is related to this `OrgLimitCredit`. """ - clientMutationId: String - token: String + defaultLimit: OrgLimitDefault } -"""The output of our create `OrgMember` mutation.""" -type CreateOrgMemberPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A `OrgLimitCredit` edge in the connection.""" +type OrgLimitCreditEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `OrgMember` that was created by this mutation.""" - orgMember: OrgMember - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `OrgMember`. May be used by Relay 1.""" - orgMemberEdge( - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberEdge + """The `OrgLimitCredit` at the end of the edge.""" + node: OrgLimitCredit } -"""All input for the create `OrgMember` mutation.""" -input CreateOrgMemberInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `OrgMember` to be created by this mutation.""" - orgMember: OrgMemberInput! -} +""" +A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ +""" +input OrgLimitCreditFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""An input for mutations affecting `OrgMember`""" -input OrgMemberInput { - id: UUID + """Filter by the object’s `defaultLimitId` field.""" + defaultLimitId: UUIDFilter - """Whether this member has admin privileges""" - isAdmin: Boolean + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """References the user who is a member""" - actorId: UUID! + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """References the entity (org or group) this member belongs to""" - entityId: UUID! -} + """Filter by the object’s `amount` field.""" + amount: BigIntFilter -"""The output of our create `AppPermissionDefault` mutation.""" -type CreateAppPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `creditType` field.""" + creditType: StringFilter - """The `AppPermissionDefault` that was created by this mutation.""" - appPermissionDefault: AppPermissionDefault + """Filter by the object’s `reason` field.""" + reason: StringFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for all expressions in this list.""" + and: [OrgLimitCreditFilter!] - """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" - appPermissionDefaultEdge( - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultEdge -} + """Checks for any expressions in this list.""" + or: [OrgLimitCreditFilter!] -"""All input for the create `AppPermissionDefault` mutation.""" -input CreateAppPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Negates the expression.""" + not: OrgLimitCreditFilter - """The `AppPermissionDefault` to be created by this mutation.""" - appPermissionDefault: AppPermissionDefaultInput! + """Filter by the object’s `defaultLimit` relation.""" + defaultLimit: OrgLimitDefaultFilter } -"""An input for mutations affecting `AppPermissionDefault`""" -input AppPermissionDefaultInput { - id: UUID +""" +A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ +""" +input OrgLimitDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Default permission bitmask applied to new members""" - permissions: BitString -} + """Filter by the object’s `name` field.""" + name: StringFilter -"""The output of our create `OrgPermissionDefault` mutation.""" -type CreateOrgPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `max` field.""" + max: BigIntFilter - """The `OrgPermissionDefault` that was created by this mutation.""" - orgPermissionDefault: OrgPermissionDefault + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for all expressions in this list.""" + and: [OrgLimitDefaultFilter!] - """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" - orgPermissionDefaultEdge( - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultEdge -} + """Checks for any expressions in this list.""" + or: [OrgLimitDefaultFilter!] -"""All input for the create `OrgPermissionDefault` mutation.""" -input CreateOrgPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Negates the expression.""" + not: OrgLimitDefaultFilter - """The `OrgPermissionDefault` to be created by this mutation.""" - orgPermissionDefault: OrgPermissionDefaultInput! + """Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation.""" + orgLimitCreditsByDefaultLimitId: OrgLimitDefaultToManyOrgLimitCreditFilter + + """`orgLimitCreditsByDefaultLimitId` exist.""" + orgLimitCreditsByDefaultLimitIdExist: Boolean } -"""An input for mutations affecting `OrgPermissionDefault`""" -input OrgPermissionDefaultInput { - id: UUID +""" +A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ +""" +input OrgLimitDefaultToManyOrgLimitCreditFilter { + """Filters to entities where at least one related entity matches.""" + some: OrgLimitCreditFilter - """Default permission bitmask applied to new members""" - permissions: BitString + """Filters to entities where every related entity matches.""" + every: OrgLimitCreditFilter - """References the entity these default permissions apply to""" - entityId: UUID! + """Filters to entities where no related entity matches.""" + none: OrgLimitCreditFilter } -"""The output of our create `AppPermission` mutation.""" -type CreateAppPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppPermission` that was created by this mutation.""" - appPermission: AppPermission +"""Methods to use when ordering `OrgLimitCredit`.""" +enum OrgLimitCreditOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DEFAULT_LIMIT_ID_ASC + DEFAULT_LIMIT_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + AMOUNT_ASC + AMOUNT_DESC + CREDIT_TYPE_ASC + CREDIT_TYPE_DESC + REASON_ASC + REASON_DESC +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `OrgLimitDefault` edge in the connection.""" +type OrgLimitDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `AppPermission`. May be used by Relay 1.""" - appPermissionEdge( - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionEdge + """The `OrgLimitDefault` at the end of the edge.""" + node: OrgLimitDefault } -"""All input for the create `AppPermission` mutation.""" -input CreateAppPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `AppPermission` to be created by this mutation.""" - appPermission: AppPermissionInput! +"""Methods to use when ordering `OrgLimitDefault`.""" +enum OrgLimitDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC } -"""An input for mutations affecting `AppPermission`""" -input AppPermissionInput { - id: UUID +""" +A filter to be used against `AppLevelRequirement` object types. All fields are combined with a logical ‘and.’ +""" +input AppLevelRequirementFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Filter by the object’s `name` field.""" + name: StringFilter - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Filter by the object’s `level` field.""" + level: StringFilter - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString + """Filter by the object’s `description` field.""" + description: StringFilter - """Human-readable description of what this permission allows""" - description: String -} + """Filter by the object’s `requiredCount` field.""" + requiredCount: IntFilter -"""The output of our create `OrgPermission` mutation.""" -type CreateOrgPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `priority` field.""" + priority: IntFilter - """The `OrgPermission` that was created by this mutation.""" - orgPermission: OrgPermission + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """An edge for our `OrgPermission`. May be used by Relay 1.""" - orgPermissionEdge( - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionEdge -} + """Checks for all expressions in this list.""" + and: [AppLevelRequirementFilter!] -"""All input for the create `OrgPermission` mutation.""" -input CreateOrgPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Checks for any expressions in this list.""" + or: [AppLevelRequirementFilter!] - """The `OrgPermission` to be created by this mutation.""" - orgPermission: OrgPermissionInput! + """Negates the expression.""" + not: AppLevelRequirementFilter } -"""An input for mutations affecting `OrgPermission`""" -input OrgPermissionInput { - id: UUID +"""Methods to use when ordering `AppLevelRequirement`.""" +enum AppLevelRequirementOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + LEVEL_ASC + LEVEL_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + REQUIRED_COUNT_ASC + REQUIRED_COUNT_DESC + PRIORITY_ASC + PRIORITY_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """Human-readable permission name (e.g. read, write, manage)""" - name: String +"""A connection to a list of `OrgChartEdgeGrant` values.""" +type OrgChartEdgeGrantConnection { + """A list of `OrgChartEdgeGrant` objects.""" + nodes: [OrgChartEdgeGrant]! """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set + A list of edges which contains the `OrgChartEdgeGrant` and cursor to aid in pagination. """ - bitnum: Int + edges: [OrgChartEdgeGrantEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + The count of *all* `OrgChartEdgeGrant` you could get from the connection. """ - bitstr: BitString - - """Human-readable description of what this permission allows""" - description: String + totalCount: Int! } -"""The output of our create `AppAdminGrant` mutation.""" -type CreateAppAdminGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table +""" +type OrgChartEdgeGrant { + id: UUID! - """The `AppAdminGrant` that was created by this mutation.""" - appAdminGrant: AppAdminGrant + """Organization this grant applies to""" + entityId: UUID! + + """User ID of the subordinate being placed in the hierarchy""" + childId: UUID! + + """User ID of the manager being assigned; NULL for top-level positions""" + parentId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + User ID of the admin who performed this grant or revocation; NULL if grantor was deleted """ - query: Query + grantorId: UUID - """An edge for our `AppAdminGrant`. May be used by Relay 1.""" - appAdminGrantEdge( - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAdminGrantEdge + """TRUE to add/update the edge, FALSE to remove it""" + isGrant: Boolean! + + """Job title or role name being assigned in this grant""" + positionTitle: String + + """Numeric seniority level being assigned in this grant""" + positionLevel: Int + + """Timestamp when this grant or revocation was recorded""" + createdAt: Datetime! } -"""All input for the create `AppAdminGrant` mutation.""" -input CreateAppAdminGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgChartEdgeGrant` edge in the connection.""" +type OrgChartEdgeGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppAdminGrant` to be created by this mutation.""" - appAdminGrant: AppAdminGrantInput! + """The `OrgChartEdgeGrant` at the end of the edge.""" + node: OrgChartEdgeGrant } -"""An input for mutations affecting `AppAdminGrant`""" -input AppAdminGrantInput { - id: UUID +""" +A filter to be used against `OrgChartEdgeGrant` object types. All fields are combined with a logical ‘and.’ +""" +input OrgChartEdgeGrantFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """The member receiving or losing the admin grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `childId` field.""" + childId: UUIDFilter -"""The output of our create `AppOwnerGrant` mutation.""" -type CreateAppOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `parentId` field.""" + parentId: UUIDFilter - """The `AppOwnerGrant` that was created by this mutation.""" - appOwnerGrant: AppOwnerGrant + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" - appOwnerGrantEdge( - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppOwnerGrantEdge -} + """Filter by the object’s `positionTitle` field.""" + positionTitle: StringFilter -"""All input for the create `AppOwnerGrant` mutation.""" -input CreateAppOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Filter by the object’s `positionLevel` field.""" + positionLevel: IntFilter - """The `AppOwnerGrant` to be created by this mutation.""" - appOwnerGrant: AppOwnerGrantInput! -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""An input for mutations affecting `AppOwnerGrant`""" -input AppOwnerGrantInput { - id: UUID + """Checks for all expressions in this list.""" + and: [OrgChartEdgeGrantFilter!] - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean + """Checks for any expressions in this list.""" + or: [OrgChartEdgeGrantFilter!] - """The member receiving or losing the ownership grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Negates the expression.""" + not: OrgChartEdgeGrantFilter } -"""The output of our create `AppAchievement` mutation.""" -type CreateAppAchievementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgChartEdgeGrant`.""" +enum OrgChartEdgeGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + CHILD_ID_ASC + CHILD_ID_DESC + PARENT_ID_ASC + PARENT_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + POSITION_TITLE_ASC + POSITION_TITLE_DESC + POSITION_LEVEL_ASC + POSITION_LEVEL_DESC + CREATED_AT_ASC + CREATED_AT_DESC +} - """The `AppAchievement` that was created by this mutation.""" - appAchievement: AppAchievement +"""A connection to a list of `AppClaimedInvite` values.""" +type AppClaimedInviteConnection { + """A list of `AppClaimedInvite` objects.""" + nodes: [AppClaimedInvite]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppClaimedInvite` and cursor to aid in pagination. """ - query: Query + edges: [AppClaimedInviteEdge]! - """An edge for our `AppAchievement`. May be used by Relay 1.""" - appAchievementEdge( - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAchievementEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `AppAchievement` mutation.""" -input CreateAppAchievementInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `AppClaimedInvite` you could get from the connection. """ - clientMutationId: String - - """The `AppAchievement` to be created by this mutation.""" - appAchievement: AppAchievementInput! + totalCount: Int! } -"""An input for mutations affecting `AppAchievement`""" -input AppAchievementInput { - id: UUID - actorId: UUID - - """Name identifier of the level requirement being tracked""" - name: String! +""" +Records of successfully claimed invitations, linking senders to receivers +""" +type AppClaimedInvite { + id: UUID! - """Cumulative count of completed steps toward this requirement""" - count: Int + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID createdAt: Datetime updatedAt: Datetime } -"""The output of our create `AppStep` mutation.""" -type CreateAppStepPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppStep` that was created by this mutation.""" - appStep: AppStep +""" +Represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). +""" +scalar JSON - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `AppClaimedInvite` edge in the connection.""" +type AppClaimedInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `AppStep`. May be used by Relay 1.""" - appStepEdge( - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppStepEdge + """The `AppClaimedInvite` at the end of the edge.""" + node: AppClaimedInvite } -"""All input for the create `AppStep` mutation.""" -input CreateAppStepInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +A filter to be used against `AppClaimedInvite` object types. All fields are combined with a logical ‘and.’ +""" +input AppClaimedInviteFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The `AppStep` to be created by this mutation.""" - appStep: AppStepInput! -} + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter -"""An input for mutations affecting `AppStep`""" -input AppStepInput { - id: UUID - actorId: UUID + """Filter by the object’s `receiverId` field.""" + receiverId: UUIDFilter - """Name identifier of the level requirement this step fulfills""" - name: String! + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Number of units completed in this step action""" - count: Int - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""The output of our create `OrgAdminGrant` mutation.""" -type CreateOrgAdminGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Checks for all expressions in this list.""" + and: [AppClaimedInviteFilter!] - """The `OrgAdminGrant` that was created by this mutation.""" - orgAdminGrant: OrgAdminGrant + """Checks for any expressions in this list.""" + or: [AppClaimedInviteFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Negates the expression.""" + not: AppClaimedInviteFilter +} - """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" - orgAdminGrantEdge( - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgAdminGrantEdge +"""Methods to use when ordering `AppClaimedInvite`.""" +enum AppClaimedInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATA_ASC + DATA_DESC + SENDER_ID_ASC + SENDER_ID_DESC + RECEIVER_ID_ASC + RECEIVER_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""All input for the create `OrgAdminGrant` mutation.""" -input CreateOrgAdminGrantInput { +"""A connection to a list of `AppGrant` values.""" +type AppGrantConnection { + """A list of `AppGrant` objects.""" + nodes: [AppGrant]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `AppGrant` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AppGrantEdge]! - """The `OrgAdminGrant` to be created by this mutation.""" - orgAdminGrant: OrgAdminGrantInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppGrant` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgAdminGrant`""" -input OrgAdminGrantInput { - id: UUID +""" +Records of individual permission grants and revocations for members via bitmask +""" +type AppGrant { + id: UUID! - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Bitmask of permissions being granted or revoked""" + permissions: BitString! - """The member receiving or losing the admin grant""" - actorId: UUID! + """True to grant the permissions, false to revoke them""" + isGrant: Boolean! - """The entity (org or group) this admin grant applies to""" - entityId: UUID! + """The member receiving or losing the permission grant""" + actorId: UUID! grantorId: UUID createdAt: Datetime updatedAt: Datetime } -"""The output of our create `OrgOwnerGrant` mutation.""" -type CreateOrgOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `OrgOwnerGrant` that was created by this mutation.""" - orgOwnerGrant: OrgOwnerGrant - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `AppGrant` edge in the connection.""" +type AppGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" - orgOwnerGrantEdge( - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantEdge + """The `AppGrant` at the end of the edge.""" + node: AppGrant } -"""All input for the create `OrgOwnerGrant` mutation.""" -input CreateOrgOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +A filter to be used against `AppGrant` object types. All fields are combined with a logical ‘and.’ +""" +input AppGrantFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The `OrgOwnerGrant` to be created by this mutation.""" - orgOwnerGrant: OrgOwnerGrantInput! -} + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter -"""An input for mutations affecting `OrgOwnerGrant`""" -input OrgOwnerGrantInput { - id: UUID + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """The member receiving or losing the ownership grant""" - actorId: UUID! + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """The entity (org or group) this ownership grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""The output of our create `MembershipType` mutation.""" -type CreateMembershipTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """The `MembershipType` that was created by this mutation.""" - membershipType: MembershipType + """Checks for all expressions in this list.""" + and: [AppGrantFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [AppGrantFilter!] - """An edge for our `MembershipType`. May be used by Relay 1.""" - membershipTypeEdge( - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypeEdge + """Negates the expression.""" + not: AppGrantFilter } -"""All input for the create `MembershipType` mutation.""" -input CreateMembershipTypeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `MembershipType` to be created by this mutation.""" - membershipType: MembershipTypeInput! +"""Methods to use when ordering `AppGrant`.""" +enum AppGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""An input for mutations affecting `MembershipType`""" -input MembershipTypeInput { - """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) - """ - id: Int! - - """Human-readable name of the membership type""" - name: String! - - """Description of what this membership type represents""" - description: String! +"""A connection to a list of `AppMembershipDefault` values.""" +type AppMembershipDefaultConnection { + """A list of `AppMembershipDefault` objects.""" + nodes: [AppMembershipDefault]! """ - Short prefix used to namespace tables and functions for this membership scope + A list of edges which contains the `AppMembershipDefault` and cursor to aid in pagination. """ - prefix: String! + edges: [AppMembershipDefaultEdge]! - """ - Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) - """ - parentMembershipType: Int + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs + The count of *all* `AppMembershipDefault` you could get from the connection. """ - hasUsersTableEntry: Boolean + totalCount: Int! } -"""The output of our create `AppLimitDefault` mutation.""" -type CreateAppLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppLimitDefault` that was created by this mutation.""" - appLimitDefault: AppLimitDefault +""" +Default membership settings per entity, controlling initial approval and verification state for new members +""" +type AppMembershipDefault { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Whether new members are automatically approved upon joining""" + isApproved: Boolean! - """An edge for our `AppLimitDefault`. May be used by Relay 1.""" - appLimitDefaultEdge( - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitDefaultEdge + """Whether new members are automatically verified upon joining""" + isVerified: Boolean! } -"""All input for the create `AppLimitDefault` mutation.""" -input CreateAppLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `AppMembershipDefault` edge in the connection.""" +type AppMembershipDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppLimitDefault` to be created by this mutation.""" - appLimitDefault: AppLimitDefaultInput! + """The `AppMembershipDefault` at the end of the edge.""" + node: AppMembershipDefault } -"""An input for mutations affecting `AppLimitDefault`""" -input AppLimitDefaultInput { - id: UUID +""" +A filter to be used against `AppMembershipDefault` object types. All fields are combined with a logical ‘and.’ +""" +input AppMembershipDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Name identifier of the limit this default applies to""" - name: String! + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Default maximum usage allowed for this limit""" - max: BigInt + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter -"""The output of our create `OrgLimitDefault` mutation.""" -type CreateOrgLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """The `OrgLimitDefault` that was created by this mutation.""" - orgLimitDefault: OrgLimitDefault + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" - orgLimitDefaultEdge( - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultEdge -} + """Checks for all expressions in this list.""" + and: [AppMembershipDefaultFilter!] -"""All input for the create `OrgLimitDefault` mutation.""" -input CreateOrgLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Checks for any expressions in this list.""" + or: [AppMembershipDefaultFilter!] - """The `OrgLimitDefault` to be created by this mutation.""" - orgLimitDefault: OrgLimitDefaultInput! + """Negates the expression.""" + not: AppMembershipDefaultFilter } -"""An input for mutations affecting `OrgLimitDefault`""" -input OrgLimitDefaultInput { - id: UUID - - """Name identifier of the limit this default applies to""" - name: String! - - """Default maximum usage allowed for this limit""" - max: BigInt - - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt +"""Methods to use when ordering `AppMembershipDefault`.""" +enum AppMembershipDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC } -"""The output of our create `AppLevelRequirement` mutation.""" -type CreateAppLevelRequirementPayload { +"""A connection to a list of `OrgMembershipDefault` values.""" +type OrgMembershipDefaultConnection { + """A list of `OrgMembershipDefault` objects.""" + nodes: [OrgMembershipDefault]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgMembershipDefault` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgMembershipDefaultEdge]! - """The `AppLevelRequirement` that was created by this mutation.""" - appLevelRequirement: AppLevelRequirement + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgMembershipDefault` you could get from the connection. """ - query: Query - - """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" - appLevelRequirementEdge( - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelRequirementEdge + totalCount: Int! } -"""All input for the create `AppLevelRequirement` mutation.""" -input CreateAppLevelRequirementInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Default membership settings per entity, controlling initial approval and verification state for new members +""" +type OrgMembershipDefault { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """The `AppLevelRequirement` to be created by this mutation.""" - appLevelRequirement: AppLevelRequirementInput! + """Whether new members are automatically approved upon joining""" + isApproved: Boolean! + + """References the entity these membership defaults apply to""" + entityId: UUID! } -"""An input for mutations affecting `AppLevelRequirement`""" -input AppLevelRequirementInput { - id: UUID +"""A `OrgMembershipDefault` edge in the connection.""" +type OrgMembershipDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Name identifier of the requirement (matches step names)""" - name: String! + """The `OrgMembershipDefault` at the end of the edge.""" + node: OrgMembershipDefault +} - """Name of the level this requirement belongs to""" - level: String! +""" +A filter to be used against `OrgMembershipDefault` object types. All fields are combined with a logical ‘and.’ +""" +input OrgMembershipDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Human-readable description of what this requirement entails""" - description: String + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Number of steps needed to satisfy this requirement""" - requiredCount: Int + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Display ordering priority; lower values appear first""" - priority: Int - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter -"""The output of our create `OrgChartEdgeGrant` mutation.""" -type CreateOrgChartEdgeGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """The `OrgChartEdgeGrant` that was created by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrant + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" - orgChartEdgeGrantEdge( - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantEdge -} + """Checks for all expressions in this list.""" + and: [OrgMembershipDefaultFilter!] -"""All input for the create `OrgChartEdgeGrant` mutation.""" -input CreateOrgChartEdgeGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Checks for any expressions in this list.""" + or: [OrgMembershipDefaultFilter!] - """The `OrgChartEdgeGrant` to be created by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrantInput! + """Negates the expression.""" + not: OrgMembershipDefaultFilter } -"""An input for mutations affecting `OrgChartEdgeGrant`""" -input OrgChartEdgeGrantInput { - id: UUID - - """Organization this grant applies to""" - entityId: UUID! - - """User ID of the subordinate being placed in the hierarchy""" - childId: UUID! - - """User ID of the manager being assigned; NULL for top-level positions""" - parentId: UUID - - """ - User ID of the admin who performed this grant or revocation; NULL if grantor was deleted - """ - grantorId: UUID - - """TRUE to add/update the edge, FALSE to remove it""" - isGrant: Boolean - - """Job title or role name being assigned in this grant""" - positionTitle: String - - """Numeric seniority level being assigned in this grant""" - positionLevel: Int - - """Timestamp when this grant or revocation was recorded""" - createdAt: Datetime +"""Methods to use when ordering `OrgMembershipDefault`.""" +enum OrgMembershipDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""The output of our create `AppClaimedInvite` mutation.""" -type CreateAppClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppClaimedInvite` that was created by this mutation.""" - appClaimedInvite: AppClaimedInvite +"""A connection to a list of `OrgClaimedInvite` values.""" +type OrgClaimedInviteConnection { + """A list of `OrgClaimedInvite` objects.""" + nodes: [OrgClaimedInvite]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgClaimedInvite` and cursor to aid in pagination. """ - query: Query + edges: [OrgClaimedInviteEdge]! - """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" - appClaimedInviteEdge( - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppClaimedInviteEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `AppClaimedInvite` mutation.""" -input CreateAppClaimedInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `OrgClaimedInvite` you could get from the connection. """ - clientMutationId: String - - """The `AppClaimedInvite` to be created by this mutation.""" - appClaimedInvite: AppClaimedInviteInput! + totalCount: Int! } -"""An input for mutations affecting `AppClaimedInvite`""" -input AppClaimedInviteInput { - id: UUID +""" +Records of successfully claimed invitations, linking senders to receivers +""" +type OrgClaimedInvite { + id: UUID! """Optional JSON payload captured at the time the invite was claimed""" data: JSON @@ -5809,243 +4919,212 @@ input AppClaimedInviteInput { receiverId: UUID createdAt: Datetime updatedAt: Datetime + entityId: UUID! } -"""The output of our create `AppGrant` mutation.""" -type CreateAppGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppGrant` that was created by this mutation.""" - appGrant: AppGrant - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `OrgClaimedInvite` edge in the connection.""" +type OrgClaimedInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `AppGrant`. May be used by Relay 1.""" - appGrantEdge( - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppGrantEdge + """The `OrgClaimedInvite` at the end of the edge.""" + node: OrgClaimedInvite } -"""All input for the create `AppGrant` mutation.""" -input CreateAppGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `AppGrant` to be created by this mutation.""" - appGrant: AppGrantInput! -} +""" +A filter to be used against `OrgClaimedInvite` object types. All fields are combined with a logical ‘and.’ +""" +input OrgClaimedInviteFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""An input for mutations affecting `AppGrant`""" -input AppGrantInput { - id: UUID + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """Bitmask of permissions being granted or revoked""" - permissions: BitString + """Filter by the object’s `receiverId` field.""" + receiverId: UUIDFilter - """True to grant the permissions, false to revoke them""" - isGrant: Boolean + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """The member receiving or losing the permission grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""The output of our create `AppMembershipDefault` mutation.""" -type CreateAppMembershipDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """The `AppMembershipDefault` that was created by this mutation.""" - appMembershipDefault: AppMembershipDefault + """Checks for all expressions in this list.""" + and: [OrgClaimedInviteFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [OrgClaimedInviteFilter!] - """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" - appMembershipDefaultEdge( - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultEdge + """Negates the expression.""" + not: OrgClaimedInviteFilter } -"""All input for the create `AppMembershipDefault` mutation.""" -input CreateAppMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `AppMembershipDefault` to be created by this mutation.""" - appMembershipDefault: AppMembershipDefaultInput! +"""Methods to use when ordering `OrgClaimedInvite`.""" +enum OrgClaimedInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATA_ASC + DATA_DESC + SENDER_ID_ASC + SENDER_ID_DESC + RECEIVER_ID_ASC + RECEIVER_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""An input for mutations affecting `AppMembershipDefault`""" -input AppMembershipDefaultInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - - """Whether new members are automatically approved upon joining""" - isApproved: Boolean - - """Whether new members are automatically verified upon joining""" - isVerified: Boolean -} +"""A connection to a list of `AppLimitEvent` values.""" +type AppLimitEventConnection { + """A list of `AppLimitEvent` objects.""" + nodes: [AppLimitEvent]! -"""The output of our create `OrgMembershipDefault` mutation.""" -type CreateOrgMembershipDefaultPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `AppLimitEvent` and cursor to aid in pagination. """ - clientMutationId: String - - """The `OrgMembershipDefault` that was created by this mutation.""" - orgMembershipDefault: OrgMembershipDefault + edges: [AppLimitEventEdge]! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Information to aid in pagination.""" + pageInfo: PageInfo! - """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" - orgMembershipDefaultEdge( - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultEdge + """The count of *all* `AppLimitEvent` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `OrgMembershipDefault` mutation.""" -input CreateOrgMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""Append-only log of limit events for historical reporting and audit""" +type AppLimitEvent { + """Limit name this event applies to""" + name: String - """The `OrgMembershipDefault` to be created by this mutation.""" - orgMembershipDefault: OrgMembershipDefaultInput! -} + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID -"""An input for mutations affecting `OrgMembershipDefault`""" -input OrgMembershipDefaultInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Entity this event applies to; NULL for app-level events""" + entityId: UUID - """Whether new members are automatically approved upon joining""" - isApproved: Boolean + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String - """References the entity these membership defaults apply to""" - entityId: UUID! -} + """Change amount: positive for increment, negative for decrement""" + delta: BigInt -"""The output of our create `OrgClaimedInvite` mutation.""" -type CreateOrgClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Usage count before this event""" + numBefore: BigInt - """The `OrgClaimedInvite` that was created by this mutation.""" - orgClaimedInvite: OrgClaimedInvite + """Usage count after this event""" + numAfter: BigInt + + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional reason or source: achievement, invite, plan_change, purchase, etc. """ - query: Query - - """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" - orgClaimedInviteEdge( - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteEdge + reason: String } -"""All input for the create `OrgClaimedInvite` mutation.""" -input CreateOrgClaimedInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `AppLimitEvent` edge in the connection.""" +type AppLimitEventEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `OrgClaimedInvite` to be created by this mutation.""" - orgClaimedInvite: OrgClaimedInviteInput! + """The `AppLimitEvent` at the end of the edge.""" + node: AppLimitEvent } -"""An input for mutations affecting `OrgClaimedInvite`""" -input OrgClaimedInviteInput { - id: UUID +""" +A filter to be used against `AppLimitEvent` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitEventFilter { + """Filter by the object’s `name` field.""" + name: StringFilter - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """User ID of the original invitation sender""" - senderId: UUID + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! -} + """Filter by the object’s `eventType` field.""" + eventType: StringFilter -"""The output of our create `AppLimitEvent` mutation.""" -type CreateAppLimitEventPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `delta` field.""" + delta: BigIntFilter - """The `AppLimitEvent` that was created by this mutation.""" - appLimitEvent: AppLimitEvent + """Filter by the object’s `numBefore` field.""" + numBefore: BigIntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `numAfter` field.""" + numAfter: BigIntFilter + + """Filter by the object’s `maxAtEvent` field.""" + maxAtEvent: BigIntFilter + + """Filter by the object’s `reason` field.""" + reason: StringFilter + + """Checks for all expressions in this list.""" + and: [AppLimitEventFilter!] + + """Checks for any expressions in this list.""" + or: [AppLimitEventFilter!] + + """Negates the expression.""" + not: AppLimitEventFilter } -"""All input for the create `AppLimitEvent` mutation.""" -input CreateAppLimitEventInput { +"""Methods to use when ordering `AppLimitEvent`.""" +enum AppLimitEventOrderBy { + NATURAL + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + EVENT_TYPE_ASC + EVENT_TYPE_DESC + DELTA_ASC + DELTA_DESC + NUM_BEFORE_ASC + NUM_BEFORE_DESC + NUM_AFTER_ASC + NUM_AFTER_DESC + MAX_AT_EVENT_ASC + MAX_AT_EVENT_DESC + REASON_ASC + REASON_DESC +} + +"""A connection to a list of `OrgLimitEvent` values.""" +type OrgLimitEventConnection { + """A list of `OrgLimitEvent` objects.""" + nodes: [OrgLimitEvent]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgLimitEvent` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgLimitEventEdge]! - """The `AppLimitEvent` to be created by this mutation.""" - appLimitEvent: AppLimitEventInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgLimitEvent` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `AppLimitEvent`""" -input AppLimitEventInput { +"""Append-only log of limit events for historical reporting and audit""" +type OrgLimitEvent { """Limit name this event applies to""" name: String @@ -6076,111 +5155,107 @@ input AppLimitEventInput { reason: String } -"""The output of our create `OrgLimitEvent` mutation.""" -type CreateOrgLimitEventPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A `OrgLimitEvent` edge in the connection.""" +type OrgLimitEventEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `OrgLimitEvent` that was created by this mutation.""" - orgLimitEvent: OrgLimitEvent + """The `OrgLimitEvent` at the end of the edge.""" + node: OrgLimitEvent +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} +""" +A filter to be used against `OrgLimitEvent` object types. All fields are combined with a logical ‘and.’ +""" +input OrgLimitEventFilter { + """Filter by the object’s `name` field.""" + name: StringFilter -"""All input for the create `OrgLimitEvent` mutation.""" -input CreateOrgLimitEventInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """The `OrgLimitEvent` to be created by this mutation.""" - orgLimitEvent: OrgLimitEventInput! -} + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter -"""An input for mutations affecting `OrgLimitEvent`""" -input OrgLimitEventInput { - """Limit name this event applies to""" - name: String + """Filter by the object’s `eventType` field.""" + eventType: StringFilter - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID + """Filter by the object’s `delta` field.""" + delta: BigIntFilter - """Entity this event applies to; NULL for app-level events""" - entityId: UUID + """Filter by the object’s `numBefore` field.""" + numBefore: BigIntFilter - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String + """Filter by the object’s `numAfter` field.""" + numAfter: BigIntFilter - """Change amount: positive for increment, negative for decrement""" - delta: BigInt + """Filter by the object’s `maxAtEvent` field.""" + maxAtEvent: BigIntFilter - """Usage count before this event""" - numBefore: BigInt + """Filter by the object’s `reason` field.""" + reason: StringFilter - """Usage count after this event""" - numAfter: BigInt + """Checks for all expressions in this list.""" + and: [OrgLimitEventFilter!] - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + """Checks for any expressions in this list.""" + or: [OrgLimitEventFilter!] - """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. - """ - reason: String + """Negates the expression.""" + not: OrgLimitEventFilter } -"""The output of our create `OrgGrant` mutation.""" -type CreateOrgGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgLimitEvent`.""" +enum OrgLimitEventOrderBy { + NATURAL + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + EVENT_TYPE_ASC + EVENT_TYPE_DESC + DELTA_ASC + DELTA_DESC + NUM_BEFORE_ASC + NUM_BEFORE_DESC + NUM_AFTER_ASC + NUM_AFTER_DESC + MAX_AT_EVENT_ASC + MAX_AT_EVENT_DESC + REASON_ASC + REASON_DESC +} - """The `OrgGrant` that was created by this mutation.""" - orgGrant: OrgGrant +"""A connection to a list of `OrgGrant` values.""" +type OrgGrantConnection { + """A list of `OrgGrant` objects.""" + nodes: [OrgGrant]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgGrant` and cursor to aid in pagination. """ - query: Query - - """An edge for our `OrgGrant`. May be used by Relay 1.""" - orgGrantEdge( - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgGrantEdge -} + edges: [OrgGrantEdge]! -"""All input for the create `OrgGrant` mutation.""" -input CreateOrgGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `OrgGrant` to be created by this mutation.""" - orgGrant: OrgGrantInput! + """The count of *all* `OrgGrant` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgGrant`""" -input OrgGrantInput { - id: UUID +""" +Records of individual permission grants and revocations for members via bitmask +""" +type OrgGrant { + id: UUID! """Bitmask of permissions being granted or revoked""" - permissions: BitString + permissions: BitString! """True to grant the permissions, false to revoke them""" - isGrant: Boolean + isGrant: Boolean! """The member receiving or losing the permission grant""" actorId: UUID! @@ -6192,44 +5267,98 @@ input OrgGrantInput { updatedAt: Datetime } -"""The output of our create `OrgChartEdge` mutation.""" -type CreateOrgChartEdgePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A `OrgGrant` edge in the connection.""" +type OrgGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `OrgChartEdge` that was created by this mutation.""" - orgChartEdge: OrgChartEdge + """The `OrgGrant` at the end of the edge.""" + node: OrgGrant +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +""" +A filter to be used against `OrgGrant` object types. All fields are combined with a logical ‘and.’ +""" +input OrgGrantFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """An edge for our `OrgChartEdge`. May be used by Relay 1.""" - orgChartEdgeEdge( - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeEdge + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter + + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter + + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter + + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter + + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Checks for all expressions in this list.""" + and: [OrgGrantFilter!] + + """Checks for any expressions in this list.""" + or: [OrgGrantFilter!] + + """Negates the expression.""" + not: OrgGrantFilter } -"""All input for the create `OrgChartEdge` mutation.""" -input CreateOrgChartEdgeInput { +"""Methods to use when ordering `OrgGrant`.""" +enum OrgGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} + +"""A connection to a list of `OrgChartEdge` values.""" +type OrgChartEdgeConnection { + """A list of `OrgChartEdge` objects.""" + nodes: [OrgChartEdge]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgChartEdge` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgChartEdgeEdge]! - """The `OrgChartEdge` to be created by this mutation.""" - orgChartEdge: OrgChartEdgeInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgChartEdge` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgChartEdge`""" -input OrgChartEdgeInput { - id: UUID +""" +Organizational chart edges defining parent-child reporting relationships between members within an entity +""" +type OrgChartEdge { + id: UUID! createdAt: Datetime updatedAt: Datetime @@ -6251,174 +5380,100 @@ input OrgChartEdgeInput { positionLevel: Int } -"""The output of our create `AppLimit` mutation.""" -type CreateAppLimitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppLimit` that was created by this mutation.""" - appLimit: AppLimit - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `AppLimit`. May be used by Relay 1.""" - appLimitEdge( - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitEdge -} - -"""All input for the create `AppLimit` mutation.""" -input CreateAppLimitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgChartEdge` edge in the connection.""" +type OrgChartEdgeEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppLimit` to be created by this mutation.""" - appLimit: AppLimitInput! + """The `OrgChartEdge` at the end of the edge.""" + node: OrgChartEdge } -"""An input for mutations affecting `AppLimit`""" -input AppLimitInput { - id: UUID - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" - actorId: UUID! - - """Current usage count for this actor and limit""" - num: BigInt +""" +A filter to be used against `OrgChartEdge` object types. All fields are combined with a logical ‘and.’ +""" +input OrgChartEdgeFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput -} + """Filter by the object’s `childId` field.""" + childId: UUIDFilter -"""The output of our create `OrgLimitAggregate` mutation.""" -type CreateOrgLimitAggregatePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `parentId` field.""" + parentId: UUIDFilter - """The `OrgLimitAggregate` that was created by this mutation.""" - orgLimitAggregate: OrgLimitAggregate + """Filter by the object’s `positionTitle` field.""" + positionTitle: StringFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `positionLevel` field.""" + positionLevel: IntFilter - """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" - orgLimitAggregateEdge( - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateEdge -} + """Checks for all expressions in this list.""" + and: [OrgChartEdgeFilter!] -"""All input for the create `OrgLimitAggregate` mutation.""" -input CreateOrgLimitAggregateInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Checks for any expressions in this list.""" + or: [OrgChartEdgeFilter!] - """The `OrgLimitAggregate` to be created by this mutation.""" - orgLimitAggregate: OrgLimitAggregateInput! + """Negates the expression.""" + not: OrgChartEdgeFilter } -"""An input for mutations affecting `OrgLimitAggregate`""" -input OrgLimitAggregateInput { - id: UUID - - """Name identifier of the aggregate limit being tracked""" - name: String - - """Entity (org) whose aggregate usage is being tracked""" - entityId: UUID! - - """Current aggregate usage count for this entity and limit""" - num: BigInt - - """Maximum allowed aggregate usage; negative means unlimited""" - max: BigInt - - """Soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt - - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime - - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput +"""Methods to use when ordering `OrgChartEdge`.""" +enum OrgChartEdgeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + CHILD_ID_ASC + CHILD_ID_DESC + PARENT_ID_ASC + PARENT_ID_DESC + POSITION_TITLE_ASC + POSITION_TITLE_DESC + POSITION_LEVEL_ASC + POSITION_LEVEL_DESC } -"""The output of our create `OrgMemberProfile` mutation.""" -type CreateOrgMemberProfilePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `OrgMemberProfile` that was created by this mutation.""" - orgMemberProfile: OrgMemberProfile +"""A connection to a list of `OrgMemberProfile` values.""" +type OrgMemberProfileConnection { + """A list of `OrgMemberProfile` objects.""" + nodes: [OrgMemberProfile]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgMemberProfile` and cursor to aid in pagination. """ - query: Query + edges: [OrgMemberProfileEdge]! - """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" - orgMemberProfileEdge( - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberProfileEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `OrgMemberProfile` mutation.""" -input CreateOrgMemberProfileInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `OrgMemberProfile` you could get from the connection. """ - clientMutationId: String - - """The `OrgMemberProfile` to be created by this mutation.""" - orgMemberProfile: OrgMemberProfileInput! + totalCount: Int! } -"""An input for mutations affecting `OrgMemberProfile`""" -input OrgMemberProfileInput { - id: UUID +""" +Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) +""" +type OrgMemberProfile { + id: UUID! createdAt: Datetime updatedAt: Datetime @@ -6447,5769 +5502,9726 @@ input OrgMemberProfileInput { """Profile picture visible to other entity members""" profilePicture: ConstructiveInternalTypeImage -} -"""The output of our create `OrgLimit` mutation.""" -type CreateOrgLimitPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `OrgMembership` that is related to this `OrgMemberProfile`. """ - clientMutationId: String + membership: OrgMembership +} - """The `OrgLimit` that was created by this mutation.""" - orgLimit: OrgLimit +scalar ConstructiveInternalTypeImage + +""" +Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status +""" +type OrgMembership { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether this membership has been approved by an admin""" + isApproved: Boolean! + + """Whether this member has been banned from the entity""" + isBanned: Boolean! + + """Whether this membership is temporarily disabled""" + isDisabled: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Computed field indicating the membership is approved, verified, not banned, and not disabled """ - query: Query - - """An edge for our `OrgLimit`. May be used by Relay 1.""" - orgLimitEdge( - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitEdge -} + isActive: Boolean! -"""All input for the create `OrgLimit` mutation.""" -input CreateOrgLimitInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Whether this member is external (not a member of the parent scope). External members may have restricted permissions. """ - clientMutationId: String + isExternal: Boolean! - """The `OrgLimit` to be created by this mutation.""" - orgLimit: OrgLimitInput! -} + """Whether the actor is the owner of this entity""" + isOwner: Boolean! -"""An input for mutations affecting `OrgLimit`""" -input OrgLimitInput { - id: UUID - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" - actorId: UUID! - - """Current usage count for this actor and limit""" - num: BigInt + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean! """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + Aggregated permission bitmask combining profile-based and directly granted permissions """ - max: BigInt + permissions: BitString! """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + Bitmask of permissions directly granted to this member (not from profiles) """ - softMax: BigInt + granted: BitString! - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """References the user who holds this membership""" + actorId: UUID! - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput + """References the entity (org or group) this membership belongs to""" entityId: UUID! -} - -"""The output of our create `AppLevel` mutation.""" -type CreateAppLevelPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - """The `AppLevel` that was created by this mutation.""" - appLevel: AppLevel + """Whether this member has read-only access (blocks mutations when true)""" + isReadOnly: Boolean! + profileId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `OrgMemberProfile` that is related to this `OrgMembership`. """ - query: Query - - """An edge for our `AppLevel`. May be used by Relay 1.""" - appLevelEdge( - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelEdge + orgMemberProfileByMembershipId: OrgMemberProfile } -"""All input for the create `AppLevel` mutation.""" -input CreateAppLevelInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgMemberProfile` edge in the connection.""" +type OrgMemberProfileEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppLevel` to be created by this mutation.""" - appLevel: AppLevelInput! + """The `OrgMemberProfile` at the end of the edge.""" + node: OrgMemberProfile } -"""An input for mutations affecting `AppLevel`""" -input AppLevelInput { - id: UUID - - """Unique name of the level""" - name: String! - - """Human-readable description of what this level represents""" - description: String +""" +A filter to be used against `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ +""" +input OrgMemberProfileFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Badge or icon image associated with this level""" - image: ConstructiveInternalTypeImage + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Optional owner (actor) who created or manages this level""" - ownerId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""The output of our create `AppInvite` mutation.""" -type CreateAppInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `membershipId` field.""" + membershipId: UUIDFilter - """The `AppInvite` that was created by this mutation.""" - appInvite: AppInvite + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """An edge for our `AppInvite`. May be used by Relay 1.""" - appInviteEdge( - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppInviteEdge -} + """Filter by the object’s `displayName` field.""" + displayName: StringFilter -"""All input for the create `AppInvite` mutation.""" -input CreateAppInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Filter by the object’s `email` field.""" + email: StringFilter - """The `AppInvite` to be created by this mutation.""" - appInvite: AppInviteInput! -} + """Filter by the object’s `title` field.""" + title: StringFilter -"""An input for mutations affecting `AppInvite`""" -input AppInviteInput { - id: UUID + """Filter by the object’s `bio` field.""" + bio: StringFilter - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """Filter by the object’s `profilePicture` field.""" + profilePicture: ConstructiveInternalTypeImageFilter - """User ID of the member who sent this invitation""" - senderId: UUID + """Checks for all expressions in this list.""" + and: [OrgMemberProfileFilter!] - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """Checks for any expressions in this list.""" + or: [OrgMemberProfileFilter!] - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Negates the expression.""" + not: OrgMemberProfileFilter - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """Filter by the object’s `membership` relation.""" + membership: OrgMembershipFilter +} - """Running count of how many times this invite has been claimed""" - inviteCount: Int +""" +A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ +""" +input ConstructiveInternalTypeImageFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeImage - """Optional JSON payload of additional invite metadata""" - data: JSON + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeImage """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + Not equal to the specified value, treating null like an ordinary value. """ - profileId: UUID + distinctFrom: ConstructiveInternalTypeImage - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeImage -"""The output of our create `OrgMembershipSetting` mutation.""" -type CreateOrgMembershipSettingPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Included in the specified list.""" + in: [ConstructiveInternalTypeImage!] - """The `OrgMembershipSetting` that was created by this mutation.""" - orgMembershipSetting: OrgMembershipSetting + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeImage!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeImage - """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" - orgMembershipSettingEdge( - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingEdge -} + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeImage -"""All input for the create `OrgMembershipSetting` mutation.""" -input CreateOrgMembershipSettingInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeImage - """The `OrgMembershipSetting` to be created by this mutation.""" - orgMembershipSetting: OrgMembershipSettingInput! -} + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeImage -"""An input for mutations affecting `OrgMembershipSetting`""" -input OrgMembershipSettingInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Contains the specified JSON.""" + contains: ConstructiveInternalTypeImage - """References the entity these settings apply to""" - entityId: UUID! + """Contains the specified key.""" + containsKey: String - """ - When a member is deleted, whether to cascade-remove their descendant-entity memberships - """ - deleteMemberCascadeChildren: Boolean + """Contains all of the specified keys.""" + containsAllKeys: [String!] - """ - When a child entity is created, whether to auto-add existing org-level owners as child-entity owners - """ - createChildCascadeOwners: Boolean + """Contains any of the specified keys.""" + containsAnyKeys: [String!] - """ - When a child entity is created, whether to auto-add existing org-level admins as child-entity admins - """ - createChildCascadeAdmins: Boolean + """Contained by the specified JSON.""" + containedBy: ConstructiveInternalTypeImage +} - """ - When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members - """ - createChildCascadeMembers: Boolean +""" +A filter to be used against `OrgMembership` object types. All fields are combined with a logical ‘and.’ +""" +input OrgMembershipFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) - """ - allowExternalMembers: Boolean + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """ - Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) - """ - inviteProfileAssignmentMode: String + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """ - Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. - """ - populateMemberEmail: Boolean + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter - """ - Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) - """ - limitAllocationMode: String -} + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter -"""The output of our create `OrgInvite` mutation.""" -type CreateOrgInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """The `OrgInvite` that was created by this mutation.""" - orgInvite: OrgInvite + """Filter by the object’s `isBanned` field.""" + isBanned: BooleanFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `isDisabled` field.""" + isDisabled: BooleanFilter - """An edge for our `OrgInvite`. May be used by Relay 1.""" - orgInviteEdge( - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgInviteEdge -} + """Filter by the object’s `isActive` field.""" + isActive: BooleanFilter -"""All input for the create `OrgInvite` mutation.""" -input CreateOrgInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Filter by the object’s `isExternal` field.""" + isExternal: BooleanFilter - """The `OrgInvite` to be created by this mutation.""" - orgInvite: OrgInviteInput! -} + """Filter by the object’s `isOwner` field.""" + isOwner: BooleanFilter -"""An input for mutations affecting `OrgInvite`""" -input OrgInviteInput { - id: UUID + """Filter by the object’s `isAdmin` field.""" + isAdmin: BooleanFilter - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """User ID of the member who sent this invitation""" - senderId: UUID + """Filter by the object’s `granted` field.""" + granted: BitStringFilter - """User ID of the intended recipient, if targeting a specific user""" - receiverId: UUID + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Filter by the object’s `isReadOnly` field.""" + isReadOnly: BooleanFilter - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter - """Running count of how many times this invite has been claimed""" - inviteCount: Int + """Checks for all expressions in this list.""" + and: [OrgMembershipFilter!] - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """Checks for any expressions in this list.""" + or: [OrgMembershipFilter!] - """Optional JSON payload of additional invite metadata""" - data: JSON + """Negates the expression.""" + not: OrgMembershipFilter - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """Filter by the object’s `orgMemberProfileByMembershipId` relation.""" + orgMemberProfileByMembershipId: OrgMemberProfileFilter - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! + """A related `orgMemberProfileByMembershipId` exists.""" + orgMemberProfileByMembershipIdExists: Boolean } -"""The output of our create `AppMembership` mutation.""" -type CreateAppMembershipPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgMemberProfile`.""" +enum OrgMemberProfileOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + MEMBERSHIP_ID_ASC + MEMBERSHIP_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + EMAIL_ASC + EMAIL_DESC + TITLE_ASC + TITLE_DESC + BIO_ASC + BIO_DESC + PROFILE_PICTURE_ASC + PROFILE_PICTURE_DESC +} - """The `AppMembership` that was created by this mutation.""" - appMembership: AppMembership +"""A connection to a list of `AppLevel` values.""" +type AppLevelConnection { + """A list of `AppLevel` objects.""" + nodes: [AppLevel]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppLevel` and cursor to aid in pagination. """ - query: Query + edges: [AppLevelEdge]! - """An edge for our `AppMembership`. May be used by Relay 1.""" - appMembershipEdge( - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppLevel` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `AppMembership` mutation.""" -input CreateAppMembershipInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Defines available levels that users can achieve by completing requirements +""" +type AppLevel { + id: UUID! - """The `AppMembership` to be created by this mutation.""" - appMembership: AppMembershipInput! -} + """Unique name of the level""" + name: String! -"""An input for mutations affecting `AppMembership`""" -input AppMembershipInput { - id: UUID + """Human-readable description of what this level represents""" + description: String + + """Badge or icon image associated with this level""" + image: ConstructiveInternalTypeImage + + """Optional owner (actor) who created or manages this level""" + ownerId: UUID createdAt: Datetime updatedAt: Datetime - createdBy: UUID - updatedBy: UUID +} - """Whether this membership has been approved by an admin""" - isApproved: Boolean +"""A `AppLevel` edge in the connection.""" +type AppLevelEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Whether this member has been banned from the entity""" - isBanned: Boolean + """The `AppLevel` at the end of the edge.""" + node: AppLevel +} - """Whether this membership is temporarily disabled""" - isDisabled: Boolean +""" +A filter to be used against `AppLevel` object types. All fields are combined with a logical ‘and.’ +""" +input AppLevelFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Whether this member has been verified (e.g. email confirmation)""" - isVerified: Boolean + """Filter by the object’s `name` field.""" + name: StringFilter - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean + """Filter by the object’s `description` field.""" + description: StringFilter - """Whether the actor is the owner of this entity""" - isOwner: Boolean + """Filter by the object’s `image` field.""" + image: ConstructiveInternalTypeImageFilter - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean - - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """ - Bitmask of permissions directly granted to this member (not from profiles) - """ - granted: BitString + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """References the user who holds this membership""" - actorId: UUID! - profileId: UUID -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""The output of our create `OrgMembership` mutation.""" -type CreateOrgMembershipPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Checks for all expressions in this list.""" + and: [AppLevelFilter!] - """The `OrgMembership` that was created by this mutation.""" - orgMembership: OrgMembership + """Checks for any expressions in this list.""" + or: [AppLevelFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Negates the expression.""" + not: AppLevelFilter +} - """An edge for our `OrgMembership`. May be used by Relay 1.""" - orgMembershipEdge( - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipEdge +"""Methods to use when ordering `AppLevel`.""" +enum AppLevelOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + IMAGE_ASC + IMAGE_DESC + OWNER_ID_ASC + OWNER_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""All input for the create `OrgMembership` mutation.""" -input CreateOrgMembershipInput { +"""A connection to a list of `AppLimit` values.""" +type AppLimitConnection { + """A list of `AppLimit` objects.""" + nodes: [AppLimit]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `AppLimit` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AppLimitEdge]! - """The `OrgMembership` to be created by this mutation.""" - orgMembership: OrgMembershipInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppLimit` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgMembership`""" -input OrgMembershipInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID +"""Tracks per-actor usage counts against configurable maximum limits""" +type AppLimit { + id: UUID! - """Whether this membership has been approved by an admin""" - isApproved: Boolean + """Name identifier of the limit being tracked""" + name: String - """Whether this member has been banned from the entity""" - isBanned: Boolean + """User whose usage is being tracked against this limit""" + actorId: UUID! - """Whether this membership is temporarily disabled""" - isDisabled: Boolean + """Current usage count for this actor and limit""" + num: BigInt """ - Computed field indicating the membership is approved, verified, not banned, and not disabled + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. """ - isActive: Boolean + max: BigInt """ - Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. """ - isExternal: Boolean - - """Whether the actor is the owner of this entity""" - isOwner: Boolean + softMax: BigInt - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime """ - Aggregated permission bitmask combining profile-based and directly granted permissions + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - permissions: BitString + windowDuration: Interval """ - Bitmask of permissions directly granted to this member (not from profiles) + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. """ - granted: BitString - - """References the user who holds this membership""" - actorId: UUID! + planMax: BigInt - """References the entity (org or group) this membership belongs to""" - entityId: UUID! + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """Whether this member has read-only access (blocks mutations when true)""" - isReadOnly: Boolean - profileId: UUID + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt } -"""The output of our update `OrgMember` mutation.""" -type UpdateOrgMemberPayload { +""" +An interval of time that has passed where the smallest distinct unit is a second. +""" +type Interval { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A quantity of seconds. This is the only non-integer field, as all the other + fields will dump their overflow into a smaller unit of time. Intervals don’t + have a smaller unit than seconds. """ - clientMutationId: String + seconds: Float - """The `OrgMember` that was updated by this mutation.""" - orgMember: OrgMember + """A quantity of minutes.""" + minutes: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """A quantity of hours.""" + hours: Int - """An edge for our `OrgMember`. May be used by Relay 1.""" - orgMemberEdge( - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberEdge + """A quantity of days.""" + days: Int + + """A quantity of months.""" + months: Int + + """A quantity of years.""" + years: Int } -"""All input for the `updateOrgMember` mutation.""" -input UpdateOrgMemberInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AppLimit` edge in the connection.""" +type AppLimitEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgMember` being updated. - """ - orgMemberPatch: OrgMemberPatch! + """The `AppLimit` at the end of the edge.""" + node: AppLimit } """ -Represents an update to a `OrgMember`. Fields that are set will be updated. +A filter to be used against `AppLimit` object types. All fields are combined with a logical ‘and.’ """ -input OrgMemberPatch { - id: UUID +input AppLimitFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Whether this member has admin privileges""" - isAdmin: Boolean + """Filter by the object’s `name` field.""" + name: StringFilter - """References the user who is a member""" - actorId: UUID + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """References the entity (org or group) this member belongs to""" - entityId: UUID + """Filter by the object’s `num` field.""" + num: BigIntFilter + + """Filter by the object’s `max` field.""" + max: BigIntFilter + + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter + + """Filter by the object’s `windowStart` field.""" + windowStart: DatetimeFilter + + """Filter by the object’s `windowDuration` field.""" + windowDuration: IntervalFilter + + """Filter by the object’s `planMax` field.""" + planMax: BigIntFilter + + """Filter by the object’s `purchasedCredits` field.""" + purchasedCredits: BigIntFilter + + """Filter by the object’s `periodCredits` field.""" + periodCredits: BigIntFilter + + """Checks for all expressions in this list.""" + and: [AppLimitFilter!] + + """Checks for any expressions in this list.""" + or: [AppLimitFilter!] + + """Negates the expression.""" + not: AppLimitFilter } -"""The output of our update `AppPermissionDefault` mutation.""" -type UpdateAppPermissionDefaultPayload { +""" +A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ +""" +input IntervalFilter { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - clientMutationId: String + isNull: Boolean - """The `AppPermissionDefault` that was updated by this mutation.""" - appPermissionDefault: AppPermissionDefault + """Equal to the specified value.""" + equalTo: IntervalInput + + """Not equal to the specified value.""" + notEqualTo: IntervalInput """ - Our root query field type. Allows us to run any query from our mutation payload. + Not equal to the specified value, treating null like an ordinary value. """ - query: Query - - """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" - appPermissionDefaultEdge( - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultEdge -} - -"""All input for the `updateAppPermissionDefault` mutation.""" -input UpdateAppPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + distinctFrom: IntervalInput - """ - An object where the defined keys will be set on the `AppPermissionDefault` being updated. - """ - appPermissionDefaultPatch: AppPermissionDefaultPatch! -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: IntervalInput -""" -Represents an update to a `AppPermissionDefault`. Fields that are set will be updated. -""" -input AppPermissionDefaultPatch { - id: UUID + """Included in the specified list.""" + in: [IntervalInput!] - """Default permission bitmask applied to new members""" - permissions: BitString -} + """Not included in the specified list.""" + notIn: [IntervalInput!] -"""The output of our update `OrgPermissionDefault` mutation.""" -type UpdateOrgPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Less than the specified value.""" + lessThan: IntervalInput - """The `OrgPermissionDefault` that was updated by this mutation.""" - orgPermissionDefault: OrgPermissionDefault + """Less than or equal to the specified value.""" + lessThanOrEqualTo: IntervalInput - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Greater than the specified value.""" + greaterThan: IntervalInput - """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" - orgPermissionDefaultEdge( - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultEdge + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: IntervalInput } -"""All input for the `updateOrgPermissionDefault` mutation.""" -input UpdateOrgPermissionDefaultInput { +""" +An interval of time that has passed where the smallest distinct unit is a second. +""" +input IntervalInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A quantity of seconds. This is the only non-integer field, as all the other + fields will dump their overflow into a smaller unit of time. Intervals don’t + have a smaller unit than seconds. """ - clientMutationId: String - id: UUID! + seconds: Float - """ - An object where the defined keys will be set on the `OrgPermissionDefault` being updated. - """ - orgPermissionDefaultPatch: OrgPermissionDefaultPatch! -} + """A quantity of minutes.""" + minutes: Int -""" -Represents an update to a `OrgPermissionDefault`. Fields that are set will be updated. -""" -input OrgPermissionDefaultPatch { - id: UUID + """A quantity of hours.""" + hours: Int - """Default permission bitmask applied to new members""" - permissions: BitString + """A quantity of days.""" + days: Int - """References the entity these default permissions apply to""" - entityId: UUID + """A quantity of months.""" + months: Int + + """A quantity of years.""" + years: Int } -"""The output of our update `AppPermission` mutation.""" -type UpdateAppPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AppLimit`.""" +enum AppLimitOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + NUM_ASC + NUM_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC + WINDOW_START_ASC + WINDOW_START_DESC + WINDOW_DURATION_ASC + WINDOW_DURATION_DESC + PLAN_MAX_ASC + PLAN_MAX_DESC + PURCHASED_CREDITS_ASC + PURCHASED_CREDITS_DESC + PERIOD_CREDITS_ASC + PERIOD_CREDITS_DESC +} - """The `AppPermission` that was updated by this mutation.""" - appPermission: AppPermission +"""A connection to a list of `AppInvite` values.""" +type AppInviteConnection { + """A list of `AppInvite` objects.""" + nodes: [AppInvite]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppInvite` and cursor to aid in pagination. """ - query: Query - - """An edge for our `AppPermission`. May be used by Relay 1.""" - appPermissionEdge( - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionEdge -} + edges: [AppInviteEdge]! -"""All input for the `updateAppPermission` mutation.""" -input UpdateAppPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - An object where the defined keys will be set on the `AppPermission` being updated. - """ - appPermissionPatch: AppPermissionPatch! + """The count of *all* `AppInvite` you could get from the connection.""" + totalCount: Int! } """ -Represents an update to a `AppPermission`. Fields that are set will be updated. +Invitation records sent to prospective members via email, with token-based redemption and expiration """ -input AppPermissionPatch { - id: UUID +type AppInvite { + id: UUID! - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """User ID of the member who sent this invitation""" + senderId: UUID! - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString + """Unique random hex token used to redeem this invitation""" + inviteToken: String! - """Human-readable description of what this permission allows""" - description: String -} + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean! -"""The output of our update `OrgPermission` mutation.""" -type UpdateOrgPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int! - """The `OrgPermission` that was updated by this mutation.""" - orgPermission: OrgPermission + """Running count of how many times this invite has been claimed""" + inviteCount: Int! + + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean! + + """Optional JSON payload of additional invite metadata""" + data: JSON """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. """ - query: Query + profileId: UUID - """An edge for our `OrgPermission`. May be used by Relay 1.""" - orgPermissionEdge( - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionEdge + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime! + createdAt: Datetime + updatedAt: Datetime } -"""All input for the `updateOrgPermission` mutation.""" -input UpdateOrgPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +scalar ConstructiveInternalTypeEmail - """ - An object where the defined keys will be set on the `OrgPermission` being updated. - """ - orgPermissionPatch: OrgPermissionPatch! +"""A `AppInvite` edge in the connection.""" +type AppInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppInvite` at the end of the edge.""" + node: AppInvite } """ -Represents an update to a `OrgPermission`. Fields that are set will be updated. +A filter to be used against `AppInvite` object types. All fields are combined with a logical ‘and.’ """ -input OrgPermissionPatch { - id: UUID +input AppInviteFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Filter by the object’s `email` field.""" + email: ConstructiveInternalTypeEmailFilter - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString + """Filter by the object’s `inviteToken` field.""" + inviteToken: StringFilter - """Human-readable description of what this permission allows""" - description: String -} + """Filter by the object’s `inviteValid` field.""" + inviteValid: BooleanFilter -"""The output of our update `AppAdminGrant` mutation.""" -type UpdateAppAdminGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `inviteLimit` field.""" + inviteLimit: IntFilter - """The `AppAdminGrant` that was updated by this mutation.""" - appAdminGrant: AppAdminGrant + """Filter by the object’s `inviteCount` field.""" + inviteCount: IntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `multiple` field.""" + multiple: BooleanFilter - """An edge for our `AppAdminGrant`. May be used by Relay 1.""" - appAdminGrantEdge( - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAdminGrantEdge -} + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter -"""All input for the `updateAppAdminGrant` mutation.""" -input UpdateAppAdminGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter - """ - An object where the defined keys will be set on the `AppAdminGrant` being updated. - """ - appAdminGrantPatch: AppAdminGrantPatch! -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -""" -Represents an update to a `AppAdminGrant`. Fields that are set will be updated. -""" -input AppAdminGrantPatch { - id: UUID + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Checks for all expressions in this list.""" + and: [AppInviteFilter!] - """The member receiving or losing the admin grant""" - actorId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Checks for any expressions in this list.""" + or: [AppInviteFilter!] + + """Negates the expression.""" + not: AppInviteFilter } -"""The output of our update `AppOwnerGrant` mutation.""" -type UpdateAppOwnerGrantPayload { +""" +A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ +""" +input ConstructiveInternalTypeEmailFilter { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - clientMutationId: String + isNull: Boolean - """The `AppOwnerGrant` that was updated by this mutation.""" - appOwnerGrant: AppOwnerGrant + """Equal to the specified value.""" + equalTo: String + + """Not equal to the specified value.""" + notEqualTo: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Not equal to the specified value, treating null like an ordinary value. """ - query: Query + distinctFrom: String - """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" - appOwnerGrantEdge( - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppOwnerGrantEdge -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: String -"""All input for the `updateAppOwnerGrant` mutation.""" -input UpdateAppOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Included in the specified list.""" + in: [String!] - """ - An object where the defined keys will be set on the `AppOwnerGrant` being updated. - """ - appOwnerGrantPatch: AppOwnerGrantPatch! -} + """Not included in the specified list.""" + notIn: [String!] -""" -Represents an update to a `AppOwnerGrant`. Fields that are set will be updated. -""" -input AppOwnerGrantPatch { - id: UUID + """Less than the specified value.""" + lessThan: String - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean + """Less than or equal to the specified value.""" + lessThanOrEqualTo: String - """The member receiving or losing the ownership grant""" - actorId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Greater than the specified value.""" + greaterThan: String -"""The output of our update `AppAchievement` mutation.""" -type UpdateAppAchievementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: String - """The `AppAchievement` that was updated by this mutation.""" - appAchievement: AppAchievement + """Contains the specified string (case-sensitive).""" + includes: String - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Does not contain the specified string (case-sensitive).""" + notIncludes: String - """An edge for our `AppAchievement`. May be used by Relay 1.""" - appAchievementEdge( - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAchievementEdge -} + """Contains the specified string (case-insensitive).""" + includesInsensitive: ConstructiveInternalTypeEmail -"""All input for the `updateAppAchievement` mutation.""" -input UpdateAppAchievementInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: ConstructiveInternalTypeEmail - """ - An object where the defined keys will be set on the `AppAchievement` being updated. - """ - appAchievementPatch: AppAchievementPatch! -} + """Starts with the specified string (case-sensitive).""" + startsWith: String -""" -Represents an update to a `AppAchievement`. Fields that are set will be updated. -""" -input AppAchievementPatch { - id: UUID - actorId: UUID + """Does not start with the specified string (case-sensitive).""" + notStartsWith: String - """Name identifier of the level requirement being tracked""" - name: String + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: ConstructiveInternalTypeEmail - """Cumulative count of completed steps toward this requirement""" - count: Int - createdAt: Datetime - updatedAt: Datetime -} + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: ConstructiveInternalTypeEmail -"""The output of our update `AppStep` mutation.""" -type UpdateAppStepPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Ends with the specified string (case-sensitive).""" + endsWith: String - """The `AppStep` that was updated by this mutation.""" - appStep: AppStep + """Does not end with the specified string (case-sensitive).""" + notEndsWith: String + + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: ConstructiveInternalTypeEmail + + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: ConstructiveInternalTypeEmail """ - Our root query field type. Allows us to run any query from our mutation payload. + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - query: Query + like: String - """An edge for our `AppStep`. May be used by Relay 1.""" - appStepEdge( - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppStepEdge -} + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: String -"""All input for the `updateAppStep` mutation.""" -input UpdateAppStepInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - clientMutationId: String - id: UUID! + likeInsensitive: ConstructiveInternalTypeEmail """ - An object where the defined keys will be set on the `AppStep` being updated. + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - appStepPatch: AppStepPatch! -} + notLikeInsensitive: ConstructiveInternalTypeEmail -""" -Represents an update to a `AppStep`. Fields that are set will be updated. -""" -input AppStepPatch { - id: UUID - actorId: UUID - - """Name identifier of the level requirement this step fulfills""" - name: String + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: ConstructiveInternalTypeEmail - """Number of units completed in this step action""" - count: Int - createdAt: Datetime - updatedAt: Datetime -} + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: ConstructiveInternalTypeEmail -"""The output of our update `OrgAdminGrant` mutation.""" -type UpdateOrgAdminGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Not equal to the specified value, treating null like an ordinary value (case-insensitive). """ - clientMutationId: String - - """The `OrgAdminGrant` that was updated by this mutation.""" - orgAdminGrant: OrgAdminGrant + distinctFromInsensitive: ConstructiveInternalTypeEmail """ - Our root query field type. Allows us to run any query from our mutation payload. + Equal to the specified value, treating null like an ordinary value (case-insensitive). """ - query: Query - - """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" - orgAdminGrantEdge( - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgAdminGrantEdge -} + notDistinctFromInsensitive: ConstructiveInternalTypeEmail -"""All input for the `updateOrgAdminGrant` mutation.""" -input UpdateOrgAdminGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Included in the specified list (case-insensitive).""" + inInsensitive: [ConstructiveInternalTypeEmail!] - """ - An object where the defined keys will be set on the `OrgAdminGrant` being updated. - """ - orgAdminGrantPatch: OrgAdminGrantPatch! -} + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [ConstructiveInternalTypeEmail!] -""" -Represents an update to a `OrgAdminGrant`. Fields that are set will be updated. -""" -input OrgAdminGrantPatch { - id: UUID + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: ConstructiveInternalTypeEmail - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: ConstructiveInternalTypeEmail - """The member receiving or losing the admin grant""" - actorId: UUID + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: ConstructiveInternalTypeEmail - """The entity (org or group) this admin grant applies to""" - entityId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: ConstructiveInternalTypeEmail } -"""The output of our update `OrgOwnerGrant` mutation.""" -type UpdateOrgOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AppInvite`.""" +enum AppInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + EMAIL_ASC + EMAIL_DESC + SENDER_ID_ASC + SENDER_ID_DESC + INVITE_TOKEN_ASC + INVITE_TOKEN_DESC + INVITE_VALID_ASC + INVITE_VALID_DESC + INVITE_LIMIT_ASC + INVITE_LIMIT_DESC + INVITE_COUNT_ASC + INVITE_COUNT_DESC + MULTIPLE_ASC + MULTIPLE_DESC + DATA_ASC + DATA_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """The `OrgOwnerGrant` that was updated by this mutation.""" - orgOwnerGrant: OrgOwnerGrant +"""A connection to a list of `OrgMembershipSetting` values.""" +type OrgMembershipSettingConnection { + """A list of `OrgMembershipSetting` objects.""" + nodes: [OrgMembershipSetting]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgMembershipSetting` and cursor to aid in pagination. """ - query: Query - - """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" - orgOwnerGrantEdge( - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantEdge -} + edges: [OrgMembershipSettingEdge]! -"""All input for the `updateOrgOwnerGrant` mutation.""" -input UpdateOrgOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `OrgOwnerGrant` being updated. + The count of *all* `OrgMembershipSetting` you could get from the connection. """ - orgOwnerGrantPatch: OrgOwnerGrantPatch! + totalCount: Int! } -""" -Represents an update to a `OrgOwnerGrant`. Fields that are set will be updated. -""" -input OrgOwnerGrantPatch { - id: UUID - - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean - - """The member receiving or losing the ownership grant""" - actorId: UUID - - """The entity (org or group) this ownership grant applies to""" - entityId: UUID - grantorId: UUID +"""Per-entity settings for the memberships module""" +type OrgMembershipSetting { + id: UUID! createdAt: Datetime updatedAt: Datetime -} - -"""The output of our update `MembershipType` mutation.""" -type UpdateMembershipTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + createdBy: UUID + updatedBy: UUID - """The `MembershipType` that was updated by this mutation.""" - membershipType: MembershipType + """References the entity these settings apply to""" + entityId: UUID! """ - Our root query field type. Allows us to run any query from our mutation payload. + When a member is deleted, whether to cascade-remove their descendant-entity memberships """ - query: Query - - """An edge for our `MembershipType`. May be used by Relay 1.""" - membershipTypeEdge( - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypeEdge -} + deleteMemberCascadeChildren: Boolean! -"""All input for the `updateMembershipType` mutation.""" -input UpdateMembershipTypeInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + When a child entity is created, whether to auto-add existing org-level owners as child-entity owners """ - clientMutationId: String + createChildCascadeOwners: Boolean! """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + When a child entity is created, whether to auto-add existing org-level admins as child-entity admins """ - id: Int! + createChildCascadeAdmins: Boolean! """ - An object where the defined keys will be set on the `MembershipType` being updated. + When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members """ - membershipTypePatch: MembershipTypePatch! -} + createChildCascadeMembers: Boolean! -""" -Represents an update to a `MembershipType`. Fields that are set will be updated. -""" -input MembershipTypePatch { """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) """ - id: Int - - """Human-readable name of the membership type""" - name: String - - """Description of what this membership type represents""" - description: String + allowExternalMembers: Boolean! """ - Short prefix used to namespace tables and functions for this membership scope + Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) """ - prefix: String + inviteProfileAssignmentMode: String! """ - Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) + Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. """ - parentMembershipType: Int + populateMemberEmail: Boolean! """ - When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs + Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) """ - hasUsersTableEntry: Boolean + limitAllocationMode: String! } -"""The output of our update `AppLimitDefault` mutation.""" -type UpdateAppLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppLimitDefault` that was updated by this mutation.""" - appLimitDefault: AppLimitDefault +"""A `OrgMembershipSetting` edge in the connection.""" +type OrgMembershipSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `AppLimitDefault`. May be used by Relay 1.""" - appLimitDefaultEdge( - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitDefaultEdge -} - -"""All input for the `updateAppLimitDefault` mutation.""" -input UpdateAppLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `AppLimitDefault` being updated. - """ - appLimitDefaultPatch: AppLimitDefaultPatch! -} + """The `OrgMembershipSetting` at the end of the edge.""" + node: OrgMembershipSetting +} """ -Represents an update to a `AppLimitDefault`. Fields that are set will be updated. +A filter to be used against `OrgMembershipSetting` object types. All fields are combined with a logical ‘and.’ """ -input AppLimitDefaultPatch { - id: UUID +input OrgMembershipSettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Name identifier of the limit this default applies to""" - name: String + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Default maximum usage allowed for this limit""" - max: BigInt + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter -"""The output of our update `OrgLimitDefault` mutation.""" -type UpdateOrgLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """The `OrgLimitDefault` that was updated by this mutation.""" - orgLimitDefault: OrgLimitDefault + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `deleteMemberCascadeChildren` field.""" + deleteMemberCascadeChildren: BooleanFilter - """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" - orgLimitDefaultEdge( - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultEdge -} + """Filter by the object’s `createChildCascadeOwners` field.""" + createChildCascadeOwners: BooleanFilter -"""All input for the `updateOrgLimitDefault` mutation.""" -input UpdateOrgLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `createChildCascadeAdmins` field.""" + createChildCascadeAdmins: BooleanFilter - """ - An object where the defined keys will be set on the `OrgLimitDefault` being updated. - """ - orgLimitDefaultPatch: OrgLimitDefaultPatch! -} + """Filter by the object’s `createChildCascadeMembers` field.""" + createChildCascadeMembers: BooleanFilter -""" -Represents an update to a `OrgLimitDefault`. Fields that are set will be updated. -""" -input OrgLimitDefaultPatch { - id: UUID + """Filter by the object’s `allowExternalMembers` field.""" + allowExternalMembers: BooleanFilter - """Name identifier of the limit this default applies to""" - name: String + """Filter by the object’s `inviteProfileAssignmentMode` field.""" + inviteProfileAssignmentMode: StringFilter - """Default maximum usage allowed for this limit""" - max: BigInt + """Filter by the object’s `populateMemberEmail` field.""" + populateMemberEmail: BooleanFilter - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """Filter by the object’s `limitAllocationMode` field.""" + limitAllocationMode: StringFilter -"""The output of our update `AppLevelRequirement` mutation.""" -type UpdateAppLevelRequirementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Checks for all expressions in this list.""" + and: [OrgMembershipSettingFilter!] - """The `AppLevelRequirement` that was updated by this mutation.""" - appLevelRequirement: AppLevelRequirement + """Checks for any expressions in this list.""" + or: [OrgMembershipSettingFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Negates the expression.""" + not: OrgMembershipSettingFilter +} - """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" - appLevelRequirementEdge( - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelRequirementEdge +"""Methods to use when ordering `OrgMembershipSetting`.""" +enum OrgMembershipSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + DELETE_MEMBER_CASCADE_CHILDREN_ASC + DELETE_MEMBER_CASCADE_CHILDREN_DESC + CREATE_CHILD_CASCADE_OWNERS_ASC + CREATE_CHILD_CASCADE_OWNERS_DESC + CREATE_CHILD_CASCADE_ADMINS_ASC + CREATE_CHILD_CASCADE_ADMINS_DESC + CREATE_CHILD_CASCADE_MEMBERS_ASC + CREATE_CHILD_CASCADE_MEMBERS_DESC + ALLOW_EXTERNAL_MEMBERS_ASC + ALLOW_EXTERNAL_MEMBERS_DESC + INVITE_PROFILE_ASSIGNMENT_MODE_ASC + INVITE_PROFILE_ASSIGNMENT_MODE_DESC + POPULATE_MEMBER_EMAIL_ASC + POPULATE_MEMBER_EMAIL_DESC + LIMIT_ALLOCATION_MODE_ASC + LIMIT_ALLOCATION_MODE_DESC } -"""All input for the `updateAppLevelRequirement` mutation.""" -input UpdateAppLevelRequirementInput { +"""A connection to a list of `OrgLimitAggregate` values.""" +type OrgLimitAggregateConnection { + """A list of `OrgLimitAggregate` objects.""" + nodes: [OrgLimitAggregate]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgLimitAggregate` and cursor to aid in pagination. """ - clientMutationId: String - id: UUID! + edges: [OrgLimitAggregateEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `AppLevelRequirement` being updated. + The count of *all* `OrgLimitAggregate` you could get from the connection. """ - appLevelRequirementPatch: AppLevelRequirementPatch! + totalCount: Int! } """ -Represents an update to a `AppLevelRequirement`. Fields that are set will be updated. +Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) """ -input AppLevelRequirementPatch { - id: UUID +type OrgLimitAggregate { + id: UUID! - """Name identifier of the requirement (matches step names)""" + """Name identifier of the aggregate limit being tracked""" name: String - """Name of the level this requirement belongs to""" - level: String + """Entity (org) whose aggregate usage is being tracked""" + entityId: UUID! - """Human-readable description of what this requirement entails""" - description: String + """Current aggregate usage count for this entity and limit""" + num: BigInt - """Number of steps needed to satisfy this requirement""" - requiredCount: Int + """Maximum allowed aggregate usage; negative means unlimited""" + max: BigInt - """Display ordering priority; lower values appear first""" - priority: Int - createdAt: Datetime - updatedAt: Datetime -} + """Soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime -"""The output of our update `OrgChartEdgeGrant` mutation.""" -type UpdateOrgChartEdgeGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - clientMutationId: String - - """The `OrgChartEdgeGrant` that was updated by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrant + windowDuration: Interval """ - Our root query field type. Allows us to run any query from our mutation payload. + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. """ - query: Query + planMax: BigInt - """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" - orgChartEdgeGrantEdge( - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantEdge -} + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt -"""All input for the `updateOrgChartEdgeGrant` mutation.""" -input UpdateOrgChartEdgeGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Temporary credits for the current billing window. Resets to 0 on window expiry. """ - clientMutationId: String - id: UUID! + periodCredits: BigInt """ - An object where the defined keys will be set on the `OrgChartEdgeGrant` being updated. + Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. """ - orgChartEdgeGrantPatch: OrgChartEdgeGrantPatch! + reserved: BigInt +} + +"""A `OrgLimitAggregate` edge in the connection.""" +type OrgLimitAggregateEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgLimitAggregate` at the end of the edge.""" + node: OrgLimitAggregate } """ -Represents an update to a `OrgChartEdgeGrant`. Fields that are set will be updated. +A filter to be used against `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ """ -input OrgChartEdgeGrantPatch { - id: UUID +input OrgLimitAggregateFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Organization this grant applies to""" - entityId: UUID + """Filter by the object’s `name` field.""" + name: StringFilter - """User ID of the subordinate being placed in the hierarchy""" - childId: UUID + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """User ID of the manager being assigned; NULL for top-level positions""" - parentId: UUID + """Filter by the object’s `num` field.""" + num: BigIntFilter - """ - User ID of the admin who performed this grant or revocation; NULL if grantor was deleted - """ - grantorId: UUID + """Filter by the object’s `max` field.""" + max: BigIntFilter - """TRUE to add/update the edge, FALSE to remove it""" - isGrant: Boolean + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """Job title or role name being assigned in this grant""" - positionTitle: String + """Filter by the object’s `windowStart` field.""" + windowStart: DatetimeFilter - """Numeric seniority level being assigned in this grant""" - positionLevel: Int + """Filter by the object’s `windowDuration` field.""" + windowDuration: IntervalFilter - """Timestamp when this grant or revocation was recorded""" - createdAt: Datetime -} + """Filter by the object’s `planMax` field.""" + planMax: BigIntFilter -"""The output of our update `AppClaimedInvite` mutation.""" -type UpdateAppClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `purchasedCredits` field.""" + purchasedCredits: BigIntFilter - """The `AppClaimedInvite` that was updated by this mutation.""" - appClaimedInvite: AppClaimedInvite + """Filter by the object’s `periodCredits` field.""" + periodCredits: BigIntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `reserved` field.""" + reserved: BigIntFilter - """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" - appClaimedInviteEdge( - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppClaimedInviteEdge + """Checks for all expressions in this list.""" + and: [OrgLimitAggregateFilter!] + + """Checks for any expressions in this list.""" + or: [OrgLimitAggregateFilter!] + + """Negates the expression.""" + not: OrgLimitAggregateFilter } -"""All input for the `updateAppClaimedInvite` mutation.""" -input UpdateAppClaimedInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Methods to use when ordering `OrgLimitAggregate`.""" +enum OrgLimitAggregateOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + NUM_ASC + NUM_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC + WINDOW_START_ASC + WINDOW_START_DESC + WINDOW_DURATION_ASC + WINDOW_DURATION_DESC + PLAN_MAX_ASC + PLAN_MAX_DESC + PURCHASED_CREDITS_ASC + PURCHASED_CREDITS_DESC + PERIOD_CREDITS_ASC + PERIOD_CREDITS_DESC + RESERVED_ASC + RESERVED_DESC +} + +"""A connection to a list of `OrgLimit` values.""" +type OrgLimitConnection { + """A list of `OrgLimit` objects.""" + nodes: [OrgLimit]! """ - An object where the defined keys will be set on the `AppClaimedInvite` being updated. + A list of edges which contains the `OrgLimit` and cursor to aid in pagination. """ - appClaimedInvitePatch: AppClaimedInvitePatch! + edges: [OrgLimitEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgLimit` you could get from the connection.""" + totalCount: Int! } -""" -Represents an update to a `AppClaimedInvite`. Fields that are set will be updated. -""" -input AppClaimedInvitePatch { - id: UUID +"""Tracks per-actor usage counts against configurable maximum limits""" +type OrgLimit { + id: UUID! - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON + """Name identifier of the limit being tracked""" + name: String - """User ID of the original invitation sender""" - senderId: UUID + """User whose usage is being tracked against this limit""" + actorId: UUID! - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Current usage count for this actor and limit""" + num: BigInt -"""The output of our update `AppGrant` mutation.""" -type UpdateAppGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. """ - clientMutationId: String - - """The `AppGrant` that was updated by this mutation.""" - appGrant: AppGrant + max: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. """ - query: Query + softMax: BigInt - """An edge for our `AppGrant`. May be used by Relay 1.""" - appGrantEdge( - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppGrantEdge -} + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime -"""All input for the `updateAppGrant` mutation.""" -input UpdateAppGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - clientMutationId: String - id: UUID! + windowDuration: Interval """ - An object where the defined keys will be set on the `AppGrant` being updated. + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. """ - appGrantPatch: AppGrantPatch! -} + planMax: BigInt -""" -Represents an update to a `AppGrant`. Fields that are set will be updated. -""" -input AppGrantPatch { - id: UUID - - """Bitmask of permissions being granted or revoked""" - permissions: BitString - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean - - """The member receiving or losing the permission grant""" - actorId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} - -"""The output of our update `AppMembershipDefault` mutation.""" -type UpdateAppMembershipDefaultPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. """ - clientMutationId: String - - """The `AppMembershipDefault` that was updated by this mutation.""" - appMembershipDefault: AppMembershipDefault + purchasedCredits: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Temporary credits for the current billing window. Resets to 0 on window expiry. """ - query: Query - - """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" - appMembershipDefaultEdge( - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultEdge + periodCredits: BigInt + entityId: UUID! } -"""All input for the `updateAppMembershipDefault` mutation.""" -input UpdateAppMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `OrgLimit` edge in the connection.""" +type OrgLimitEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `AppMembershipDefault` being updated. - """ - appMembershipDefaultPatch: AppMembershipDefaultPatch! + """The `OrgLimit` at the end of the edge.""" + node: OrgLimit } """ -Represents an update to a `AppMembershipDefault`. Fields that are set will be updated. +A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ """ -input AppMembershipDefaultPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID +input OrgLimitFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Whether new members are automatically approved upon joining""" - isApproved: Boolean + """Filter by the object’s `name` field.""" + name: StringFilter - """Whether new members are automatically verified upon joining""" - isVerified: Boolean -} + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter -"""The output of our update `OrgMembershipDefault` mutation.""" -type UpdateOrgMembershipDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `num` field.""" + num: BigIntFilter - """The `OrgMembershipDefault` that was updated by this mutation.""" - orgMembershipDefault: OrgMembershipDefault + """Filter by the object’s `max` field.""" + max: BigIntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" - orgMembershipDefaultEdge( - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultEdge -} + """Filter by the object’s `windowStart` field.""" + windowStart: DatetimeFilter -"""All input for the `updateOrgMembershipDefault` mutation.""" -input UpdateOrgMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `windowDuration` field.""" + windowDuration: IntervalFilter - """ - An object where the defined keys will be set on the `OrgMembershipDefault` being updated. - """ - orgMembershipDefaultPatch: OrgMembershipDefaultPatch! -} + """Filter by the object’s `planMax` field.""" + planMax: BigIntFilter -""" -Represents an update to a `OrgMembershipDefault`. Fields that are set will be updated. -""" -input OrgMembershipDefaultPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Filter by the object’s `purchasedCredits` field.""" + purchasedCredits: BigIntFilter - """Whether new members are automatically approved upon joining""" - isApproved: Boolean + """Filter by the object’s `periodCredits` field.""" + periodCredits: BigIntFilter - """References the entity these membership defaults apply to""" - entityId: UUID -} + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter -"""The output of our update `OrgClaimedInvite` mutation.""" -type UpdateOrgClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Checks for all expressions in this list.""" + and: [OrgLimitFilter!] - """The `OrgClaimedInvite` that was updated by this mutation.""" - orgClaimedInvite: OrgClaimedInvite + """Checks for any expressions in this list.""" + or: [OrgLimitFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Negates the expression.""" + not: OrgLimitFilter +} - """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" - orgClaimedInviteEdge( - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteEdge +"""Methods to use when ordering `OrgLimit`.""" +enum OrgLimitOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + NUM_ASC + NUM_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC + WINDOW_START_ASC + WINDOW_START_DESC + WINDOW_DURATION_ASC + WINDOW_DURATION_DESC + PLAN_MAX_ASC + PLAN_MAX_DESC + PURCHASED_CREDITS_ASC + PURCHASED_CREDITS_DESC + PERIOD_CREDITS_ASC + PERIOD_CREDITS_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""All input for the `updateOrgClaimedInvite` mutation.""" -input UpdateOrgClaimedInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A connection to a list of `OrgInvite` values.""" +type OrgInviteConnection { + """A list of `OrgInvite` objects.""" + nodes: [OrgInvite]! """ - An object where the defined keys will be set on the `OrgClaimedInvite` being updated. + A list of edges which contains the `OrgInvite` and cursor to aid in pagination. """ - orgClaimedInvitePatch: OrgClaimedInvitePatch! + edges: [OrgInviteEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgInvite` you could get from the connection.""" + totalCount: Int! } """ -Represents an update to a `OrgClaimedInvite`. Fields that are set will be updated. +Invitation records sent to prospective members via email, with token-based redemption and expiration """ -input OrgClaimedInvitePatch { - id: UUID +type OrgInvite { + id: UUID! - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """User ID of the original invitation sender""" - senderId: UUID + """User ID of the member who sent this invitation""" + senderId: UUID! - """User ID of the person who claimed and redeemed the invitation""" + """User ID of the intended recipient, if targeting a specific user""" receiverId: UUID - createdAt: Datetime - updatedAt: Datetime - entityId: UUID -} -"""The output of our update `OrgGrant` mutation.""" -type UpdateOrgGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Unique random hex token used to redeem this invitation""" + inviteToken: String! - """The `OrgGrant` that was updated by this mutation.""" - orgGrant: OrgGrant + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean! + + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int! + + """Running count of how many times this invite has been claimed""" + inviteCount: Int! + + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean! + + """Optional JSON payload of additional invite metadata""" + data: JSON """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. """ - query: Query + profileId: UUID - """An edge for our `OrgGrant`. May be used by Relay 1.""" - orgGrantEdge( - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgGrantEdge + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime! + createdAt: Datetime + updatedAt: Datetime + entityId: UUID! } -"""All input for the `updateOrgGrant` mutation.""" -input UpdateOrgGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `OrgInvite` edge in the connection.""" +type OrgInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgGrant` being updated. - """ - orgGrantPatch: OrgGrantPatch! + """The `OrgInvite` at the end of the edge.""" + node: OrgInvite } """ -Represents an update to a `OrgGrant`. Fields that are set will be updated. +A filter to be used against `OrgInvite` object types. All fields are combined with a logical ‘and.’ """ -input OrgGrantPatch { - id: UUID +input OrgInviteFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Bitmask of permissions being granted or revoked""" - permissions: BitString + """Filter by the object’s `email` field.""" + email: ConstructiveInternalTypeEmailFilter - """True to grant the permissions, false to revoke them""" - isGrant: Boolean + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """The member receiving or losing the permission grant""" - actorId: UUID + """Filter by the object’s `receiverId` field.""" + receiverId: UUIDFilter - """The entity (org or group) this permission grant applies to""" - entityId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `inviteToken` field.""" + inviteToken: StringFilter -"""The output of our update `OrgChartEdge` mutation.""" -type UpdateOrgChartEdgePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `inviteValid` field.""" + inviteValid: BooleanFilter - """The `OrgChartEdge` that was updated by this mutation.""" - orgChartEdge: OrgChartEdge + """Filter by the object’s `inviteLimit` field.""" + inviteLimit: IntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `inviteCount` field.""" + inviteCount: IntFilter - """An edge for our `OrgChartEdge`. May be used by Relay 1.""" - orgChartEdgeEdge( - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeEdge -} + """Filter by the object’s `multiple` field.""" + multiple: BooleanFilter -"""All input for the `updateOrgChartEdge` mutation.""" -input UpdateOrgChartEdgeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter - """ - An object where the defined keys will be set on the `OrgChartEdge` being updated. - """ - orgChartEdgePatch: OrgChartEdgePatch! -} + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter -""" -Represents an update to a `OrgChartEdge`. Fields that are set will be updated. -""" -input OrgChartEdgePatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Organization this hierarchy edge belongs to""" - entityId: UUID + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """User ID of the subordinate (employee) in this reporting relationship""" - childId: UUID + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """ - User ID of the manager; NULL indicates a top-level position with no direct report - """ - parentId: UUID + """Checks for all expressions in this list.""" + and: [OrgInviteFilter!] - """Job title or role name for this position in the org chart""" - positionTitle: String + """Checks for any expressions in this list.""" + or: [OrgInviteFilter!] - """Numeric seniority level for this position (higher = more senior)""" - positionLevel: Int + """Negates the expression.""" + not: OrgInviteFilter } -"""The output of our update `AppLimit` mutation.""" -type UpdateAppLimitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgInvite`.""" +enum OrgInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + EMAIL_ASC + EMAIL_DESC + SENDER_ID_ASC + SENDER_ID_DESC + RECEIVER_ID_ASC + RECEIVER_ID_DESC + INVITE_TOKEN_ASC + INVITE_TOKEN_DESC + INVITE_VALID_ASC + INVITE_VALID_DESC + INVITE_LIMIT_ASC + INVITE_LIMIT_DESC + INVITE_COUNT_ASC + INVITE_COUNT_DESC + MULTIPLE_ASC + MULTIPLE_DESC + DATA_ASC + DATA_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC +} - """The `AppLimit` that was updated by this mutation.""" - appLimit: AppLimit +"""A connection to a list of `AppMembership` values.""" +type AppMembershipConnection { + """A list of `AppMembership` objects.""" + nodes: [AppMembership]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppMembership` and cursor to aid in pagination. """ - query: Query - - """An edge for our `AppLimit`. May be used by Relay 1.""" - appLimitEdge( - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitEdge -} + edges: [AppMembershipEdge]! -"""All input for the `updateAppLimit` mutation.""" -input UpdateAppLimitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - An object where the defined keys will be set on the `AppLimit` being updated. - """ - appLimitPatch: AppLimitPatch! + """The count of *all* `AppMembership` you could get from the connection.""" + totalCount: Int! } """ -Represents an update to a `AppLimit`. Fields that are set will be updated. +Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status """ -input AppLimitPatch { - id: UUID +type AppMembership { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Name identifier of the limit being tracked""" - name: String + """Whether this membership has been approved by an admin""" + isApproved: Boolean! - """User whose usage is being tracked against this limit""" - actorId: UUID + """Whether this member has been banned from the entity""" + isBanned: Boolean! - """Current usage count for this actor and limit""" - num: BigInt + """Whether this membership is temporarily disabled""" + isDisabled: Boolean! - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt + """Whether this member has been verified (e.g. email confirmation)""" + isVerified: Boolean! """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + Computed field indicating the membership is approved, verified, not banned, and not disabled """ - softMax: BigInt + isActive: Boolean! - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Whether the actor is the owner of this entity""" + isOwner: Boolean! - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput -} + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean! -"""The output of our update `OrgLimitAggregate` mutation.""" -type UpdateOrgLimitAggregatePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Aggregated permission bitmask combining profile-based and directly granted permissions """ - clientMutationId: String - - """The `OrgLimitAggregate` that was updated by this mutation.""" - orgLimitAggregate: OrgLimitAggregate + permissions: BitString! """ - Our root query field type. Allows us to run any query from our mutation payload. + Bitmask of permissions directly granted to this member (not from profiles) """ - query: Query + granted: BitString! - """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" - orgLimitAggregateEdge( - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateEdge + """References the user who holds this membership""" + actorId: UUID! + profileId: UUID } -"""All input for the `updateOrgLimitAggregate` mutation.""" -input UpdateOrgLimitAggregateInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AppMembership` edge in the connection.""" +type AppMembershipEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgLimitAggregate` being updated. - """ - orgLimitAggregatePatch: OrgLimitAggregatePatch! + """The `AppMembership` at the end of the edge.""" + node: AppMembership } """ -Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. +A filter to be used against `AppMembership` object types. All fields are combined with a logical ‘and.’ """ -input OrgLimitAggregatePatch { - id: UUID +input AppMembershipFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Name identifier of the aggregate limit being tracked""" - name: String + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Entity (org) whose aggregate usage is being tracked""" - entityId: UUID + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Current aggregate usage count for this entity and limit""" - num: BigInt + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter - """Maximum allowed aggregate usage; negative means unlimited""" - max: BigInt + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """Soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Filter by the object’s `isBanned` field.""" + isBanned: BooleanFilter - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput -} + """Filter by the object’s `isDisabled` field.""" + isDisabled: BooleanFilter -"""The output of our update `OrgMemberProfile` mutation.""" -type UpdateOrgMemberProfilePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """The `OrgMemberProfile` that was updated by this mutation.""" - orgMemberProfile: OrgMemberProfile + """Filter by the object’s `isActive` field.""" + isActive: BooleanFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `isOwner` field.""" + isOwner: BooleanFilter - """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" - orgMemberProfileEdge( - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberProfileEdge -} + """Filter by the object’s `isAdmin` field.""" + isAdmin: BooleanFilter -"""All input for the `updateOrgMemberProfile` mutation.""" -input UpdateOrgMemberProfileInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `OrgMemberProfile` being updated. - """ - orgMemberProfilePatch: OrgMemberProfilePatch! -} - -""" -Represents an update to a `OrgMemberProfile`. Fields that are set will be updated. -""" -input OrgMemberProfilePatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - - """References the membership this profile belongs to (1:1)""" - membershipId: UUID - - """References the entity this profile belongs to (used for RLS lookups)""" - entityId: UUID + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """References the user who owns this profile (for self-edit RLS)""" - actorId: UUID + """Filter by the object’s `granted` field.""" + granted: BitStringFilter - """Display name shown to other entity members""" - displayName: String + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """ - Email address visible to other entity members (auto-populated from verified primary email) - """ - email: String + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter - """Job title or role description visible to other entity members""" - title: String + """Checks for all expressions in this list.""" + and: [AppMembershipFilter!] - """Short biography visible to other entity members""" - bio: String + """Checks for any expressions in this list.""" + or: [AppMembershipFilter!] - """Profile picture visible to other entity members""" - profilePicture: ConstructiveInternalTypeImage + """Negates the expression.""" + not: AppMembershipFilter +} - """Upload for Profile picture visible to other entity members""" - profilePictureUpload: Upload +"""Methods to use when ordering `AppMembership`.""" +enum AppMembershipOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + IS_BANNED_ASC + IS_BANNED_DESC + IS_DISABLED_ASC + IS_DISABLED_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC + IS_ACTIVE_ASC + IS_ACTIVE_DESC + IS_OWNER_ASC + IS_OWNER_DESC + IS_ADMIN_ASC + IS_ADMIN_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + GRANTED_ASC + GRANTED_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC } -"""The `Upload` scalar type represents a file upload.""" -scalar Upload +"""A connection to a list of `OrgMembership` values.""" +type OrgMembershipConnection { + """A list of `OrgMembership` objects.""" + nodes: [OrgMembership]! -"""The output of our update `OrgLimit` mutation.""" -type UpdateOrgLimitPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgMembership` and cursor to aid in pagination. """ - clientMutationId: String - - """The `OrgLimit` that was updated by this mutation.""" - orgLimit: OrgLimit + edges: [OrgMembershipEdge]! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Information to aid in pagination.""" + pageInfo: PageInfo! - """An edge for our `OrgLimit`. May be used by Relay 1.""" - orgLimitEdge( - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitEdge + """The count of *all* `OrgMembership` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateOrgLimit` mutation.""" -input UpdateOrgLimitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `OrgMembership` edge in the connection.""" +type OrgMembershipEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgLimit` being updated. - """ - orgLimitPatch: OrgLimitPatch! + """The `OrgMembership` at the end of the edge.""" + node: OrgMembership } -""" -Represents an update to a `OrgLimit`. Fields that are set will be updated. -""" -input OrgLimitPatch { - id: UUID - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" - actorId: UUID +"""Methods to use when ordering `OrgMembership`.""" +enum OrgMembershipOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + IS_BANNED_ASC + IS_BANNED_DESC + IS_DISABLED_ASC + IS_DISABLED_DESC + IS_ACTIVE_ASC + IS_ACTIVE_DESC + IS_EXTERNAL_ASC + IS_EXTERNAL_DESC + IS_OWNER_ASC + IS_OWNER_DESC + IS_ADMIN_ASC + IS_ADMIN_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + GRANTED_ASC + GRANTED_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + IS_READ_ONLY_ASC + IS_READ_ONLY_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC +} - """Current usage count for this actor and limit""" - num: BigInt +"""Root meta schema type""" +type MetaSchema { + tables: [MetaTable!]! +} - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt +"""Information about a database table""" +type MetaTable { + name: String! + schemaName: String! + fields: [MetaField!]! + indexes: [MetaIndex!]! + constraints: MetaConstraints! + foreignKeyConstraints: [MetaForeignKeyConstraint!]! + primaryKeyConstraints: [MetaPrimaryKeyConstraint!]! + uniqueConstraints: [MetaUniqueConstraint!]! + relations: MetaRelations! + inflection: MetaInflection! + query: MetaQuery! +} - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt +"""Information about a table field/column""" +type MetaField { + name: String! + type: MetaType! + isNotNull: Boolean! + hasDefault: Boolean! + isPrimaryKey: Boolean! + isForeignKey: Boolean! + description: String +} - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime +"""Information about a PostgreSQL type""" +type MetaType { + pgType: String! + gqlType: String! + isArray: Boolean! + isNotNull: Boolean + hasDefault: Boolean + subtype: String +} - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput - entityId: UUID +"""Information about a database index""" +type MetaIndex { + name: String! + isUnique: Boolean! + isPrimary: Boolean! + columns: [String!]! + fields: [MetaField!] } -"""The output of our update `AppLevel` mutation.""" -type UpdateAppLevelPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppLevel` that was updated by this mutation.""" - appLevel: AppLevel - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `AppLevel`. May be used by Relay 1.""" - appLevelEdge( - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelEdge +"""Table constraints""" +type MetaConstraints { + primaryKey: MetaPrimaryKeyConstraint + unique: [MetaUniqueConstraint!]! + foreignKey: [MetaForeignKeyConstraint!]! } -"""All input for the `updateAppLevel` mutation.""" -input UpdateAppLevelInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `AppLevel` being updated. - """ - appLevelPatch: AppLevelPatch! +"""Information about a primary key constraint""" +type MetaPrimaryKeyConstraint { + name: String! + fields: [MetaField!]! } -""" -Represents an update to a `AppLevel`. Fields that are set will be updated. -""" -input AppLevelPatch { - id: UUID - - """Unique name of the level""" - name: String - - """Human-readable description of what this level represents""" - description: String - - """Badge or icon image associated with this level""" - image: ConstructiveInternalTypeImage +"""Information about a unique constraint""" +type MetaUniqueConstraint { + name: String! + fields: [MetaField!]! +} - """Optional owner (actor) who created or manages this level""" - ownerId: UUID - createdAt: Datetime - updatedAt: Datetime +"""Information about a foreign key constraint""" +type MetaForeignKeyConstraint { + name: String! + fields: [MetaField!]! + referencedTable: String! + referencedFields: [String!]! + refFields: [MetaField!] + refTable: MetaRefTable +} - """Upload for Badge or icon image associated with this level""" - imageUpload: Upload +"""Reference to a related table""" +type MetaRefTable { + name: String! } -"""The output of our update `AppInvite` mutation.""" -type UpdateAppInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Table relations""" +type MetaRelations { + belongsTo: [MetaBelongsToRelation!]! + has: [MetaHasRelation!]! + hasOne: [MetaHasRelation!]! + hasMany: [MetaHasRelation!]! + manyToMany: [MetaManyToManyRelation!]! +} - """The `AppInvite` that was updated by this mutation.""" - appInvite: AppInvite +"""A belongs-to (forward FK) relation""" +type MetaBelongsToRelation { + fieldName: String + isUnique: Boolean! + type: String + keys: [MetaField!]! + references: MetaRefTable! +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A has-one or has-many (reverse FK) relation""" +type MetaHasRelation { + fieldName: String + isUnique: Boolean! + type: String + keys: [MetaField!]! + referencedBy: MetaRefTable! +} - """An edge for our `AppInvite`. May be used by Relay 1.""" - appInviteEdge( - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppInviteEdge +"""A many-to-many relation via junction table""" +type MetaManyToManyRelation { + fieldName: String + type: String + junctionTable: MetaRefTable! + junctionLeftConstraint: MetaForeignKeyConstraint! + junctionLeftKeyAttributes: [MetaField!]! + junctionRightConstraint: MetaForeignKeyConstraint! + junctionRightKeyAttributes: [MetaField!]! + leftKeyAttributes: [MetaField!]! + rightKeyAttributes: [MetaField!]! + rightTable: MetaRefTable! } -"""All input for the `updateAppInvite` mutation.""" -input UpdateAppInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Table inflection names""" +type MetaInflection { + tableType: String! + allRows: String! + connection: String! + edge: String! + filterType: String + orderByType: String! + conditionType: String! + patchType: String + createInputType: String! + createPayloadType: String! + updatePayloadType: String + deletePayloadType: String! +} - """ - An object where the defined keys will be set on the `AppInvite` being updated. - """ - appInvitePatch: AppInvitePatch! +"""Table query/mutation names""" +type MetaQuery { + all: String! + one: String + create: String + update: String + delete: String } """ -Represents an update to a `AppInvite`. Fields that are set will be updated. +The root mutation type which contains root level fields which mutate data. """ -input AppInvitePatch { - id: UUID - - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail +type Mutation { + submitAppInviteCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SubmitAppInviteCodeInput! + ): SubmitAppInviteCodePayload + submitOrgInviteCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SubmitOrgInviteCodeInput! + ): SubmitOrgInviteCodePayload - """User ID of the member who sent this invitation""" - senderId: UUID + """Creates a single `AppLimitCreditRedemption`.""" + createAppLimitCreditRedemption( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditRedemptionInput! + ): CreateAppLimitCreditRedemptionPayload - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """Creates a single `OrgMember`.""" + createOrgMember( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMemberInput! + ): CreateOrgMemberPayload - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Creates a single `AppPermissionDefault`.""" + createAppPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppPermissionDefaultInput! + ): CreateAppPermissionDefaultPayload - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """Creates a single `AppLimitCreditCode`.""" + createAppLimitCreditCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditCodeInput! + ): CreateAppLimitCreditCodePayload - """Running count of how many times this invite has been claimed""" - inviteCount: Int + """Creates a single `OrgPermissionDefault`.""" + createOrgPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgPermissionDefaultInput! + ): CreateOrgPermissionDefaultPayload - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """Creates a single `AppPermission`.""" + createAppPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppPermissionInput! + ): CreateAppPermissionPayload - """Optional JSON payload of additional invite metadata""" - data: JSON + """Creates a single `OrgPermission`.""" + createOrgPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgPermissionInput! + ): CreateOrgPermissionPayload - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """Creates a single `AppAdminGrant`.""" + createAppAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppAdminGrantInput! + ): CreateAppAdminGrantPayload - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime -} + """Creates a single `AppOwnerGrant`.""" + createAppOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppOwnerGrantInput! + ): CreateAppOwnerGrantPayload -"""The output of our update `OrgMembershipSetting` mutation.""" -type UpdateOrgMembershipSettingPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppAchievement`.""" + createAppAchievement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppAchievementInput! + ): CreateAppAchievementPayload - """The `OrgMembershipSetting` that was updated by this mutation.""" - orgMembershipSetting: OrgMembershipSetting + """Creates a single `AppStep`.""" + createAppStep( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppStepInput! + ): CreateAppStepPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `AppLimitCapsDefault`.""" + createAppLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCapsDefaultInput! + ): CreateAppLimitCapsDefaultPayload - """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" - orgMembershipSettingEdge( - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingEdge -} + """Creates a single `OrgLimitCapsDefault`.""" + createOrgLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitCapsDefaultInput! + ): CreateOrgLimitCapsDefaultPayload -"""All input for the `updateOrgMembershipSetting` mutation.""" -input UpdateOrgMembershipSettingInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `AppLimitCap`.""" + createAppLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCapInput! + ): CreateAppLimitCapPayload - """ - An object where the defined keys will be set on the `OrgMembershipSetting` being updated. - """ - orgMembershipSettingPatch: OrgMembershipSettingPatch! -} + """Creates a single `OrgLimitCap`.""" + createOrgLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitCapInput! + ): CreateOrgLimitCapPayload -""" -Represents an update to a `OrgMembershipSetting`. Fields that are set will be updated. -""" -input OrgMembershipSettingPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Creates a single `OrgAdminGrant`.""" + createOrgAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgAdminGrantInput! + ): CreateOrgAdminGrantPayload - """References the entity these settings apply to""" - entityId: UUID + """Creates a single `OrgOwnerGrant`.""" + createOrgOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgOwnerGrantInput! + ): CreateOrgOwnerGrantPayload - """ - When a member is deleted, whether to cascade-remove their descendant-entity memberships - """ - deleteMemberCascadeChildren: Boolean + """Creates a single `MembershipType`.""" + createMembershipType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateMembershipTypeInput! + ): CreateMembershipTypePayload - """ - When a child entity is created, whether to auto-add existing org-level owners as child-entity owners - """ - createChildCascadeOwners: Boolean + """Creates a single `AppLimitDefault`.""" + createAppLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitDefaultInput! + ): CreateAppLimitDefaultPayload - """ - When a child entity is created, whether to auto-add existing org-level admins as child-entity admins - """ - createChildCascadeAdmins: Boolean + """Creates a single `OrgLimitDefault`.""" + createOrgLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitDefaultInput! + ): CreateOrgLimitDefaultPayload - """ - When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members - """ - createChildCascadeMembers: Boolean + """Creates a single `AppLimitCreditCodeItem`.""" + createAppLimitCreditCodeItem( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditCodeItemInput! + ): CreateAppLimitCreditCodeItemPayload - """ - Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) - """ - allowExternalMembers: Boolean + """Creates a single `AppLevelRequirement`.""" + createAppLevelRequirement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLevelRequirementInput! + ): CreateAppLevelRequirementPayload - """ - Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) - """ - inviteProfileAssignmentMode: String + """Creates a single `AppLimitCredit`.""" + createAppLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditInput! + ): CreateAppLimitCreditPayload - """ - Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. - """ - populateMemberEmail: Boolean + """Creates a single `OrgLimitCredit`.""" + createOrgLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitCreditInput! + ): CreateOrgLimitCreditPayload - """ - Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) - """ - limitAllocationMode: String -} + """Creates a single `OrgChartEdgeGrant`.""" + createOrgChartEdgeGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgChartEdgeGrantInput! + ): CreateOrgChartEdgeGrantPayload -"""The output of our update `OrgInvite` mutation.""" -type UpdateOrgInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppClaimedInvite`.""" + createAppClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppClaimedInviteInput! + ): CreateAppClaimedInvitePayload - """The `OrgInvite` that was updated by this mutation.""" - orgInvite: OrgInvite + """Creates a single `AppGrant`.""" + createAppGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppGrantInput! + ): CreateAppGrantPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `AppMembershipDefault`.""" + createAppMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppMembershipDefaultInput! + ): CreateAppMembershipDefaultPayload - """An edge for our `OrgInvite`. May be used by Relay 1.""" - orgInviteEdge( - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgInviteEdge -} + """Creates a single `OrgMembershipDefault`.""" + createOrgMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMembershipDefaultInput! + ): CreateOrgMembershipDefaultPayload -"""All input for the `updateOrgInvite` mutation.""" -input UpdateOrgInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `OrgClaimedInvite`.""" + createOrgClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgClaimedInviteInput! + ): CreateOrgClaimedInvitePayload - """ - An object where the defined keys will be set on the `OrgInvite` being updated. - """ - orgInvitePatch: OrgInvitePatch! -} + """Creates a single `AppLimitEvent`.""" + createAppLimitEvent( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitEventInput! + ): CreateAppLimitEventPayload -""" -Represents an update to a `OrgInvite`. Fields that are set will be updated. -""" -input OrgInvitePatch { - id: UUID + """Creates a single `OrgLimitEvent`.""" + createOrgLimitEvent( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitEventInput! + ): CreateOrgLimitEventPayload - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail - - """User ID of the member who sent this invitation""" - senderId: UUID + """Creates a single `OrgGrant`.""" + createOrgGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgGrantInput! + ): CreateOrgGrantPayload - """User ID of the intended recipient, if targeting a specific user""" - receiverId: UUID + """Creates a single `OrgChartEdge`.""" + createOrgChartEdge( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgChartEdgeInput! + ): CreateOrgChartEdgePayload - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """Creates a single `OrgMemberProfile`.""" + createOrgMemberProfile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMemberProfileInput! + ): CreateOrgMemberProfilePayload - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Creates a single `AppLevel`.""" + createAppLevel( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLevelInput! + ): CreateAppLevelPayload - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """Creates a single `AppLimit`.""" + createAppLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitInput! + ): CreateAppLimitPayload - """Running count of how many times this invite has been claimed""" - inviteCount: Int + """Creates a single `AppInvite`.""" + createAppInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppInviteInput! + ): CreateAppInvitePayload - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """Creates a single `OrgMembershipSetting`.""" + createOrgMembershipSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMembershipSettingInput! + ): CreateOrgMembershipSettingPayload - """Optional JSON payload of additional invite metadata""" - data: JSON + """Creates a single `OrgLimitAggregate`.""" + createOrgLimitAggregate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitAggregateInput! + ): CreateOrgLimitAggregatePayload - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """Creates a single `OrgLimit`.""" + createOrgLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitInput! + ): CreateOrgLimitPayload - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime - entityId: UUID -} + """Creates a single `OrgInvite`.""" + createOrgInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgInviteInput! + ): CreateOrgInvitePayload -"""The output of our update `AppMembership` mutation.""" -type UpdateAppMembershipPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppMembership`.""" + createAppMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppMembershipInput! + ): CreateAppMembershipPayload - """The `AppMembership` that was updated by this mutation.""" - appMembership: AppMembership + """Creates a single `OrgMembership`.""" + createOrgMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMembershipInput! + ): CreateOrgMembershipPayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Updates a single `AppLimitCreditRedemption` using a unique key and a patch. """ - query: Query + updateAppLimitCreditRedemption( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditRedemptionInput! + ): UpdateAppLimitCreditRedemptionPayload - """An edge for our `AppMembership`. May be used by Relay 1.""" - appMembershipEdge( - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipEdge -} + """Updates a single `OrgMember` using a unique key and a patch.""" + updateOrgMember( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMemberInput! + ): UpdateOrgMemberPayload -"""All input for the `updateAppMembership` mutation.""" -input UpdateAppMembershipInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Updates a single `AppPermissionDefault` using a unique key and a patch. """ - clientMutationId: String - id: UUID! + updateAppPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppPermissionDefaultInput! + ): UpdateAppPermissionDefaultPayload + + """Updates a single `AppLimitCreditCode` using a unique key and a patch.""" + updateAppLimitCreditCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditCodeInput! + ): UpdateAppLimitCreditCodePayload """ - An object where the defined keys will be set on the `AppMembership` being updated. + Updates a single `OrgPermissionDefault` using a unique key and a patch. """ - appMembershipPatch: AppMembershipPatch! -} + updateOrgPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgPermissionDefaultInput! + ): UpdateOrgPermissionDefaultPayload -""" -Represents an update to a `AppMembership`. Fields that are set will be updated. -""" -input AppMembershipPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Updates a single `AppPermission` using a unique key and a patch.""" + updateAppPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppPermissionInput! + ): UpdateAppPermissionPayload - """Whether this membership has been approved by an admin""" - isApproved: Boolean + """Updates a single `OrgPermission` using a unique key and a patch.""" + updateOrgPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgPermissionInput! + ): UpdateOrgPermissionPayload - """Whether this member has been banned from the entity""" - isBanned: Boolean + """Updates a single `AppAdminGrant` using a unique key and a patch.""" + updateAppAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppAdminGrantInput! + ): UpdateAppAdminGrantPayload - """Whether this membership is temporarily disabled""" - isDisabled: Boolean + """Updates a single `AppOwnerGrant` using a unique key and a patch.""" + updateAppOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppOwnerGrantInput! + ): UpdateAppOwnerGrantPayload - """Whether this member has been verified (e.g. email confirmation)""" - isVerified: Boolean + """Updates a single `AppAchievement` using a unique key and a patch.""" + updateAppAchievement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppAchievementInput! + ): UpdateAppAchievementPayload - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean + """Updates a single `AppStep` using a unique key and a patch.""" + updateAppStep( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppStepInput! + ): UpdateAppStepPayload - """Whether the actor is the owner of this entity""" - isOwner: Boolean + """Updates a single `AppLimitCapsDefault` using a unique key and a patch.""" + updateAppLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCapsDefaultInput! + ): UpdateAppLimitCapsDefaultPayload - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean + """Updates a single `OrgLimitCapsDefault` using a unique key and a patch.""" + updateOrgLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitCapsDefaultInput! + ): UpdateOrgLimitCapsDefaultPayload - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString + """Updates a single `AppLimitCap` using a unique key and a patch.""" + updateAppLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCapInput! + ): UpdateAppLimitCapPayload - """ - Bitmask of permissions directly granted to this member (not from profiles) - """ - granted: BitString + """Updates a single `OrgLimitCap` using a unique key and a patch.""" + updateOrgLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitCapInput! + ): UpdateOrgLimitCapPayload - """References the user who holds this membership""" - actorId: UUID - profileId: UUID -} + """Updates a single `OrgAdminGrant` using a unique key and a patch.""" + updateOrgAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgAdminGrantInput! + ): UpdateOrgAdminGrantPayload -"""The output of our update `OrgMembership` mutation.""" -type UpdateOrgMembershipPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `OrgOwnerGrant` using a unique key and a patch.""" + updateOrgOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgOwnerGrantInput! + ): UpdateOrgOwnerGrantPayload - """The `OrgMembership` that was updated by this mutation.""" - orgMembership: OrgMembership + """Updates a single `MembershipType` using a unique key and a patch.""" + updateMembershipType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateMembershipTypeInput! + ): UpdateMembershipTypePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `AppLimitDefault` using a unique key and a patch.""" + updateAppLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitDefaultInput! + ): UpdateAppLimitDefaultPayload - """An edge for our `OrgMembership`. May be used by Relay 1.""" - orgMembershipEdge( - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipEdge -} + """Updates a single `OrgLimitDefault` using a unique key and a patch.""" + updateOrgLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitDefaultInput! + ): UpdateOrgLimitDefaultPayload -"""All input for the `updateOrgMembership` mutation.""" -input UpdateOrgMembershipInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Updates a single `AppLimitCreditCodeItem` using a unique key and a patch. """ - clientMutationId: String - id: UUID! + updateAppLimitCreditCodeItem( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditCodeItemInput! + ): UpdateAppLimitCreditCodeItemPayload - """ - An object where the defined keys will be set on the `OrgMembership` being updated. - """ - orgMembershipPatch: OrgMembershipPatch! -} + """Updates a single `AppLevelRequirement` using a unique key and a patch.""" + updateAppLevelRequirement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLevelRequirementInput! + ): UpdateAppLevelRequirementPayload -""" -Represents an update to a `OrgMembership`. Fields that are set will be updated. -""" -input OrgMembershipPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Updates a single `AppLimitCredit` using a unique key and a patch.""" + updateAppLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditInput! + ): UpdateAppLimitCreditPayload - """Whether this membership has been approved by an admin""" - isApproved: Boolean + """Updates a single `OrgLimitCredit` using a unique key and a patch.""" + updateOrgLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitCreditInput! + ): UpdateOrgLimitCreditPayload - """Whether this member has been banned from the entity""" - isBanned: Boolean + """Updates a single `OrgChartEdgeGrant` using a unique key and a patch.""" + updateOrgChartEdgeGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgChartEdgeGrantInput! + ): UpdateOrgChartEdgeGrantPayload - """Whether this membership is temporarily disabled""" - isDisabled: Boolean + """Updates a single `AppClaimedInvite` using a unique key and a patch.""" + updateAppClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppClaimedInviteInput! + ): UpdateAppClaimedInvitePayload + + """Updates a single `AppGrant` using a unique key and a patch.""" + updateAppGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppGrantInput! + ): UpdateAppGrantPayload """ - Computed field indicating the membership is approved, verified, not banned, and not disabled + Updates a single `AppMembershipDefault` using a unique key and a patch. """ - isActive: Boolean + updateAppMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppMembershipDefaultInput! + ): UpdateAppMembershipDefaultPayload """ - Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + Updates a single `OrgMembershipDefault` using a unique key and a patch. """ - isExternal: Boolean + updateOrgMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMembershipDefaultInput! + ): UpdateOrgMembershipDefaultPayload - """Whether the actor is the owner of this entity""" - isOwner: Boolean + """Updates a single `OrgClaimedInvite` using a unique key and a patch.""" + updateOrgClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgClaimedInviteInput! + ): UpdateOrgClaimedInvitePayload - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean + """Updates a single `OrgGrant` using a unique key and a patch.""" + updateOrgGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgGrantInput! + ): UpdateOrgGrantPayload - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString + """Updates a single `OrgChartEdge` using a unique key and a patch.""" + updateOrgChartEdge( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgChartEdgeInput! + ): UpdateOrgChartEdgePayload - """ - Bitmask of permissions directly granted to this member (not from profiles) - """ - granted: BitString + """Updates a single `OrgMemberProfile` using a unique key and a patch.""" + updateOrgMemberProfile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMemberProfileInput! + ): UpdateOrgMemberProfilePayload - """References the user who holds this membership""" - actorId: UUID + """Updates a single `AppLevel` using a unique key and a patch.""" + updateAppLevel( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLevelInput! + ): UpdateAppLevelPayload - """References the entity (org or group) this membership belongs to""" - entityId: UUID + """Updates a single `AppLimit` using a unique key and a patch.""" + updateAppLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitInput! + ): UpdateAppLimitPayload - """Whether this member has read-only access (blocks mutations when true)""" - isReadOnly: Boolean - profileId: UUID -} + """Updates a single `AppInvite` using a unique key and a patch.""" + updateAppInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppInviteInput! + ): UpdateAppInvitePayload -"""The output of our delete `OrgMember` mutation.""" -type DeleteOrgMemberPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Updates a single `OrgMembershipSetting` using a unique key and a patch. """ - clientMutationId: String + updateOrgMembershipSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMembershipSettingInput! + ): UpdateOrgMembershipSettingPayload - """The `OrgMember` that was deleted by this mutation.""" - orgMember: OrgMember + """Updates a single `OrgLimitAggregate` using a unique key and a patch.""" + updateOrgLimitAggregate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitAggregateInput! + ): UpdateOrgLimitAggregatePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `OrgLimit` using a unique key and a patch.""" + updateOrgLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitInput! + ): UpdateOrgLimitPayload - """An edge for our `OrgMember`. May be used by Relay 1.""" - orgMemberEdge( - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberEdge -} + """Updates a single `OrgInvite` using a unique key and a patch.""" + updateOrgInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgInviteInput! + ): UpdateOrgInvitePayload -"""All input for the `deleteOrgMember` mutation.""" -input DeleteOrgMemberInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! -} - -"""The output of our delete `AppPermissionDefault` mutation.""" -type DeleteAppPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `AppMembership` using a unique key and a patch.""" + updateAppMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppMembershipInput! + ): UpdateAppMembershipPayload - """The `AppPermissionDefault` that was deleted by this mutation.""" - appPermissionDefault: AppPermissionDefault + """Updates a single `OrgMembership` using a unique key and a patch.""" + updateOrgMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMembershipInput! + ): UpdateOrgMembershipPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `AppLimitCreditRedemption` using a unique key.""" + deleteAppLimitCreditRedemption( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditRedemptionInput! + ): DeleteAppLimitCreditRedemptionPayload - """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" - appPermissionDefaultEdge( - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultEdge -} + """Deletes a single `OrgMember` using a unique key.""" + deleteOrgMember( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMemberInput! + ): DeleteOrgMemberPayload -"""All input for the `deleteAppPermissionDefault` mutation.""" -input DeleteAppPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! -} + """Deletes a single `AppPermissionDefault` using a unique key.""" + deleteAppPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppPermissionDefaultInput! + ): DeleteAppPermissionDefaultPayload -"""The output of our delete `OrgPermissionDefault` mutation.""" -type DeleteOrgPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `AppLimitCreditCode` using a unique key.""" + deleteAppLimitCreditCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditCodeInput! + ): DeleteAppLimitCreditCodePayload - """The `OrgPermissionDefault` that was deleted by this mutation.""" - orgPermissionDefault: OrgPermissionDefault + """Deletes a single `OrgPermissionDefault` using a unique key.""" + deleteOrgPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgPermissionDefaultInput! + ): DeleteOrgPermissionDefaultPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `AppPermission` using a unique key.""" + deleteAppPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppPermissionInput! + ): DeleteAppPermissionPayload - """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" - orgPermissionDefaultEdge( - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultEdge -} + """Deletes a single `OrgPermission` using a unique key.""" + deleteOrgPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgPermissionInput! + ): DeleteOrgPermissionPayload -"""All input for the `deleteOrgPermissionDefault` mutation.""" -input DeleteOrgPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! -} + """Deletes a single `AppAdminGrant` using a unique key.""" + deleteAppAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppAdminGrantInput! + ): DeleteAppAdminGrantPayload -"""The output of our delete `AppPermission` mutation.""" -type DeleteAppPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `AppOwnerGrant` using a unique key.""" + deleteAppOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppOwnerGrantInput! + ): DeleteAppOwnerGrantPayload - """The `AppPermission` that was deleted by this mutation.""" - appPermission: AppPermission + """Deletes a single `AppAchievement` using a unique key.""" + deleteAppAchievement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppAchievementInput! + ): DeleteAppAchievementPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `AppStep` using a unique key.""" + deleteAppStep( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppStepInput! + ): DeleteAppStepPayload - """An edge for our `AppPermission`. May be used by Relay 1.""" - appPermissionEdge( - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionEdge -} + """Deletes a single `AppLimitCapsDefault` using a unique key.""" + deleteAppLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCapsDefaultInput! + ): DeleteAppLimitCapsDefaultPayload -"""All input for the `deleteAppPermission` mutation.""" -input DeleteAppPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! -} + """Deletes a single `OrgLimitCapsDefault` using a unique key.""" + deleteOrgLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitCapsDefaultInput! + ): DeleteOrgLimitCapsDefaultPayload -"""The output of our delete `OrgPermission` mutation.""" -type DeleteOrgPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `AppLimitCap` using a unique key.""" + deleteAppLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCapInput! + ): DeleteAppLimitCapPayload - """The `OrgPermission` that was deleted by this mutation.""" - orgPermission: OrgPermission + """Deletes a single `OrgLimitCap` using a unique key.""" + deleteOrgLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitCapInput! + ): DeleteOrgLimitCapPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `OrgAdminGrant` using a unique key.""" + deleteOrgAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgAdminGrantInput! + ): DeleteOrgAdminGrantPayload - """An edge for our `OrgPermission`. May be used by Relay 1.""" - orgPermissionEdge( - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionEdge -} + """Deletes a single `OrgOwnerGrant` using a unique key.""" + deleteOrgOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgOwnerGrantInput! + ): DeleteOrgOwnerGrantPayload -"""All input for the `deleteOrgPermission` mutation.""" -input DeleteOrgPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! -} + """Deletes a single `MembershipType` using a unique key.""" + deleteMembershipType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteMembershipTypeInput! + ): DeleteMembershipTypePayload -"""The output of our delete `AppAdminGrant` mutation.""" -type DeleteAppAdminGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `AppLimitDefault` using a unique key.""" + deleteAppLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitDefaultInput! + ): DeleteAppLimitDefaultPayload - """The `AppAdminGrant` that was deleted by this mutation.""" - appAdminGrant: AppAdminGrant + """Deletes a single `OrgLimitDefault` using a unique key.""" + deleteOrgLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitDefaultInput! + ): DeleteOrgLimitDefaultPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `AppLimitCreditCodeItem` using a unique key.""" + deleteAppLimitCreditCodeItem( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditCodeItemInput! + ): DeleteAppLimitCreditCodeItemPayload - """An edge for our `AppAdminGrant`. May be used by Relay 1.""" - appAdminGrantEdge( - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAdminGrantEdge -} + """Deletes a single `AppLevelRequirement` using a unique key.""" + deleteAppLevelRequirement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLevelRequirementInput! + ): DeleteAppLevelRequirementPayload + + """Deletes a single `AppLimitCredit` using a unique key.""" + deleteAppLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditInput! + ): DeleteAppLimitCreditPayload + + """Deletes a single `OrgLimitCredit` using a unique key.""" + deleteOrgLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitCreditInput! + ): DeleteOrgLimitCreditPayload + + """Deletes a single `OrgChartEdgeGrant` using a unique key.""" + deleteOrgChartEdgeGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgChartEdgeGrantInput! + ): DeleteOrgChartEdgeGrantPayload + + """Deletes a single `AppClaimedInvite` using a unique key.""" + deleteAppClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppClaimedInviteInput! + ): DeleteAppClaimedInvitePayload + + """Deletes a single `AppGrant` using a unique key.""" + deleteAppGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppGrantInput! + ): DeleteAppGrantPayload + + """Deletes a single `AppMembershipDefault` using a unique key.""" + deleteAppMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppMembershipDefaultInput! + ): DeleteAppMembershipDefaultPayload + + """Deletes a single `OrgMembershipDefault` using a unique key.""" + deleteOrgMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMembershipDefaultInput! + ): DeleteOrgMembershipDefaultPayload + + """Deletes a single `OrgClaimedInvite` using a unique key.""" + deleteOrgClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgClaimedInviteInput! + ): DeleteOrgClaimedInvitePayload + + """Deletes a single `OrgGrant` using a unique key.""" + deleteOrgGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgGrantInput! + ): DeleteOrgGrantPayload + + """Deletes a single `OrgChartEdge` using a unique key.""" + deleteOrgChartEdge( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgChartEdgeInput! + ): DeleteOrgChartEdgePayload + + """Deletes a single `OrgMemberProfile` using a unique key.""" + deleteOrgMemberProfile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMemberProfileInput! + ): DeleteOrgMemberProfilePayload + + """Deletes a single `AppLevel` using a unique key.""" + deleteAppLevel( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLevelInput! + ): DeleteAppLevelPayload + + """Deletes a single `AppLimit` using a unique key.""" + deleteAppLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitInput! + ): DeleteAppLimitPayload + + """Deletes a single `AppInvite` using a unique key.""" + deleteAppInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppInviteInput! + ): DeleteAppInvitePayload + + """Deletes a single `OrgMembershipSetting` using a unique key.""" + deleteOrgMembershipSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMembershipSettingInput! + ): DeleteOrgMembershipSettingPayload + + """Deletes a single `OrgLimitAggregate` using a unique key.""" + deleteOrgLimitAggregate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitAggregateInput! + ): DeleteOrgLimitAggregatePayload + + """Deletes a single `OrgLimit` using a unique key.""" + deleteOrgLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitInput! + ): DeleteOrgLimitPayload + + """Deletes a single `OrgInvite` using a unique key.""" + deleteOrgInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgInviteInput! + ): DeleteOrgInvitePayload + + """Deletes a single `AppMembership` using a unique key.""" + deleteAppMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppMembershipInput! + ): DeleteAppMembershipPayload + + """Deletes a single `OrgMembership` using a unique key.""" + deleteOrgMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMembershipInput! + ): DeleteOrgMembershipPayload -"""All input for the `deleteAppAdminGrant` mutation.""" -input DeleteAppAdminGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Provision an S3 bucket for a logical bucket in the database. + Reads the bucket config via RLS, then creates and configures + the S3 bucket with the appropriate privacy policies, CORS rules, + and lifecycle settings. """ - clientMutationId: String - id: UUID! + provisionBucket( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionBucketInput! + ): ProvisionBucketPayload } -"""The output of our delete `AppOwnerGrant` mutation.""" -type DeleteAppOwnerGrantPayload { +"""The output of our `submitAppInviteCode` mutation.""" +type SubmitAppInviteCodePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `AppOwnerGrant` that was deleted by this mutation.""" - appOwnerGrant: AppOwnerGrant + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" - appOwnerGrantEdge( - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppOwnerGrantEdge } -"""All input for the `deleteAppOwnerGrant` mutation.""" -input DeleteAppOwnerGrantInput { +"""All input for the `submitAppInviteCode` mutation.""" +input SubmitAppInviteCodeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + token: String } -"""The output of our delete `AppAchievement` mutation.""" -type DeleteAppAchievementPayload { +"""The output of our `submitOrgInviteCode` mutation.""" +type SubmitOrgInviteCodePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `AppAchievement` that was deleted by this mutation.""" - appAchievement: AppAchievement + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `AppAchievement`. May be used by Relay 1.""" - appAchievementEdge( - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAchievementEdge } -"""All input for the `deleteAppAchievement` mutation.""" -input DeleteAppAchievementInput { +"""All input for the `submitOrgInviteCode` mutation.""" +input SubmitOrgInviteCodeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + token: String } -"""The output of our delete `AppStep` mutation.""" -type DeleteAppStepPayload { +"""The output of our create `AppLimitCreditRedemption` mutation.""" +type CreateAppLimitCreditRedemptionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppStep` that was deleted by this mutation.""" - appStep: AppStep + """The `AppLimitCreditRedemption` that was created by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemption """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppStep`. May be used by Relay 1.""" - appStepEdge( - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppStepEdge + """An edge for our `AppLimitCreditRedemption`. May be used by Relay 1.""" + appLimitCreditRedemptionEdge( + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionEdge } -"""All input for the `deleteAppStep` mutation.""" -input DeleteAppStepInput { +"""All input for the create `AppLimitCreditRedemption` mutation.""" +input CreateAppLimitCreditRedemptionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppLimitCreditRedemption` to be created by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemptionInput! } -"""The output of our delete `OrgAdminGrant` mutation.""" -type DeleteOrgAdminGrantPayload { +"""An input for mutations affecting `AppLimitCreditRedemption`""" +input AppLimitCreditRedemptionInput { + id: UUID + + """FK to credit_codes — which code is being redeemed""" + creditCodeId: UUID! + + """Entity receiving the credits (personal org user_id or org entity_id)""" + entityId: UUID! +} + +"""The output of our create `OrgMember` mutation.""" +type CreateOrgMemberPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgAdminGrant` that was deleted by this mutation.""" - orgAdminGrant: OrgAdminGrant + """The `OrgMember` that was created by this mutation.""" + orgMember: OrgMember """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" - orgAdminGrantEdge( - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgAdminGrantEdge + """An edge for our `OrgMember`. May be used by Relay 1.""" + orgMemberEdge( + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberEdge } -"""All input for the `deleteOrgAdminGrant` mutation.""" -input DeleteOrgAdminGrantInput { +"""All input for the create `OrgMember` mutation.""" +input CreateOrgMemberInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgMember` to be created by this mutation.""" + orgMember: OrgMemberInput! } -"""The output of our delete `OrgOwnerGrant` mutation.""" -type DeleteOrgOwnerGrantPayload { +"""An input for mutations affecting `OrgMember`""" +input OrgMemberInput { + id: UUID + + """Whether this member has admin privileges""" + isAdmin: Boolean + + """References the user who is a member""" + actorId: UUID! + + """References the entity (org or group) this member belongs to""" + entityId: UUID! +} + +"""The output of our create `AppPermissionDefault` mutation.""" +type CreateAppPermissionDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgOwnerGrant` that was deleted by this mutation.""" - orgOwnerGrant: OrgOwnerGrant + """The `AppPermissionDefault` that was created by this mutation.""" + appPermissionDefault: AppPermissionDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" - orgOwnerGrantEdge( - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantEdge + """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" + appPermissionDefaultEdge( + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultEdge } -"""All input for the `deleteOrgOwnerGrant` mutation.""" -input DeleteOrgOwnerGrantInput { +"""All input for the create `AppPermissionDefault` mutation.""" +input CreateAppPermissionDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppPermissionDefault` to be created by this mutation.""" + appPermissionDefault: AppPermissionDefaultInput! } -"""The output of our delete `MembershipType` mutation.""" -type DeleteMembershipTypePayload { +"""An input for mutations affecting `AppPermissionDefault`""" +input AppPermissionDefaultInput { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString +} + +"""The output of our create `AppLimitCreditCode` mutation.""" +type CreateAppLimitCreditCodePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `MembershipType` that was deleted by this mutation.""" - membershipType: MembershipType + """The `AppLimitCreditCode` that was created by this mutation.""" + appLimitCreditCode: AppLimitCreditCode """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `MembershipType`. May be used by Relay 1.""" - membershipTypeEdge( - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypeEdge + """An edge for our `AppLimitCreditCode`. May be used by Relay 1.""" + appLimitCreditCodeEdge( + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeEdge } -"""All input for the `deleteMembershipType` mutation.""" -input DeleteMembershipTypeInput { +"""All input for the create `AppLimitCreditCode` mutation.""" +input CreateAppLimitCreditCodeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String + """The `AppLimitCreditCode` to be created by this mutation.""" + appLimitCreditCode: AppLimitCreditCodeInput! +} + +"""An input for mutations affecting `AppLimitCreditCode`""" +input AppLimitCreditCodeInput { + id: UUID + + """Human-readable credit code (case-insensitive, unique)""" + code: String! + + """Maximum total redemptions allowed; NULL for unlimited""" + maxRedemptions: Int + """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + Current number of redemptions (incremented by trigger on credit_redemptions) """ - id: Int! + currentRedemptions: Int + + """Expiration timestamp; NULL for no expiry""" + expiresAt: Datetime } -"""The output of our delete `AppLimitDefault` mutation.""" -type DeleteAppLimitDefaultPayload { +"""The output of our create `OrgPermissionDefault` mutation.""" +type CreateOrgPermissionDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppLimitDefault` that was deleted by this mutation.""" - appLimitDefault: AppLimitDefault + """The `OrgPermissionDefault` that was created by this mutation.""" + orgPermissionDefault: OrgPermissionDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppLimitDefault`. May be used by Relay 1.""" - appLimitDefaultEdge( - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitDefaultEdge + """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" + orgPermissionDefaultEdge( + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultEdge } -"""All input for the `deleteAppLimitDefault` mutation.""" -input DeleteAppLimitDefaultInput { +"""All input for the create `OrgPermissionDefault` mutation.""" +input CreateOrgPermissionDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgPermissionDefault` to be created by this mutation.""" + orgPermissionDefault: OrgPermissionDefaultInput! } -"""The output of our delete `OrgLimitDefault` mutation.""" -type DeleteOrgLimitDefaultPayload { +"""An input for mutations affecting `OrgPermissionDefault`""" +input OrgPermissionDefaultInput { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString + + """References the entity these default permissions apply to""" + entityId: UUID! +} + +"""The output of our create `AppPermission` mutation.""" +type CreateAppPermissionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgLimitDefault` that was deleted by this mutation.""" - orgLimitDefault: OrgLimitDefault + """The `AppPermission` that was created by this mutation.""" + appPermission: AppPermission """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" - orgLimitDefaultEdge( - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultEdge + """An edge for our `AppPermission`. May be used by Relay 1.""" + appPermissionEdge( + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionEdge } -"""All input for the `deleteOrgLimitDefault` mutation.""" -input DeleteOrgLimitDefaultInput { +"""All input for the create `AppPermission` mutation.""" +input CreateAppPermissionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppPermission` to be created by this mutation.""" + appPermission: AppPermissionInput! } -"""The output of our delete `AppLevelRequirement` mutation.""" -type DeleteAppLevelRequirementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""An input for mutations affecting `AppPermission`""" +input AppPermissionInput { + id: UUID - """The `AppLevelRequirement` that was deleted by this mutation.""" - appLevelRequirement: AppLevelRequirement + """Human-readable permission name (e.g. read, write, manage)""" + name: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Position of this permission in the bitmask (1-indexed), must be unique per permission set """ - query: Query - - """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" - appLevelRequirementEdge( - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelRequirementEdge -} + bitnum: Int -"""All input for the `deleteAppLevelRequirement` mutation.""" -input DeleteAppLevelRequirementInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations """ - clientMutationId: String - id: UUID! + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String } -"""The output of our delete `OrgChartEdgeGrant` mutation.""" -type DeleteOrgChartEdgeGrantPayload { +"""The output of our create `OrgPermission` mutation.""" +type CreateOrgPermissionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgChartEdgeGrant` that was deleted by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrant + """The `OrgPermission` that was created by this mutation.""" + orgPermission: OrgPermission """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" - orgChartEdgeGrantEdge( - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantEdge + """An edge for our `OrgPermission`. May be used by Relay 1.""" + orgPermissionEdge( + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionEdge } -"""All input for the `deleteOrgChartEdgeGrant` mutation.""" -input DeleteOrgChartEdgeGrantInput { +"""All input for the create `OrgPermission` mutation.""" +input CreateOrgPermissionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgPermission` to be created by this mutation.""" + orgPermission: OrgPermissionInput! } -"""The output of our delete `AppClaimedInvite` mutation.""" -type DeleteAppClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""An input for mutations affecting `OrgPermission`""" +input OrgPermissionInput { + id: UUID - """The `AppClaimedInvite` that was deleted by this mutation.""" - appClaimedInvite: AppClaimedInvite + """Human-readable permission name (e.g. read, write, manage)""" + name: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Position of this permission in the bitmask (1-indexed), must be unique per permission set """ - query: Query - - """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" - appClaimedInviteEdge( - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppClaimedInviteEdge -} + bitnum: Int -"""All input for the `deleteAppClaimedInvite` mutation.""" -input DeleteAppClaimedInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations """ - clientMutationId: String - id: UUID! + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String } -"""The output of our delete `AppGrant` mutation.""" -type DeleteAppGrantPayload { +"""The output of our create `AppAdminGrant` mutation.""" +type CreateAppAdminGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppGrant` that was deleted by this mutation.""" - appGrant: AppGrant + """The `AppAdminGrant` that was created by this mutation.""" + appAdminGrant: AppAdminGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppGrant`. May be used by Relay 1.""" - appGrantEdge( - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppGrantEdge + """An edge for our `AppAdminGrant`. May be used by Relay 1.""" + appAdminGrantEdge( + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAdminGrantEdge } -"""All input for the `deleteAppGrant` mutation.""" -input DeleteAppGrantInput { +"""All input for the create `AppAdminGrant` mutation.""" +input CreateAppAdminGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppAdminGrant` to be created by this mutation.""" + appAdminGrant: AppAdminGrantInput! } -"""The output of our delete `AppMembershipDefault` mutation.""" -type DeleteAppMembershipDefaultPayload { +"""An input for mutations affecting `AppAdminGrant`""" +input AppAdminGrantInput { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppOwnerGrant` mutation.""" +type CreateAppOwnerGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppMembershipDefault` that was deleted by this mutation.""" - appMembershipDefault: AppMembershipDefault + """The `AppOwnerGrant` that was created by this mutation.""" + appOwnerGrant: AppOwnerGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" - appMembershipDefaultEdge( - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultEdge + """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" + appOwnerGrantEdge( + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppOwnerGrantEdge } -"""All input for the `deleteAppMembershipDefault` mutation.""" -input DeleteAppMembershipDefaultInput { +"""All input for the create `AppOwnerGrant` mutation.""" +input CreateAppOwnerGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppOwnerGrant` to be created by this mutation.""" + appOwnerGrant: AppOwnerGrantInput! } -"""The output of our delete `OrgMembershipDefault` mutation.""" -type DeleteOrgMembershipDefaultPayload { +"""An input for mutations affecting `AppOwnerGrant`""" +input AppOwnerGrantInput { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppAchievement` mutation.""" +type CreateAppAchievementPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembershipDefault` that was deleted by this mutation.""" - orgMembershipDefault: OrgMembershipDefault + """The `AppAchievement` that was created by this mutation.""" + appAchievement: AppAchievement """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" - orgMembershipDefaultEdge( - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultEdge + """An edge for our `AppAchievement`. May be used by Relay 1.""" + appAchievementEdge( + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAchievementEdge } -"""All input for the `deleteOrgMembershipDefault` mutation.""" -input DeleteOrgMembershipDefaultInput { +"""All input for the create `AppAchievement` mutation.""" +input CreateAppAchievementInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppAchievement` to be created by this mutation.""" + appAchievement: AppAchievementInput! } -"""The output of our delete `OrgClaimedInvite` mutation.""" -type DeleteOrgClaimedInvitePayload { +"""An input for mutations affecting `AppAchievement`""" +input AppAchievementInput { + id: UUID + actorId: UUID + + """Name identifier of the level requirement being tracked""" + name: String! + + """Cumulative count of completed steps toward this requirement""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppStep` mutation.""" +type CreateAppStepPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgClaimedInvite` that was deleted by this mutation.""" - orgClaimedInvite: OrgClaimedInvite + """The `AppStep` that was created by this mutation.""" + appStep: AppStep """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" - orgClaimedInviteEdge( - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteEdge + """An edge for our `AppStep`. May be used by Relay 1.""" + appStepEdge( + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppStepEdge } -"""All input for the `deleteOrgClaimedInvite` mutation.""" -input DeleteOrgClaimedInviteInput { +"""All input for the create `AppStep` mutation.""" +input CreateAppStepInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppStep` to be created by this mutation.""" + appStep: AppStepInput! } -"""The output of our delete `OrgGrant` mutation.""" -type DeleteOrgGrantPayload { +"""An input for mutations affecting `AppStep`""" +input AppStepInput { + id: UUID + actorId: UUID + + """Name identifier of the level requirement this step fulfills""" + name: String! + + """Number of units completed in this step action""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppLimitCapsDefault` mutation.""" +type CreateAppLimitCapsDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgGrant` that was deleted by this mutation.""" - orgGrant: OrgGrant + """The `AppLimitCapsDefault` that was created by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgGrant`. May be used by Relay 1.""" - orgGrantEdge( - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgGrantEdge + """An edge for our `AppLimitCapsDefault`. May be used by Relay 1.""" + appLimitCapsDefaultEdge( + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultEdge } -"""All input for the `deleteOrgGrant` mutation.""" -input DeleteOrgGrantInput { +"""All input for the create `AppLimitCapsDefault` mutation.""" +input CreateAppLimitCapsDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppLimitCapsDefault` to be created by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefaultInput! } -"""The output of our delete `OrgChartEdge` mutation.""" -type DeleteOrgChartEdgePayload { +"""An input for mutations affecting `AppLimitCapsDefault`""" +input AppLimitCapsDefaultInput { + id: UUID + + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String! + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt +} + +"""The output of our create `OrgLimitCapsDefault` mutation.""" +type CreateOrgLimitCapsDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgChartEdge` that was deleted by this mutation.""" - orgChartEdge: OrgChartEdge + """The `OrgLimitCapsDefault` that was created by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgChartEdge`. May be used by Relay 1.""" - orgChartEdgeEdge( - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeEdge + """An edge for our `OrgLimitCapsDefault`. May be used by Relay 1.""" + orgLimitCapsDefaultEdge( + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultEdge } -"""All input for the `deleteOrgChartEdge` mutation.""" -input DeleteOrgChartEdgeInput { +"""All input for the create `OrgLimitCapsDefault` mutation.""" +input CreateOrgLimitCapsDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgLimitCapsDefault` to be created by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefaultInput! } -"""The output of our delete `AppLimit` mutation.""" -type DeleteAppLimitPayload { +"""An input for mutations affecting `OrgLimitCapsDefault`""" +input OrgLimitCapsDefaultInput { + id: UUID + + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String! + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt +} + +"""The output of our create `AppLimitCap` mutation.""" +type CreateAppLimitCapPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppLimit` that was deleted by this mutation.""" - appLimit: AppLimit + """The `AppLimitCap` that was created by this mutation.""" + appLimitCap: AppLimitCap """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppLimit`. May be used by Relay 1.""" - appLimitEdge( - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitEdge + """An edge for our `AppLimitCap`. May be used by Relay 1.""" + appLimitCapEdge( + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapEdge } -"""All input for the `deleteAppLimit` mutation.""" -input DeleteAppLimitInput { +"""All input for the create `AppLimitCap` mutation.""" +input CreateAppLimitCapInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppLimitCap` to be created by this mutation.""" + appLimitCap: AppLimitCapInput! } -"""The output of our delete `OrgLimitAggregate` mutation.""" -type DeleteOrgLimitAggregatePayload { +"""An input for mutations affecting `AppLimitCap`""" +input AppLimitCapInput { + id: UUID + + """Name identifier of the cap being overridden""" + name: String! + + """Entity this cap override applies to""" + entityId: UUID! + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our create `OrgLimitCap` mutation.""" +type CreateOrgLimitCapPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgLimitAggregate` that was deleted by this mutation.""" - orgLimitAggregate: OrgLimitAggregate + """The `OrgLimitCap` that was created by this mutation.""" + orgLimitCap: OrgLimitCap """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" - orgLimitAggregateEdge( - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateEdge + """An edge for our `OrgLimitCap`. May be used by Relay 1.""" + orgLimitCapEdge( + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapEdge } -"""All input for the `deleteOrgLimitAggregate` mutation.""" -input DeleteOrgLimitAggregateInput { +"""All input for the create `OrgLimitCap` mutation.""" +input CreateOrgLimitCapInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgLimitCap` to be created by this mutation.""" + orgLimitCap: OrgLimitCapInput! } -"""The output of our delete `OrgMemberProfile` mutation.""" -type DeleteOrgMemberProfilePayload { +"""An input for mutations affecting `OrgLimitCap`""" +input OrgLimitCapInput { + id: UUID + + """Name identifier of the cap being overridden""" + name: String! + + """Entity this cap override applies to""" + entityId: UUID! + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our create `OrgAdminGrant` mutation.""" +type CreateOrgAdminGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMemberProfile` that was deleted by this mutation.""" - orgMemberProfile: OrgMemberProfile + """The `OrgAdminGrant` that was created by this mutation.""" + orgAdminGrant: OrgAdminGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" - orgMemberProfileEdge( - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberProfileEdge -} + """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" + orgAdminGrantEdge( + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgAdminGrantEdge +} -"""All input for the `deleteOrgMemberProfile` mutation.""" -input DeleteOrgMemberProfileInput { +"""All input for the create `OrgAdminGrant` mutation.""" +input CreateOrgAdminGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgAdminGrant` to be created by this mutation.""" + orgAdminGrant: OrgAdminGrantInput! } -"""The output of our delete `OrgLimit` mutation.""" -type DeleteOrgLimitPayload { +"""An input for mutations affecting `OrgAdminGrant`""" +input OrgAdminGrantInput { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID! + + """The entity (org or group) this admin grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `OrgOwnerGrant` mutation.""" +type CreateOrgOwnerGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgLimit` that was deleted by this mutation.""" - orgLimit: OrgLimit + """The `OrgOwnerGrant` that was created by this mutation.""" + orgOwnerGrant: OrgOwnerGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgLimit`. May be used by Relay 1.""" - orgLimitEdge( - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitEdge + """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" + orgOwnerGrantEdge( + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantEdge } -"""All input for the `deleteOrgLimit` mutation.""" -input DeleteOrgLimitInput { +"""All input for the create `OrgOwnerGrant` mutation.""" +input CreateOrgOwnerGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgOwnerGrant` to be created by this mutation.""" + orgOwnerGrant: OrgOwnerGrantInput! } -"""The output of our delete `AppLevel` mutation.""" -type DeleteAppLevelPayload { +"""An input for mutations affecting `OrgOwnerGrant`""" +input OrgOwnerGrantInput { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID! + + """The entity (org or group) this ownership grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `MembershipType` mutation.""" +type CreateMembershipTypePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppLevel` that was deleted by this mutation.""" - appLevel: AppLevel + """The `MembershipType` that was created by this mutation.""" + membershipType: MembershipType """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppLevel`. May be used by Relay 1.""" - appLevelEdge( - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelEdge + """An edge for our `MembershipType`. May be used by Relay 1.""" + membershipTypeEdge( + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypeEdge } -"""All input for the `deleteAppLevel` mutation.""" -input DeleteAppLevelInput { +"""All input for the create `MembershipType` mutation.""" +input CreateMembershipTypeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `MembershipType` to be created by this mutation.""" + membershipType: MembershipTypeInput! } -"""The output of our delete `AppInvite` mutation.""" -type DeleteAppInvitePayload { +"""An input for mutations affecting `MembershipType`""" +input MembershipTypeInput { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) """ - clientMutationId: String + id: Int! - """The `AppInvite` that was deleted by this mutation.""" - appInvite: AppInvite + """Human-readable name of the membership type""" + name: String! + + """Description of what this membership type represents""" + description: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Short prefix used to namespace tables and functions for this membership scope """ - query: Query + prefix: String! - """An edge for our `AppInvite`. May be used by Relay 1.""" - appInviteEdge( - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppInviteEdge -} + """ + Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) + """ + parentMembershipType: Int -"""All input for the `deleteAppInvite` mutation.""" -input DeleteAppInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs """ - clientMutationId: String - id: UUID! + hasUsersTableEntry: Boolean } -"""The output of our delete `OrgMembershipSetting` mutation.""" -type DeleteOrgMembershipSettingPayload { +"""The output of our create `AppLimitDefault` mutation.""" +type CreateAppLimitDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembershipSetting` that was deleted by this mutation.""" - orgMembershipSetting: OrgMembershipSetting + """The `AppLimitDefault` that was created by this mutation.""" + appLimitDefault: AppLimitDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" - orgMembershipSettingEdge( - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingEdge + """An edge for our `AppLimitDefault`. May be used by Relay 1.""" + appLimitDefaultEdge( + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitDefaultEdge } -"""All input for the `deleteOrgMembershipSetting` mutation.""" -input DeleteOrgMembershipSettingInput { +"""All input for the create `AppLimitDefault` mutation.""" +input CreateAppLimitDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppLimitDefault` to be created by this mutation.""" + appLimitDefault: AppLimitDefaultInput! } -"""The output of our delete `OrgInvite` mutation.""" -type DeleteOrgInvitePayload { +"""An input for mutations affecting `AppLimitDefault`""" +input AppLimitDefaultInput { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String! + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our create `OrgLimitDefault` mutation.""" +type CreateOrgLimitDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgInvite` that was deleted by this mutation.""" - orgInvite: OrgInvite + """The `OrgLimitDefault` that was created by this mutation.""" + orgLimitDefault: OrgLimitDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgInvite`. May be used by Relay 1.""" - orgInviteEdge( - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgInviteEdge + """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" + orgLimitDefaultEdge( + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultEdge } -"""All input for the `deleteOrgInvite` mutation.""" -input DeleteOrgInviteInput { +"""All input for the create `OrgLimitDefault` mutation.""" +input CreateOrgLimitDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `OrgLimitDefault` to be created by this mutation.""" + orgLimitDefault: OrgLimitDefaultInput! } -"""The output of our delete `AppMembership` mutation.""" -type DeleteAppMembershipPayload { +"""An input for mutations affecting `OrgLimitDefault`""" +input OrgLimitDefaultInput { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String! + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our create `AppLimitCreditCodeItem` mutation.""" +type CreateAppLimitCreditCodeItemPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppMembership` that was deleted by this mutation.""" - appMembership: AppMembership + """The `AppLimitCreditCodeItem` that was created by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItem """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppMembership`. May be used by Relay 1.""" - appMembershipEdge( - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipEdge + """An edge for our `AppLimitCreditCodeItem`. May be used by Relay 1.""" + appLimitCreditCodeItemEdge( + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemEdge } -"""All input for the `deleteAppMembership` mutation.""" -input DeleteAppMembershipInput { +"""All input for the create `AppLimitCreditCodeItem` mutation.""" +input CreateAppLimitCreditCodeItemInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppLimitCreditCodeItem` to be created by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItemInput! } -"""The output of our delete `OrgMembership` mutation.""" -type DeleteOrgMembershipPayload { +"""An input for mutations affecting `AppLimitCreditCodeItem`""" +input AppLimitCreditCodeItemInput { + id: UUID + + """FK to credit_codes — which code this item belongs to""" + creditCodeId: UUID! + + """FK to default_limits — which limit this item grants credits for""" + defaultLimitId: UUID! + + """Number of credits this item grants per redemption""" + amount: BigInt! + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String +} + +"""The output of our create `AppLevelRequirement` mutation.""" +type CreateAppLevelRequirementPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembership` that was deleted by this mutation.""" - orgMembership: OrgMembership + """The `AppLevelRequirement` that was created by this mutation.""" + appLevelRequirement: AppLevelRequirement """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMembership`. May be used by Relay 1.""" - orgMembershipEdge( - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipEdge -} - -"""All input for the `deleteOrgMembership` mutation.""" -input DeleteOrgMembershipInput { + """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" + appLevelRequirementEdge( + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelRequirementEdge +} + +"""All input for the create `AppLevelRequirement` mutation.""" +input CreateAppLevelRequirementInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """The `AppLevelRequirement` to be created by this mutation.""" + appLevelRequirement: AppLevelRequirementInput! } -input RequestUploadUrlInput { - """Bucket key (e.g., "public", "private")""" - bucketKey: String! +"""An input for mutations affecting `AppLevelRequirement`""" +input AppLevelRequirementInput { + id: UUID - """ - Owner entity ID for entity-scoped uploads. - Omit for app-level (database-wide) storage. - When provided, resolves the storage module for the entity type - that owns this entity instance (e.g., a data room ID, team ID). - """ - ownerId: UUID + """Name identifier of the requirement (matches step names)""" + name: String! - """SHA-256 content hash computed by the client (hex-encoded, 64 chars)""" - contentHash: String! + """Name of the level this requirement belongs to""" + level: String! - """MIME type of the file (e.g., "image/png")""" - contentType: String! + """Human-readable description of what this requirement entails""" + description: String - """File size in bytes""" - size: Int! + """Number of steps needed to satisfy this requirement""" + requiredCount: Int - """Original filename (optional, for display and Content-Disposition)""" - filename: String + """Display ordering priority; lower values appear first""" + priority: Int + createdAt: Datetime + updatedAt: Datetime } -type RequestUploadUrlPayload { - """Presigned PUT URL (null if file was deduplicated)""" - uploadUrl: String - - """The file ID (existing if deduplicated, new if fresh upload)""" - fileId: UUID! +"""The output of our create `AppLimitCredit` mutation.""" +type CreateAppLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The S3 object key""" - key: String! + """The `AppLimitCredit` that was created by this mutation.""" + appLimitCredit: AppLimitCredit - """Whether this file was deduplicated (already exists with same hash)""" - deduplicated: Boolean! + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Presigned URL expiry time (null if deduplicated)""" - expiresAt: Datetime + """An edge for our `AppLimitCredit`. May be used by Relay 1.""" + appLimitCreditEdge( + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditEdge } -"""The root query type which gives access points into the data universe.""" -type Query { - appPermissionsGetPaddedMask(mask: BitString): BitString - orgPermissionsGetPaddedMask(mask: BitString): BitString - orgIsManagerOf(pEntityId: UUID, pManagerId: UUID, pUserId: UUID, pMaxDepth: Int): Boolean +"""All input for the create `AppLimitCredit` mutation.""" +input CreateAppLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Reads and enables pagination through a set of `OrgGetManagersRecord`.""" - orgGetManagers( - pEntityId: UUID - pUserId: UUID - pMaxDepth: Int + """The `AppLimitCredit` to be created by this mutation.""" + appLimitCredit: AppLimitCreditInput! +} - """Only read the first `n` values of the set.""" - first: Int +"""An input for mutations affecting `AppLimitCredit`""" +input AppLimitCreditInput { + id: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): OrgGetManagersConnection + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! """ - Reads and enables pagination through a set of `OrgGetSubordinatesRecord`. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - orgGetSubordinates( - pEntityId: UUID - pUserId: UUID - pMaxDepth: Int + creditType: String - """Only read the first `n` values of the set.""" - first: Int + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our create `OrgLimitCredit` mutation.""" +type CreateOrgLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): OrgGetSubordinatesConnection - appPermissionsGetMask(ids: [UUID]): BitString - orgPermissionsGetMask(ids: [UUID]): BitString - stepsAchieved(level: String, roleId: UUID): Boolean - appPermissionsGetMaskByNames(names: [String]): BitString - orgPermissionsGetMaskByNames(names: [String]): BitString + """The `OrgLimitCredit` that was created by this mutation.""" + orgLimitCredit: OrgLimitCredit - """Reads and enables pagination through a set of `AppPermission`.""" - appPermissionsGetByMask( - mask: BitString + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `OrgLimitCredit`. May be used by Relay 1.""" + orgLimitCreditEdge( + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCreditEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the create `OrgLimitCredit` mutation.""" +input CreateOrgLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): AppPermissionConnection + """The `OrgLimitCredit` to be created by this mutation.""" + orgLimitCredit: OrgLimitCreditInput! +} - """Reads and enables pagination through a set of `OrgPermission`.""" - orgPermissionsGetByMask( - mask: BitString +"""An input for mutations affecting `OrgLimitCredit`""" +input OrgLimitCreditInput { + id: UUID - """Only read the first `n` values of the set.""" - first: Int + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): OrgPermissionConnection + """Entity this credit applies to; NULL for actor-only credits""" + entityId: UUID - """Reads and enables pagination through a set of `AppLevelRequirement`.""" - stepsRequired( - level: String - roleId: UUID + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! - """Only read the first `n` values of the set.""" - first: Int + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String +} - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): AppLevelRequirementConnection +"""The output of our create `OrgChartEdgeGrant` mutation.""" +type CreateOrgChartEdgeGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `OrgMember`.""" - orgMembers( - """Only read the first `n` values of the set.""" - first: Int + """The `OrgChartEdgeGrant` that was created by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrant - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" + orgChartEdgeGrantEdge( + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the create `OrgChartEdgeGrant` mutation.""" +input CreateOrgChartEdgeGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `OrgChartEdgeGrant` to be created by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrantInput! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMemberFilter +"""An input for mutations affecting `OrgChartEdgeGrant`""" +input OrgChartEdgeGrantInput { + id: UUID - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberConnection + """Organization this grant applies to""" + entityId: UUID! - """Reads and enables pagination through a set of `AppPermissionDefault`.""" - appPermissionDefaults( - """Only read the first `n` values of the set.""" - first: Int + """User ID of the subordinate being placed in the hierarchy""" + childId: UUID! - """Only read the last `n` values of the set.""" - last: Int + """User ID of the manager being assigned; NULL for top-level positions""" + parentId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + User ID of the admin who performed this grant or revocation; NULL if grantor was deleted + """ + grantorId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """TRUE to add/update the edge, FALSE to remove it""" + isGrant: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Job title or role name being assigned in this grant""" + positionTitle: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppPermissionDefaultFilter + """Numeric seniority level being assigned in this grant""" + positionLevel: Int - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultConnection + """Timestamp when this grant or revocation was recorded""" + createdAt: Datetime +} - """Reads and enables pagination through a set of `OrgPermissionDefault`.""" - orgPermissionDefaults( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our create `AppClaimedInvite` mutation.""" +type CreateAppClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `AppClaimedInvite` that was created by this mutation.""" + appClaimedInvite: AppClaimedInvite - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" + appClaimedInviteEdge( + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppClaimedInviteEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the create `AppClaimedInvite` mutation.""" +input CreateAppClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgPermissionDefaultFilter + """The `AppClaimedInvite` to be created by this mutation.""" + appClaimedInvite: AppClaimedInviteInput! +} - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultConnection +"""An input for mutations affecting `AppClaimedInvite`""" +input AppClaimedInviteInput { + id: UUID - """Reads and enables pagination through a set of `AppPermission`.""" - appPermissions( - """Only read the first `n` values of the set.""" - first: Int + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON - """Only read the last `n` values of the set.""" - last: Int + """User ID of the original invitation sender""" + senderId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our create `AppGrant` mutation.""" +type CreateAppGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `AppGrant` that was created by this mutation.""" + appGrant: AppGrant - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppPermissionFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!] = [PRIMARY_KEY_ASC] - ): AppPermissionConnection + """An edge for our `AppGrant`. May be used by Relay 1.""" + appGrantEdge( + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppGrantEdge +} - """Reads and enables pagination through a set of `OrgPermission`.""" - orgPermissions( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the create `AppGrant` mutation.""" +input CreateAppGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `AppGrant` to be created by this mutation.""" + appGrant: AppGrantInput! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""An input for mutations affecting `AppGrant`""" +input AppGrantInput { + id: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Bitmask of permissions being granted or revoked""" + permissions: BitString - """Read all values in the set after (below) this cursor.""" - after: Cursor + """True to grant the permissions, false to revoke them""" + isGrant: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgPermissionFilter + """The member receiving or losing the permission grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgPermissionConnection +"""The output of our create `AppMembershipDefault` mutation.""" +type CreateAppMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `AppAdminGrant`.""" - appAdminGrants( - """Only read the first `n` values of the set.""" - first: Int + """The `AppMembershipDefault` that was created by this mutation.""" + appMembershipDefault: AppMembershipDefault - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" + appMembershipDefaultEdge( + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the create `AppMembershipDefault` mutation.""" +input CreateAppMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `AppMembershipDefault` to be created by this mutation.""" + appMembershipDefault: AppMembershipDefaultInput! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppAdminGrantFilter +"""An input for mutations affecting `AppMembershipDefault`""" +input AppMembershipDefaultInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAdminGrantConnection + """Whether new members are automatically approved upon joining""" + isApproved: Boolean - """Reads and enables pagination through a set of `AppOwnerGrant`.""" - appOwnerGrants( - """Only read the first `n` values of the set.""" - first: Int + """Whether new members are automatically verified upon joining""" + isVerified: Boolean +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our create `OrgMembershipDefault` mutation.""" +type CreateOrgMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `OrgMembershipDefault` that was created by this mutation.""" + orgMembershipDefault: OrgMembershipDefault - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" + orgMembershipDefaultEdge( + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppOwnerGrantFilter +"""All input for the create `OrgMembershipDefault` mutation.""" +input CreateOrgMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppOwnerGrantConnection + """The `OrgMembershipDefault` to be created by this mutation.""" + orgMembershipDefault: OrgMembershipDefaultInput! +} - """Reads and enables pagination through a set of `AppAchievement`.""" - appAchievements( - """Only read the first `n` values of the set.""" - first: Int +"""An input for mutations affecting `OrgMembershipDefault`""" +input OrgMembershipDefaultInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Only read the last `n` values of the set.""" - last: Int + """Whether new members are automatically approved upon joining""" + isApproved: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """References the entity these membership defaults apply to""" + entityId: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our create `OrgClaimedInvite` mutation.""" +type CreateOrgClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `OrgClaimedInvite` that was created by this mutation.""" + orgClaimedInvite: OrgClaimedInvite - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppAchievementFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAchievementConnection + """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" + orgClaimedInviteEdge( + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteEdge +} - """Reads and enables pagination through a set of `AppStep`.""" - appSteps( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the create `OrgClaimedInvite` mutation.""" +input CreateOrgClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgClaimedInvite` to be created by this mutation.""" + orgClaimedInvite: OrgClaimedInviteInput! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""An input for mutations affecting `OrgClaimedInvite`""" +input OrgClaimedInviteInput { + id: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON - """Read all values in the set after (below) this cursor.""" - after: Cursor + """User ID of the original invitation sender""" + senderId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppStepFilter + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime + entityId: UUID! +} - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!] = [PRIMARY_KEY_ASC] - ): AppStepConnection +"""The output of our create `AppLimitEvent` mutation.""" +type CreateAppLimitEventPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `OrgAdminGrant`.""" - orgAdminGrants( - """Only read the first `n` values of the set.""" - first: Int + """The `AppLimitEvent` that was created by this mutation.""" + appLimitEvent: AppLimitEvent - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the create `AppLimitEvent` mutation.""" +input CreateAppLimitEventInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `AppLimitEvent` to be created by this mutation.""" + appLimitEvent: AppLimitEventInput! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""An input for mutations affecting `AppLimitEvent`""" +input AppLimitEventInput { + """Limit name this event applies to""" + name: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgAdminGrantFilter + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgAdminGrantConnection + """Entity this event applies to; NULL for app-level events""" + entityId: UUID - """Reads and enables pagination through a set of `OrgOwnerGrant`.""" - orgOwnerGrants( - """Only read the first `n` values of the set.""" - first: Int + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String - """Only read the last `n` values of the set.""" - last: Int + """Change amount: positive for increment, negative for decrement""" + delta: BigInt - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Usage count before this event""" + numBefore: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Usage count after this event""" + numAfter: BigInt - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgOwnerGrantFilter + """ + Optional reason or source: achievement, invite, plan_change, purchase, etc. + """ + reason: String +} - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantConnection +"""The output of our create `OrgLimitEvent` mutation.""" +type CreateOrgLimitEventPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `MembershipType`.""" - membershipTypes( - """Only read the first `n` values of the set.""" - first: Int + """The `OrgLimitEvent` that was created by this mutation.""" + orgLimitEvent: OrgLimitEvent - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the create `OrgLimitEvent` mutation.""" +input CreateOrgLimitEventInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `OrgLimitEvent` to be created by this mutation.""" + orgLimitEvent: OrgLimitEventInput! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""An input for mutations affecting `OrgLimitEvent`""" +input OrgLimitEventInput { + """Limit name this event applies to""" + name: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: MembershipTypeFilter + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!] = [PRIMARY_KEY_ASC] - ): MembershipTypeConnection + """Entity this event applies to; NULL for app-level events""" + entityId: UUID - """Reads and enables pagination through a set of `AppLimitDefault`.""" - appLimitDefaults( - """Only read the first `n` values of the set.""" - first: Int + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Change amount: positive for increment, negative for decrement""" + delta: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Usage count before this event""" + numBefore: BigInt - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Usage count after this event""" + numAfter: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLimitDefaultFilter + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLimitDefaultConnection + """ + Optional reason or source: achievement, invite, plan_change, purchase, etc. + """ + reason: String +} - """Reads and enables pagination through a set of `OrgLimitDefault`.""" - orgLimitDefaults( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our create `OrgGrant` mutation.""" +type CreateOrgGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgGrant` that was created by this mutation.""" + orgGrant: OrgGrant - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `OrgGrant`. May be used by Relay 1.""" + orgGrantEdge( + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgGrantEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the create `OrgGrant` mutation.""" +input CreateOrgGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitDefaultFilter + """The `OrgGrant` to be created by this mutation.""" + orgGrant: OrgGrantInput! +} - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultConnection +"""An input for mutations affecting `OrgGrant`""" +input OrgGrantInput { + id: UUID - """Reads and enables pagination through a set of `AppLevelRequirement`.""" - appLevelRequirements( - """Only read the first `n` values of the set.""" - first: Int + """Bitmask of permissions being granted or revoked""" + permissions: BitString - """Only read the last `n` values of the set.""" - last: Int + """True to grant the permissions, false to revoke them""" + isGrant: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The member receiving or losing the permission grant""" + actorId: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The entity (org or group) this permission grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our create `OrgChartEdge` mutation.""" +type CreateOrgChartEdgePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLevelRequirementFilter + """The `OrgChartEdge` that was created by this mutation.""" + orgChartEdge: OrgChartEdge - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLevelRequirementConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" - orgChartEdgeGrants( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `OrgChartEdge`. May be used by Relay 1.""" + orgChartEdgeEdge( + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the create `OrgChartEdge` mutation.""" +input CreateOrgChartEdgeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `OrgChartEdge` to be created by this mutation.""" + orgChartEdge: OrgChartEdgeInput! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""An input for mutations affecting `OrgChartEdge`""" +input OrgChartEdgeInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Organization this hierarchy edge belongs to""" + entityId: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgChartEdgeGrantFilter + """User ID of the subordinate (employee) in this reporting relationship""" + childId: UUID! - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantConnection + """ + User ID of the manager; NULL indicates a top-level position with no direct report + """ + parentId: UUID - """Reads and enables pagination through a set of `AppClaimedInvite`.""" - appClaimedInvites( - """Only read the first `n` values of the set.""" - first: Int + """Job title or role name for this position in the org chart""" + positionTitle: String - """Only read the last `n` values of the set.""" - last: Int + """Numeric seniority level for this position (higher = more senior)""" + positionLevel: Int +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our create `OrgMemberProfile` mutation.""" +type CreateOrgMemberProfilePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `OrgMemberProfile` that was created by this mutation.""" + orgMemberProfile: OrgMemberProfile - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppClaimedInviteFilter + """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" + orgMemberProfileEdge( + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberProfileEdge +} - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppClaimedInviteConnection +"""All input for the create `OrgMemberProfile` mutation.""" +input CreateOrgMemberProfileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Reads and enables pagination through a set of `AppGrant`.""" - appGrants( - """Only read the first `n` values of the set.""" - first: Int + """The `OrgMemberProfile` to be created by this mutation.""" + orgMemberProfile: OrgMemberProfileInput! +} - """Only read the last `n` values of the set.""" - last: Int +"""An input for mutations affecting `OrgMemberProfile`""" +input OrgMemberProfileInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """References the membership this profile belongs to (1:1)""" + membershipId: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor + """References the entity this profile belongs to (used for RLS lookups)""" + entityId: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppGrantFilter + """References the user who owns this profile (for self-edit RLS)""" + actorId: UUID! - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppGrantConnection + """Display name shown to other entity members""" + displayName: String - """Reads and enables pagination through a set of `AppMembershipDefault`.""" - appMembershipDefaults( - """Only read the first `n` values of the set.""" - first: Int + """ + Email address visible to other entity members (auto-populated from verified primary email) + """ + email: String - """Only read the last `n` values of the set.""" - last: Int + """Job title or role description visible to other entity members""" + title: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Short biography visible to other entity members""" + bio: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Profile picture visible to other entity members""" + profilePicture: ConstructiveInternalTypeImage +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our create `AppLevel` mutation.""" +type CreateAppLevelPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppMembershipDefaultFilter + """The `AppLevel` that was created by this mutation.""" + appLevel: AppLevel - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `OrgMembershipDefault`.""" - orgMembershipDefaults( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `AppLevel`. May be used by Relay 1.""" + appLevelEdge( + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the create `AppLevel` mutation.""" +input CreateAppLevelInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `AppLevel` to be created by this mutation.""" + appLevel: AppLevelInput! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""An input for mutations affecting `AppLevel`""" +input AppLevelInput { + id: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Unique name of the level""" + name: String! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMembershipDefaultFilter + """Human-readable description of what this level represents""" + description: String - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultConnection + """Badge or icon image associated with this level""" + image: ConstructiveInternalTypeImage - """Reads and enables pagination through a set of `OrgClaimedInvite`.""" - orgClaimedInvites( - """Only read the first `n` values of the set.""" - first: Int + """Optional owner (actor) who created or manages this level""" + ownerId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our create `AppLimit` mutation.""" +type CreateAppLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `AppLimit` that was created by this mutation.""" + appLimit: AppLimit - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `AppLimit`. May be used by Relay 1.""" + appLimitEdge( + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgClaimedInviteFilter +"""All input for the create `AppLimit` mutation.""" +input CreateAppLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteConnection + """The `AppLimit` to be created by this mutation.""" + appLimit: AppLimitInput! +} - """Reads and enables pagination through a set of `AppLimitEvent`.""" - appLimitEvents( - """Only read the first `n` values of the set.""" - first: Int +"""An input for mutations affecting `AppLimit`""" +input AppLimitInput { + id: UUID - """Only read the last `n` values of the set.""" - last: Int + """Name identifier of the limit being tracked""" + name: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """User whose usage is being tracked against this limit""" + actorId: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Current usage count for this actor and limit""" + num: BigInt - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLimitEventFilter + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt - """The method to use when ordering `AppLimitEvent`.""" - orderBy: [AppLimitEventOrderBy!] = [NATURAL] - ): AppLimitEventConnection + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime - """Reads and enables pagination through a set of `OrgLimitEvent`.""" - orgLimitEvents( - """Only read the first `n` values of the set.""" - first: Int + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput - """Only read the last `n` values of the set.""" - last: Int + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our create `AppInvite` mutation.""" +type CreateAppInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitEventFilter + """The `AppInvite` that was created by this mutation.""" + appInvite: AppInvite - """The method to use when ordering `OrgLimitEvent`.""" - orderBy: [OrgLimitEventOrderBy!] = [NATURAL] - ): OrgLimitEventConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `OrgGrant`.""" - orgGrants( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `AppInvite`. May be used by Relay 1.""" + appInviteEdge( + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppInviteEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the create `AppInvite` mutation.""" +input CreateAppInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `AppInvite` to be created by this mutation.""" + appInvite: AppInviteInput! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""An input for mutations affecting `AppInvite`""" +input AppInviteInput { + id: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgGrantFilter + """User ID of the member who sent this invitation""" + senderId: UUID - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgGrantConnection + """Unique random hex token used to redeem this invitation""" + inviteToken: String - """Reads and enables pagination through a set of `OrgChartEdge`.""" - orgChartEdges( - """Only read the first `n` values of the set.""" - first: Int + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean - """Only read the last `n` values of the set.""" - last: Int + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Running count of how many times this invite has been claimed""" + inviteCount: Int - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Optional JSON payload of additional invite metadata""" + data: JSON - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgChartEdgeFilter + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeConnection + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `AppLimit`.""" - appLimits( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our create `OrgMembershipSetting` mutation.""" +type CreateOrgMembershipSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgMembershipSetting` that was created by this mutation.""" + orgMembershipSetting: OrgMembershipSetting - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" + orgMembershipSettingEdge( + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the create `OrgMembershipSetting` mutation.""" +input CreateOrgMembershipSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLimitFilter + """The `OrgMembershipSetting` to be created by this mutation.""" + orgMembershipSetting: OrgMembershipSettingInput! +} - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLimitConnection +"""An input for mutations affecting `OrgMembershipSetting`""" +input OrgMembershipSettingInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Reads and enables pagination through a set of `OrgLimitAggregate`.""" - orgLimitAggregates( - """Only read the first `n` values of the set.""" - first: Int + """References the entity these settings apply to""" + entityId: UUID! - """Only read the last `n` values of the set.""" - last: Int + """ + When a member is deleted, whether to cascade-remove their descendant-entity memberships + """ + deleteMemberCascadeChildren: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + When a child entity is created, whether to auto-add existing org-level owners as child-entity owners + """ + createChildCascadeOwners: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + When a child entity is created, whether to auto-add existing org-level admins as child-entity admins + """ + createChildCascadeAdmins: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members + """ + createChildCascadeMembers: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitAggregateFilter + """ + Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) + """ + allowExternalMembers: Boolean - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateConnection + """ + Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) + """ + inviteProfileAssignmentMode: String - """Reads and enables pagination through a set of `OrgMemberProfile`.""" - orgMemberProfiles( - """Only read the first `n` values of the set.""" - first: Int + """ + Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. + """ + populateMemberEmail: Boolean - """Only read the last `n` values of the set.""" - last: Int + """ + Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) + """ + limitAllocationMode: String +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our create `OrgLimitAggregate` mutation.""" +type CreateOrgLimitAggregatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `OrgLimitAggregate` that was created by this mutation.""" + orgLimitAggregate: OrgLimitAggregate - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMemberProfileFilter + """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" + orgLimitAggregateEdge( + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateEdge +} - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberProfileConnection +"""All input for the create `OrgLimitAggregate` mutation.""" +input CreateOrgLimitAggregateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Reads and enables pagination through a set of `OrgLimit`.""" - orgLimits( - """Only read the first `n` values of the set.""" - first: Int + """The `OrgLimitAggregate` to be created by this mutation.""" + orgLimitAggregate: OrgLimitAggregateInput! +} - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""An input for mutations affecting `OrgLimitAggregate`""" +input OrgLimitAggregateInput { + id: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Name identifier of the aggregate limit being tracked""" + name: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Entity (org) whose aggregate usage is being tracked""" + entityId: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitFilter + """Current aggregate usage count for this entity and limit""" + num: BigInt - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitConnection + """Maximum allowed aggregate usage; negative means unlimited""" + max: BigInt - """Reads and enables pagination through a set of `AppLevel`.""" - appLevels( - """Only read the first `n` values of the set.""" - first: Int + """Soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt - """Only read the last `n` values of the set.""" - last: Int + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLevelFilter + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLevelConnection + """ + Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. + """ + reserved: BigInt +} - """Reads and enables pagination through a set of `AppInvite`.""" - appInvites( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our create `OrgLimit` mutation.""" +type CreateOrgLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgLimit` that was created by this mutation.""" + orgLimit: OrgLimit - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `OrgLimit`. May be used by Relay 1.""" + orgLimitEdge( + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the create `OrgLimit` mutation.""" +input CreateOrgLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppInviteFilter + """The `OrgLimit` to be created by this mutation.""" + orgLimit: OrgLimitInput! +} - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppInviteConnection +"""An input for mutations affecting `OrgLimit`""" +input OrgLimitInput { + id: UUID - """Reads and enables pagination through a set of `OrgMembershipSetting`.""" - orgMembershipSettings( - """Only read the first `n` values of the set.""" - first: Int + """Name identifier of the limit being tracked""" + name: String - """Only read the last `n` values of the set.""" - last: Int + """User whose usage is being tracked against this limit""" + actorId: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Current usage count for this actor and limit""" + num: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMembershipSettingFilter + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingConnection + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput - """Reads and enables pagination through a set of `OrgInvite`.""" - orgInvites( - """Only read the first `n` values of the set.""" - first: Int + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt - """Only read the last `n` values of the set.""" - last: Int + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt + entityId: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our create `OrgInvite` mutation.""" +type CreateOrgInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `OrgInvite` that was created by this mutation.""" + orgInvite: OrgInvite - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgInviteFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + """An edge for our `OrgInvite`. May be used by Relay 1.""" + orgInviteEdge( """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgInviteConnection + orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgInviteEdge +} - """Reads and enables pagination through a set of `AppMembership`.""" - appMemberships( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the create `OrgInvite` mutation.""" +input CreateOrgInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgInvite` to be created by this mutation.""" + orgInvite: OrgInviteInput! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""An input for mutations affecting `OrgInvite`""" +input OrgInviteInput { + id: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """Read all values in the set after (below) this cursor.""" - after: Cursor + """User ID of the member who sent this invitation""" + senderId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppMembershipFilter + """User ID of the intended recipient, if targeting a specific user""" + receiverId: UUID - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!] = [PRIMARY_KEY_ASC] - ): AppMembershipConnection + """Unique random hex token used to redeem this invitation""" + inviteToken: String - """Reads and enables pagination through a set of `OrgMembership`.""" - orgMemberships( - """Only read the first `n` values of the set.""" - first: Int + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean - """Only read the last `n` values of the set.""" - last: Int + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Running count of how many times this invite has been claimed""" + inviteCount: Int - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Optional JSON payload of additional invite metadata""" + data: JSON - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMembershipFilter + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipConnection + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime + entityId: UUID! +} +"""The output of our create `AppMembership` mutation.""" +type CreateAppMembershipPayload { """ - Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - _meta: MetaSchema -} + clientMutationId: String -""" -The root mutation type which contains root level fields which mutate data. -""" -type Mutation { - submitAppInviteCode( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SubmitAppInviteCodeInput! - ): SubmitAppInviteCodePayload - submitOrgInviteCode( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SubmitOrgInviteCodeInput! - ): SubmitOrgInviteCodePayload + """The `AppMembership` that was created by this mutation.""" + appMembership: AppMembership - """Creates a single `OrgMember`.""" - createOrgMember( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMemberInput! - ): CreateOrgMemberPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `AppPermissionDefault`.""" - createAppPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppPermissionDefaultInput! - ): CreateAppPermissionDefaultPayload + """An edge for our `AppMembership`. May be used by Relay 1.""" + appMembershipEdge( + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipEdge +} - """Creates a single `OrgPermissionDefault`.""" - createOrgPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgPermissionDefaultInput! - ): CreateOrgPermissionDefaultPayload +"""All input for the create `AppMembership` mutation.""" +input CreateAppMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `AppPermission`.""" - createAppPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppPermissionInput! - ): CreateAppPermissionPayload + """The `AppMembership` to be created by this mutation.""" + appMembership: AppMembershipInput! +} - """Creates a single `OrgPermission`.""" - createOrgPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgPermissionInput! - ): CreateOrgPermissionPayload +"""An input for mutations affecting `AppMembership`""" +input AppMembershipInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Creates a single `AppAdminGrant`.""" - createAppAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppAdminGrantInput! - ): CreateAppAdminGrantPayload + """Whether this membership has been approved by an admin""" + isApproved: Boolean - """Creates a single `AppOwnerGrant`.""" - createAppOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppOwnerGrantInput! - ): CreateAppOwnerGrantPayload + """Whether this member has been banned from the entity""" + isBanned: Boolean - """Creates a single `AppAchievement`.""" - createAppAchievement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppAchievementInput! - ): CreateAppAchievementPayload + """Whether this membership is temporarily disabled""" + isDisabled: Boolean - """Creates a single `AppStep`.""" - createAppStep( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppStepInput! - ): CreateAppStepPayload + """Whether this member has been verified (e.g. email confirmation)""" + isVerified: Boolean - """Creates a single `OrgAdminGrant`.""" - createOrgAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgAdminGrantInput! - ): CreateOrgAdminGrantPayload + """ + Computed field indicating the membership is approved, verified, not banned, and not disabled + """ + isActive: Boolean - """Creates a single `OrgOwnerGrant`.""" - createOrgOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgOwnerGrantInput! - ): CreateOrgOwnerGrantPayload + """Whether the actor is the owner of this entity""" + isOwner: Boolean - """Creates a single `MembershipType`.""" - createMembershipType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateMembershipTypeInput! - ): CreateMembershipTypePayload + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean - """Creates a single `AppLimitDefault`.""" - createAppLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLimitDefaultInput! - ): CreateAppLimitDefaultPayload + """ + Aggregated permission bitmask combining profile-based and directly granted permissions + """ + permissions: BitString - """Creates a single `OrgLimitDefault`.""" - createOrgLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitDefaultInput! - ): CreateOrgLimitDefaultPayload + """ + Bitmask of permissions directly granted to this member (not from profiles) + """ + granted: BitString - """Creates a single `AppLevelRequirement`.""" - createAppLevelRequirement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLevelRequirementInput! - ): CreateAppLevelRequirementPayload + """References the user who holds this membership""" + actorId: UUID! + profileId: UUID +} - """Creates a single `OrgChartEdgeGrant`.""" - createOrgChartEdgeGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgChartEdgeGrantInput! - ): CreateOrgChartEdgeGrantPayload +"""The output of our create `OrgMembership` mutation.""" +type CreateOrgMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `AppClaimedInvite`.""" - createAppClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppClaimedInviteInput! - ): CreateAppClaimedInvitePayload + """The `OrgMembership` that was created by this mutation.""" + orgMembership: OrgMembership - """Creates a single `AppGrant`.""" - createAppGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppGrantInput! - ): CreateAppGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMembership`. May be used by Relay 1.""" + orgMembershipEdge( + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipEdge +} + +"""All input for the create `OrgMembership` mutation.""" +input CreateOrgMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgMembership` to be created by this mutation.""" + orgMembership: OrgMembershipInput! +} + +"""An input for mutations affecting `OrgMembership`""" +input OrgMembershipInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether this membership has been approved by an admin""" + isApproved: Boolean + + """Whether this member has been banned from the entity""" + isBanned: Boolean + + """Whether this membership is temporarily disabled""" + isDisabled: Boolean + + """ + Computed field indicating the membership is approved, verified, not banned, and not disabled + """ + isActive: Boolean + + """ + Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + """ + isExternal: Boolean + + """Whether the actor is the owner of this entity""" + isOwner: Boolean + + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean + + """ + Aggregated permission bitmask combining profile-based and directly granted permissions + """ + permissions: BitString + + """ + Bitmask of permissions directly granted to this member (not from profiles) + """ + granted: BitString + + """References the user who holds this membership""" + actorId: UUID! + + """References the entity (org or group) this membership belongs to""" + entityId: UUID! + + """Whether this member has read-only access (blocks mutations when true)""" + isReadOnly: Boolean + profileId: UUID +} + +"""The output of our update `AppLimitCreditRedemption` mutation.""" +type UpdateAppLimitCreditRedemptionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditRedemption` that was updated by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemption + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditRedemption`. May be used by Relay 1.""" + appLimitCreditRedemptionEdge( + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionEdge +} + +"""All input for the `updateAppLimitCreditRedemption` mutation.""" +input UpdateAppLimitCreditRedemptionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCreditRedemption` being updated. + """ + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch! +} + +""" +Represents an update to a `AppLimitCreditRedemption`. Fields that are set will be updated. +""" +input AppLimitCreditRedemptionPatch { + id: UUID + + """FK to credit_codes — which code is being redeemed""" + creditCodeId: UUID + + """Entity receiving the credits (personal org user_id or org entity_id)""" + entityId: UUID +} + +"""The output of our update `OrgMember` mutation.""" +type UpdateOrgMemberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMember` that was updated by this mutation.""" + orgMember: OrgMember + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMember`. May be used by Relay 1.""" + orgMemberEdge( + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberEdge +} + +"""All input for the `updateOrgMember` mutation.""" +input UpdateOrgMemberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgMember` being updated. + """ + orgMemberPatch: OrgMemberPatch! +} + +""" +Represents an update to a `OrgMember`. Fields that are set will be updated. +""" +input OrgMemberPatch { + id: UUID + + """Whether this member has admin privileges""" + isAdmin: Boolean + + """References the user who is a member""" + actorId: UUID + + """References the entity (org or group) this member belongs to""" + entityId: UUID +} + +"""The output of our update `AppPermissionDefault` mutation.""" +type UpdateAppPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppPermissionDefault` that was updated by this mutation.""" + appPermissionDefault: AppPermissionDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" + appPermissionDefaultEdge( + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultEdge +} + +"""All input for the `updateAppPermissionDefault` mutation.""" +input UpdateAppPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppPermissionDefault` being updated. + """ + appPermissionDefaultPatch: AppPermissionDefaultPatch! +} + +""" +Represents an update to a `AppPermissionDefault`. Fields that are set will be updated. +""" +input AppPermissionDefaultPatch { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString +} + +"""The output of our update `AppLimitCreditCode` mutation.""" +type UpdateAppLimitCreditCodePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditCode` that was updated by this mutation.""" + appLimitCreditCode: AppLimitCreditCode + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditCode`. May be used by Relay 1.""" + appLimitCreditCodeEdge( + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeEdge +} + +"""All input for the `updateAppLimitCreditCode` mutation.""" +input UpdateAppLimitCreditCodeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCreditCode` being updated. + """ + appLimitCreditCodePatch: AppLimitCreditCodePatch! +} + +""" +Represents an update to a `AppLimitCreditCode`. Fields that are set will be updated. +""" +input AppLimitCreditCodePatch { + id: UUID + + """Human-readable credit code (case-insensitive, unique)""" + code: String + + """Maximum total redemptions allowed; NULL for unlimited""" + maxRedemptions: Int + + """ + Current number of redemptions (incremented by trigger on credit_redemptions) + """ + currentRedemptions: Int + + """Expiration timestamp; NULL for no expiry""" + expiresAt: Datetime +} + +"""The output of our update `OrgPermissionDefault` mutation.""" +type UpdateOrgPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgPermissionDefault` that was updated by this mutation.""" + orgPermissionDefault: OrgPermissionDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" + orgPermissionDefaultEdge( + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultEdge +} + +"""All input for the `updateOrgPermissionDefault` mutation.""" +input UpdateOrgPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgPermissionDefault` being updated. + """ + orgPermissionDefaultPatch: OrgPermissionDefaultPatch! +} + +""" +Represents an update to a `OrgPermissionDefault`. Fields that are set will be updated. +""" +input OrgPermissionDefaultPatch { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString + + """References the entity these default permissions apply to""" + entityId: UUID +} + +"""The output of our update `AppPermission` mutation.""" +type UpdateAppPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppPermission` that was updated by this mutation.""" + appPermission: AppPermission + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppPermission`. May be used by Relay 1.""" + appPermissionEdge( + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionEdge +} + +"""All input for the `updateAppPermission` mutation.""" +input UpdateAppPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppPermission` being updated. + """ + appPermissionPatch: AppPermissionPatch! +} + +""" +Represents an update to a `AppPermission`. Fields that are set will be updated. +""" +input AppPermissionPatch { + id: UUID + + """Human-readable permission name (e.g. read, write, manage)""" + name: String + + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int + + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String +} + +"""The output of our update `OrgPermission` mutation.""" +type UpdateOrgPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgPermission` that was updated by this mutation.""" + orgPermission: OrgPermission + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgPermission`. May be used by Relay 1.""" + orgPermissionEdge( + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionEdge +} + +"""All input for the `updateOrgPermission` mutation.""" +input UpdateOrgPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgPermission` being updated. + """ + orgPermissionPatch: OrgPermissionPatch! +} + +""" +Represents an update to a `OrgPermission`. Fields that are set will be updated. +""" +input OrgPermissionPatch { + id: UUID + + """Human-readable permission name (e.g. read, write, manage)""" + name: String + + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int + + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String +} + +"""The output of our update `AppAdminGrant` mutation.""" +type UpdateAppAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppAdminGrant` that was updated by this mutation.""" + appAdminGrant: AppAdminGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppAdminGrant`. May be used by Relay 1.""" + appAdminGrantEdge( + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAdminGrantEdge +} + +"""All input for the `updateAppAdminGrant` mutation.""" +input UpdateAppAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppAdminGrant` being updated. + """ + appAdminGrantPatch: AppAdminGrantPatch! +} + +""" +Represents an update to a `AppAdminGrant`. Fields that are set will be updated. +""" +input AppAdminGrantPatch { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppOwnerGrant` mutation.""" +type UpdateAppOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppOwnerGrant` that was updated by this mutation.""" + appOwnerGrant: AppOwnerGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" + appOwnerGrantEdge( + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppOwnerGrantEdge +} + +"""All input for the `updateAppOwnerGrant` mutation.""" +input UpdateAppOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppOwnerGrant` being updated. + """ + appOwnerGrantPatch: AppOwnerGrantPatch! +} + +""" +Represents an update to a `AppOwnerGrant`. Fields that are set will be updated. +""" +input AppOwnerGrantPatch { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppAchievement` mutation.""" +type UpdateAppAchievementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppAchievement` that was updated by this mutation.""" + appAchievement: AppAchievement + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppAchievement`. May be used by Relay 1.""" + appAchievementEdge( + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAchievementEdge +} + +"""All input for the `updateAppAchievement` mutation.""" +input UpdateAppAchievementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppAchievement` being updated. + """ + appAchievementPatch: AppAchievementPatch! +} + +""" +Represents an update to a `AppAchievement`. Fields that are set will be updated. +""" +input AppAchievementPatch { + id: UUID + actorId: UUID + + """Name identifier of the level requirement being tracked""" + name: String + + """Cumulative count of completed steps toward this requirement""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppStep` mutation.""" +type UpdateAppStepPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppStep` that was updated by this mutation.""" + appStep: AppStep + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppStep`. May be used by Relay 1.""" + appStepEdge( + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppStepEdge +} + +"""All input for the `updateAppStep` mutation.""" +input UpdateAppStepInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppStep` being updated. + """ + appStepPatch: AppStepPatch! +} + +""" +Represents an update to a `AppStep`. Fields that are set will be updated. +""" +input AppStepPatch { + id: UUID + actorId: UUID + + """Name identifier of the level requirement this step fulfills""" + name: String + + """Number of units completed in this step action""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppLimitCapsDefault` mutation.""" +type UpdateAppLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCapsDefault` that was updated by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCapsDefault`. May be used by Relay 1.""" + appLimitCapsDefaultEdge( + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultEdge +} + +"""All input for the `updateAppLimitCapsDefault` mutation.""" +input UpdateAppLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCapsDefault` being updated. + """ + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch! +} + +""" +Represents an update to a `AppLimitCapsDefault`. Fields that are set will be updated. +""" +input AppLimitCapsDefaultPatch { + id: UUID + + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt +} + +"""The output of our update `OrgLimitCapsDefault` mutation.""" +type UpdateOrgLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCapsDefault` that was updated by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCapsDefault`. May be used by Relay 1.""" + orgLimitCapsDefaultEdge( + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultEdge +} + +"""All input for the `updateOrgLimitCapsDefault` mutation.""" +input UpdateOrgLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitCapsDefault` being updated. + """ + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch! +} + +""" +Represents an update to a `OrgLimitCapsDefault`. Fields that are set will be updated. +""" +input OrgLimitCapsDefaultPatch { + id: UUID + + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt +} + +"""The output of our update `AppLimitCap` mutation.""" +type UpdateAppLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCap` that was updated by this mutation.""" + appLimitCap: AppLimitCap + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCap`. May be used by Relay 1.""" + appLimitCapEdge( + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapEdge +} + +"""All input for the `updateAppLimitCap` mutation.""" +input UpdateAppLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCap` being updated. + """ + appLimitCapPatch: AppLimitCapPatch! +} + +""" +Represents an update to a `AppLimitCap`. Fields that are set will be updated. +""" +input AppLimitCapPatch { + id: UUID + + """Name identifier of the cap being overridden""" + name: String + + """Entity this cap override applies to""" + entityId: UUID + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our update `OrgLimitCap` mutation.""" +type UpdateOrgLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCap` that was updated by this mutation.""" + orgLimitCap: OrgLimitCap + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCap`. May be used by Relay 1.""" + orgLimitCapEdge( + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapEdge +} + +"""All input for the `updateOrgLimitCap` mutation.""" +input UpdateOrgLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitCap` being updated. + """ + orgLimitCapPatch: OrgLimitCapPatch! +} + +""" +Represents an update to a `OrgLimitCap`. Fields that are set will be updated. +""" +input OrgLimitCapPatch { + id: UUID + + """Name identifier of the cap being overridden""" + name: String + + """Entity this cap override applies to""" + entityId: UUID + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our update `OrgAdminGrant` mutation.""" +type UpdateOrgAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgAdminGrant` that was updated by this mutation.""" + orgAdminGrant: OrgAdminGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" + orgAdminGrantEdge( + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgAdminGrantEdge +} + +"""All input for the `updateOrgAdminGrant` mutation.""" +input UpdateOrgAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgAdminGrant` being updated. + """ + orgAdminGrantPatch: OrgAdminGrantPatch! +} + +""" +Represents an update to a `OrgAdminGrant`. Fields that are set will be updated. +""" +input OrgAdminGrantPatch { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID + + """The entity (org or group) this admin grant applies to""" + entityId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `OrgOwnerGrant` mutation.""" +type UpdateOrgOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgOwnerGrant` that was updated by this mutation.""" + orgOwnerGrant: OrgOwnerGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" + orgOwnerGrantEdge( + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantEdge +} + +"""All input for the `updateOrgOwnerGrant` mutation.""" +input UpdateOrgOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgOwnerGrant` being updated. + """ + orgOwnerGrantPatch: OrgOwnerGrantPatch! +} + +""" +Represents an update to a `OrgOwnerGrant`. Fields that are set will be updated. +""" +input OrgOwnerGrantPatch { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID + + """The entity (org or group) this ownership grant applies to""" + entityId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `MembershipType` mutation.""" +type UpdateMembershipTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `MembershipType` that was updated by this mutation.""" + membershipType: MembershipType + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `MembershipType`. May be used by Relay 1.""" + membershipTypeEdge( + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypeEdge +} + +"""All input for the `updateMembershipType` mutation.""" +input UpdateMembershipTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """ + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + """ + id: Int! + + """ + An object where the defined keys will be set on the `MembershipType` being updated. + """ + membershipTypePatch: MembershipTypePatch! +} + +""" +Represents an update to a `MembershipType`. Fields that are set will be updated. +""" +input MembershipTypePatch { + """ + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + """ + id: Int + + """Human-readable name of the membership type""" + name: String + + """Description of what this membership type represents""" + description: String + + """ + Short prefix used to namespace tables and functions for this membership scope + """ + prefix: String + + """ + Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) + """ + parentMembershipType: Int + + """ + When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs + """ + hasUsersTableEntry: Boolean +} + +"""The output of our update `AppLimitDefault` mutation.""" +type UpdateAppLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitDefault` that was updated by this mutation.""" + appLimitDefault: AppLimitDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitDefault`. May be used by Relay 1.""" + appLimitDefaultEdge( + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitDefaultEdge +} + +"""All input for the `updateAppLimitDefault` mutation.""" +input UpdateAppLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitDefault` being updated. + """ + appLimitDefaultPatch: AppLimitDefaultPatch! +} + +""" +Represents an update to a `AppLimitDefault`. Fields that are set will be updated. +""" +input AppLimitDefaultPatch { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our update `OrgLimitDefault` mutation.""" +type UpdateOrgLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitDefault` that was updated by this mutation.""" + orgLimitDefault: OrgLimitDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" + orgLimitDefaultEdge( + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultEdge +} + +"""All input for the `updateOrgLimitDefault` mutation.""" +input UpdateOrgLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitDefault` being updated. + """ + orgLimitDefaultPatch: OrgLimitDefaultPatch! +} + +""" +Represents an update to a `OrgLimitDefault`. Fields that are set will be updated. +""" +input OrgLimitDefaultPatch { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our update `AppLimitCreditCodeItem` mutation.""" +type UpdateAppLimitCreditCodeItemPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditCodeItem` that was updated by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItem + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditCodeItem`. May be used by Relay 1.""" + appLimitCreditCodeItemEdge( + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemEdge +} + +"""All input for the `updateAppLimitCreditCodeItem` mutation.""" +input UpdateAppLimitCreditCodeItemInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCreditCodeItem` being updated. + """ + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch! +} + +""" +Represents an update to a `AppLimitCreditCodeItem`. Fields that are set will be updated. +""" +input AppLimitCreditCodeItemPatch { + id: UUID + + """FK to credit_codes — which code this item belongs to""" + creditCodeId: UUID + + """FK to default_limits — which limit this item grants credits for""" + defaultLimitId: UUID + + """Number of credits this item grants per redemption""" + amount: BigInt + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String +} + +"""The output of our update `AppLevelRequirement` mutation.""" +type UpdateAppLevelRequirementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLevelRequirement` that was updated by this mutation.""" + appLevelRequirement: AppLevelRequirement + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" + appLevelRequirementEdge( + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelRequirementEdge +} + +"""All input for the `updateAppLevelRequirement` mutation.""" +input UpdateAppLevelRequirementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLevelRequirement` being updated. + """ + appLevelRequirementPatch: AppLevelRequirementPatch! +} + +""" +Represents an update to a `AppLevelRequirement`. Fields that are set will be updated. +""" +input AppLevelRequirementPatch { + id: UUID + + """Name identifier of the requirement (matches step names)""" + name: String + + """Name of the level this requirement belongs to""" + level: String + + """Human-readable description of what this requirement entails""" + description: String + + """Number of steps needed to satisfy this requirement""" + requiredCount: Int + + """Display ordering priority; lower values appear first""" + priority: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppLimitCredit` mutation.""" +type UpdateAppLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCredit` that was updated by this mutation.""" + appLimitCredit: AppLimitCredit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCredit`. May be used by Relay 1.""" + appLimitCreditEdge( + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditEdge +} + +"""All input for the `updateAppLimitCredit` mutation.""" +input UpdateAppLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCredit` being updated. + """ + appLimitCreditPatch: AppLimitCreditPatch! +} + +""" +Represents an update to a `AppLimitCredit`. Fields that are set will be updated. +""" +input AppLimitCreditPatch { + id: UUID + + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID + + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String +} + +"""The output of our update `OrgLimitCredit` mutation.""" +type UpdateOrgLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCredit` that was updated by this mutation.""" + orgLimitCredit: OrgLimitCredit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCredit`. May be used by Relay 1.""" + orgLimitCreditEdge( + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCreditEdge +} + +"""All input for the `updateOrgLimitCredit` mutation.""" +input UpdateOrgLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitCredit` being updated. + """ + orgLimitCreditPatch: OrgLimitCreditPatch! +} + +""" +Represents an update to a `OrgLimitCredit`. Fields that are set will be updated. +""" +input OrgLimitCreditPatch { + id: UUID + + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID + + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Entity this credit applies to; NULL for actor-only credits""" + entityId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String +} + +"""The output of our update `OrgChartEdgeGrant` mutation.""" +type UpdateOrgChartEdgeGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgChartEdgeGrant` that was updated by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" + orgChartEdgeGrantEdge( + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantEdge +} + +"""All input for the `updateOrgChartEdgeGrant` mutation.""" +input UpdateOrgChartEdgeGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgChartEdgeGrant` being updated. + """ + orgChartEdgeGrantPatch: OrgChartEdgeGrantPatch! +} + +""" +Represents an update to a `OrgChartEdgeGrant`. Fields that are set will be updated. +""" +input OrgChartEdgeGrantPatch { + id: UUID + + """Organization this grant applies to""" + entityId: UUID + + """User ID of the subordinate being placed in the hierarchy""" + childId: UUID + + """User ID of the manager being assigned; NULL for top-level positions""" + parentId: UUID + + """ + User ID of the admin who performed this grant or revocation; NULL if grantor was deleted + """ + grantorId: UUID + + """TRUE to add/update the edge, FALSE to remove it""" + isGrant: Boolean + + """Job title or role name being assigned in this grant""" + positionTitle: String + + """Numeric seniority level being assigned in this grant""" + positionLevel: Int + + """Timestamp when this grant or revocation was recorded""" + createdAt: Datetime +} + +"""The output of our update `AppClaimedInvite` mutation.""" +type UpdateAppClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppClaimedInvite` that was updated by this mutation.""" + appClaimedInvite: AppClaimedInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" + appClaimedInviteEdge( + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppClaimedInviteEdge +} + +"""All input for the `updateAppClaimedInvite` mutation.""" +input UpdateAppClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppClaimedInvite` being updated. + """ + appClaimedInvitePatch: AppClaimedInvitePatch! +} + +""" +Represents an update to a `AppClaimedInvite`. Fields that are set will be updated. +""" +input AppClaimedInvitePatch { + id: UUID + + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppGrant` mutation.""" +type UpdateAppGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppGrant` that was updated by this mutation.""" + appGrant: AppGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppGrant`. May be used by Relay 1.""" + appGrantEdge( + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppGrantEdge +} + +"""All input for the `updateAppGrant` mutation.""" +input UpdateAppGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppGrant` being updated. + """ + appGrantPatch: AppGrantPatch! +} + +""" +Represents an update to a `AppGrant`. Fields that are set will be updated. +""" +input AppGrantPatch { + id: UUID + + """Bitmask of permissions being granted or revoked""" + permissions: BitString + + """True to grant the permissions, false to revoke them""" + isGrant: Boolean + + """The member receiving or losing the permission grant""" + actorId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppMembershipDefault` mutation.""" +type UpdateAppMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppMembershipDefault` that was updated by this mutation.""" + appMembershipDefault: AppMembershipDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" + appMembershipDefaultEdge( + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultEdge +} + +"""All input for the `updateAppMembershipDefault` mutation.""" +input UpdateAppMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppMembershipDefault` being updated. + """ + appMembershipDefaultPatch: AppMembershipDefaultPatch! +} + +""" +Represents an update to a `AppMembershipDefault`. Fields that are set will be updated. +""" +input AppMembershipDefaultPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether new members are automatically approved upon joining""" + isApproved: Boolean + + """Whether new members are automatically verified upon joining""" + isVerified: Boolean +} + +"""The output of our update `OrgMembershipDefault` mutation.""" +type UpdateOrgMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMembershipDefault` that was updated by this mutation.""" + orgMembershipDefault: OrgMembershipDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" + orgMembershipDefaultEdge( + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultEdge +} + +"""All input for the `updateOrgMembershipDefault` mutation.""" +input UpdateOrgMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgMembershipDefault` being updated. + """ + orgMembershipDefaultPatch: OrgMembershipDefaultPatch! +} + +""" +Represents an update to a `OrgMembershipDefault`. Fields that are set will be updated. +""" +input OrgMembershipDefaultPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether new members are automatically approved upon joining""" + isApproved: Boolean + + """References the entity these membership defaults apply to""" + entityId: UUID +} + +"""The output of our update `OrgClaimedInvite` mutation.""" +type UpdateOrgClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgClaimedInvite` that was updated by this mutation.""" + orgClaimedInvite: OrgClaimedInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" + orgClaimedInviteEdge( + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteEdge +} + +"""All input for the `updateOrgClaimedInvite` mutation.""" +input UpdateOrgClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgClaimedInvite` being updated. + """ + orgClaimedInvitePatch: OrgClaimedInvitePatch! +} + +""" +Represents an update to a `OrgClaimedInvite`. Fields that are set will be updated. +""" +input OrgClaimedInvitePatch { + id: UUID + + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime + entityId: UUID +} + +"""The output of our update `OrgGrant` mutation.""" +type UpdateOrgGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgGrant` that was updated by this mutation.""" + orgGrant: OrgGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgGrant`. May be used by Relay 1.""" + orgGrantEdge( + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgGrantEdge +} + +"""All input for the `updateOrgGrant` mutation.""" +input UpdateOrgGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgGrant` being updated. + """ + orgGrantPatch: OrgGrantPatch! +} + +""" +Represents an update to a `OrgGrant`. Fields that are set will be updated. +""" +input OrgGrantPatch { + id: UUID + + """Bitmask of permissions being granted or revoked""" + permissions: BitString + + """True to grant the permissions, false to revoke them""" + isGrant: Boolean + + """The member receiving or losing the permission grant""" + actorId: UUID + + """The entity (org or group) this permission grant applies to""" + entityId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `OrgChartEdge` mutation.""" +type UpdateOrgChartEdgePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgChartEdge` that was updated by this mutation.""" + orgChartEdge: OrgChartEdge + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgChartEdge`. May be used by Relay 1.""" + orgChartEdgeEdge( + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeEdge +} + +"""All input for the `updateOrgChartEdge` mutation.""" +input UpdateOrgChartEdgeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgChartEdge` being updated. + """ + orgChartEdgePatch: OrgChartEdgePatch! +} + +""" +Represents an update to a `OrgChartEdge`. Fields that are set will be updated. +""" +input OrgChartEdgePatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + + """Organization this hierarchy edge belongs to""" + entityId: UUID + + """User ID of the subordinate (employee) in this reporting relationship""" + childId: UUID + + """ + User ID of the manager; NULL indicates a top-level position with no direct report + """ + parentId: UUID + + """Job title or role name for this position in the org chart""" + positionTitle: String + + """Numeric seniority level for this position (higher = more senior)""" + positionLevel: Int +} + +"""The output of our update `OrgMemberProfile` mutation.""" +type UpdateOrgMemberProfilePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMemberProfile` that was updated by this mutation.""" + orgMemberProfile: OrgMemberProfile + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" + orgMemberProfileEdge( + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberProfileEdge +} + +"""All input for the `updateOrgMemberProfile` mutation.""" +input UpdateOrgMemberProfileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgMemberProfile` being updated. + """ + orgMemberProfilePatch: OrgMemberProfilePatch! +} + +""" +Represents an update to a `OrgMemberProfile`. Fields that are set will be updated. +""" +input OrgMemberProfilePatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + + """References the membership this profile belongs to (1:1)""" + membershipId: UUID + + """References the entity this profile belongs to (used for RLS lookups)""" + entityId: UUID + + """References the user who owns this profile (for self-edit RLS)""" + actorId: UUID + + """Display name shown to other entity members""" + displayName: String + + """ + Email address visible to other entity members (auto-populated from verified primary email) + """ + email: String + + """Job title or role description visible to other entity members""" + title: String + + """Short biography visible to other entity members""" + bio: String + + """Profile picture visible to other entity members""" + profilePicture: ConstructiveInternalTypeImage + + """Upload for Profile picture visible to other entity members""" + profilePictureUpload: Upload +} + +"""The `Upload` scalar type represents a file upload.""" +scalar Upload + +"""The output of our update `AppLevel` mutation.""" +type UpdateAppLevelPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLevel` that was updated by this mutation.""" + appLevel: AppLevel + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLevel`. May be used by Relay 1.""" + appLevelEdge( + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelEdge +} + +"""All input for the `updateAppLevel` mutation.""" +input UpdateAppLevelInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLevel` being updated. + """ + appLevelPatch: AppLevelPatch! +} + +""" +Represents an update to a `AppLevel`. Fields that are set will be updated. +""" +input AppLevelPatch { + id: UUID + + """Unique name of the level""" + name: String + + """Human-readable description of what this level represents""" + description: String + + """Badge or icon image associated with this level""" + image: ConstructiveInternalTypeImage + + """Optional owner (actor) who created or manages this level""" + ownerId: UUID + createdAt: Datetime + updatedAt: Datetime + + """Upload for Badge or icon image associated with this level""" + imageUpload: Upload +} + +"""The output of our update `AppLimit` mutation.""" +type UpdateAppLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimit` that was updated by this mutation.""" + appLimit: AppLimit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimit`. May be used by Relay 1.""" + appLimitEdge( + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitEdge +} + +"""All input for the `updateAppLimit` mutation.""" +input UpdateAppLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimit` being updated. + """ + appLimitPatch: AppLimitPatch! +} + +""" +Represents an update to a `AppLimit`. Fields that are set will be updated. +""" +input AppLimitPatch { + id: UUID + + """Name identifier of the limit being tracked""" + name: String + + """User whose usage is being tracked against this limit""" + actorId: UUID + + """Current usage count for this actor and limit""" + num: BigInt + + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt + + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime + + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput + + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt + + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt + + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt +} + +"""The output of our update `AppInvite` mutation.""" +type UpdateAppInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppInvite` that was updated by this mutation.""" + appInvite: AppInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppInvite`. May be used by Relay 1.""" + appInviteEdge( + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppInviteEdge +} + +"""All input for the `updateAppInvite` mutation.""" +input UpdateAppInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppInvite` being updated. + """ + appInvitePatch: AppInvitePatch! +} + +""" +Represents an update to a `AppInvite`. Fields that are set will be updated. +""" +input AppInvitePatch { + id: UUID + + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail + + """User ID of the member who sent this invitation""" + senderId: UUID + + """Unique random hex token used to redeem this invitation""" + inviteToken: String + + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean + + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int + + """Running count of how many times this invite has been claimed""" + inviteCount: Int + + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean + + """Optional JSON payload of additional invite metadata""" + data: JSON + + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID + + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `OrgMembershipSetting` mutation.""" +type UpdateOrgMembershipSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMembershipSetting` that was updated by this mutation.""" + orgMembershipSetting: OrgMembershipSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" + orgMembershipSettingEdge( + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingEdge +} + +"""All input for the `updateOrgMembershipSetting` mutation.""" +input UpdateOrgMembershipSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgMembershipSetting` being updated. + """ + orgMembershipSettingPatch: OrgMembershipSettingPatch! +} + +""" +Represents an update to a `OrgMembershipSetting`. Fields that are set will be updated. +""" +input OrgMembershipSettingPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """References the entity these settings apply to""" + entityId: UUID + + """ + When a member is deleted, whether to cascade-remove their descendant-entity memberships + """ + deleteMemberCascadeChildren: Boolean + + """ + When a child entity is created, whether to auto-add existing org-level owners as child-entity owners + """ + createChildCascadeOwners: Boolean + + """ + When a child entity is created, whether to auto-add existing org-level admins as child-entity admins + """ + createChildCascadeAdmins: Boolean + + """ + When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members + """ + createChildCascadeMembers: Boolean + + """ + Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) + """ + allowExternalMembers: Boolean + + """ + Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) + """ + inviteProfileAssignmentMode: String + + """ + Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. + """ + populateMemberEmail: Boolean + + """ + Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) + """ + limitAllocationMode: String +} + +"""The output of our update `OrgLimitAggregate` mutation.""" +type UpdateOrgLimitAggregatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitAggregate` that was updated by this mutation.""" + orgLimitAggregate: OrgLimitAggregate + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" + orgLimitAggregateEdge( + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateEdge +} + +"""All input for the `updateOrgLimitAggregate` mutation.""" +input UpdateOrgLimitAggregateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitAggregate` being updated. + """ + orgLimitAggregatePatch: OrgLimitAggregatePatch! +} + +""" +Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. +""" +input OrgLimitAggregatePatch { + id: UUID + + """Name identifier of the aggregate limit being tracked""" + name: String + + """Entity (org) whose aggregate usage is being tracked""" + entityId: UUID + + """Current aggregate usage count for this entity and limit""" + num: BigInt + + """Maximum allowed aggregate usage; negative means unlimited""" + max: BigInt + + """Soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime + + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput + + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt + + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt + + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt + + """ + Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. + """ + reserved: BigInt +} + +"""The output of our update `OrgLimit` mutation.""" +type UpdateOrgLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimit` that was updated by this mutation.""" + orgLimit: OrgLimit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimit`. May be used by Relay 1.""" + orgLimitEdge( + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitEdge +} + +"""All input for the `updateOrgLimit` mutation.""" +input UpdateOrgLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimit` being updated. + """ + orgLimitPatch: OrgLimitPatch! +} + +""" +Represents an update to a `OrgLimit`. Fields that are set will be updated. +""" +input OrgLimitPatch { + id: UUID + + """Name identifier of the limit being tracked""" + name: String + + """User whose usage is being tracked against this limit""" + actorId: UUID + + """Current usage count for this actor and limit""" + num: BigInt + + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt + + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime + + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput + + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt + + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt + + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt + entityId: UUID +} + +"""The output of our update `OrgInvite` mutation.""" +type UpdateOrgInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgInvite` that was updated by this mutation.""" + orgInvite: OrgInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgInvite`. May be used by Relay 1.""" + orgInviteEdge( + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgInviteEdge +} + +"""All input for the `updateOrgInvite` mutation.""" +input UpdateOrgInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgInvite` being updated. + """ + orgInvitePatch: OrgInvitePatch! +} + +""" +Represents an update to a `OrgInvite`. Fields that are set will be updated. +""" +input OrgInvitePatch { + id: UUID + + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail + + """User ID of the member who sent this invitation""" + senderId: UUID + + """User ID of the intended recipient, if targeting a specific user""" + receiverId: UUID + + """Unique random hex token used to redeem this invitation""" + inviteToken: String + + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean + + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int + + """Running count of how many times this invite has been claimed""" + inviteCount: Int + + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean + + """Optional JSON payload of additional invite metadata""" + data: JSON + + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID + + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime + entityId: UUID +} + +"""The output of our update `AppMembership` mutation.""" +type UpdateAppMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppMembership` that was updated by this mutation.""" + appMembership: AppMembership + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppMembership`. May be used by Relay 1.""" + appMembershipEdge( + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipEdge +} + +"""All input for the `updateAppMembership` mutation.""" +input UpdateAppMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppMembership` being updated. + """ + appMembershipPatch: AppMembershipPatch! +} + +""" +Represents an update to a `AppMembership`. Fields that are set will be updated. +""" +input AppMembershipPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether this membership has been approved by an admin""" + isApproved: Boolean + + """Whether this member has been banned from the entity""" + isBanned: Boolean + + """Whether this membership is temporarily disabled""" + isDisabled: Boolean + + """Whether this member has been verified (e.g. email confirmation)""" + isVerified: Boolean + + """ + Computed field indicating the membership is approved, verified, not banned, and not disabled + """ + isActive: Boolean + + """Whether the actor is the owner of this entity""" + isOwner: Boolean + + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean + + """ + Aggregated permission bitmask combining profile-based and directly granted permissions + """ + permissions: BitString + + """ + Bitmask of permissions directly granted to this member (not from profiles) + """ + granted: BitString + + """References the user who holds this membership""" + actorId: UUID + profileId: UUID +} + +"""The output of our update `OrgMembership` mutation.""" +type UpdateOrgMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMembership` that was updated by this mutation.""" + orgMembership: OrgMembership + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMembership`. May be used by Relay 1.""" + orgMembershipEdge( + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipEdge +} + +"""All input for the `updateOrgMembership` mutation.""" +input UpdateOrgMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `OrgMembership` being updated. + """ + orgMembershipPatch: OrgMembershipPatch! +} + +""" +Represents an update to a `OrgMembership`. Fields that are set will be updated. +""" +input OrgMembershipPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether this membership has been approved by an admin""" + isApproved: Boolean + + """Whether this member has been banned from the entity""" + isBanned: Boolean + + """Whether this membership is temporarily disabled""" + isDisabled: Boolean + + """ + Computed field indicating the membership is approved, verified, not banned, and not disabled + """ + isActive: Boolean + + """ + Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + """ + isExternal: Boolean + + """Whether the actor is the owner of this entity""" + isOwner: Boolean + + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean + + """ + Aggregated permission bitmask combining profile-based and directly granted permissions + """ + permissions: BitString + + """ + Bitmask of permissions directly granted to this member (not from profiles) + """ + granted: BitString + + """References the user who holds this membership""" + actorId: UUID + + """References the entity (org or group) this membership belongs to""" + entityId: UUID + + """Whether this member has read-only access (blocks mutations when true)""" + isReadOnly: Boolean + profileId: UUID +} + +"""The output of our delete `AppLimitCreditRedemption` mutation.""" +type DeleteAppLimitCreditRedemptionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditRedemption` that was deleted by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemption + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditRedemption`. May be used by Relay 1.""" + appLimitCreditRedemptionEdge( + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionEdge +} + +"""All input for the `deleteAppLimitCreditRedemption` mutation.""" +input DeleteAppLimitCreditRedemptionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgMember` mutation.""" +type DeleteOrgMemberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMember` that was deleted by this mutation.""" + orgMember: OrgMember + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMember`. May be used by Relay 1.""" + orgMemberEdge( + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberEdge +} + +"""All input for the `deleteOrgMember` mutation.""" +input DeleteOrgMemberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppPermissionDefault` mutation.""" +type DeleteAppPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppPermissionDefault` that was deleted by this mutation.""" + appPermissionDefault: AppPermissionDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" + appPermissionDefaultEdge( + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultEdge +} + +"""All input for the `deleteAppPermissionDefault` mutation.""" +input DeleteAppPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppLimitCreditCode` mutation.""" +type DeleteAppLimitCreditCodePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditCode` that was deleted by this mutation.""" + appLimitCreditCode: AppLimitCreditCode + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditCode`. May be used by Relay 1.""" + appLimitCreditCodeEdge( + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeEdge +} + +"""All input for the `deleteAppLimitCreditCode` mutation.""" +input DeleteAppLimitCreditCodeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgPermissionDefault` mutation.""" +type DeleteOrgPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgPermissionDefault` that was deleted by this mutation.""" + orgPermissionDefault: OrgPermissionDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" + orgPermissionDefaultEdge( + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultEdge +} + +"""All input for the `deleteOrgPermissionDefault` mutation.""" +input DeleteOrgPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppPermission` mutation.""" +type DeleteAppPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppPermission` that was deleted by this mutation.""" + appPermission: AppPermission + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppPermission`. May be used by Relay 1.""" + appPermissionEdge( + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionEdge +} + +"""All input for the `deleteAppPermission` mutation.""" +input DeleteAppPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgPermission` mutation.""" +type DeleteOrgPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgPermission` that was deleted by this mutation.""" + orgPermission: OrgPermission + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgPermission`. May be used by Relay 1.""" + orgPermissionEdge( + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionEdge +} + +"""All input for the `deleteOrgPermission` mutation.""" +input DeleteOrgPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppAdminGrant` mutation.""" +type DeleteAppAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppAdminGrant` that was deleted by this mutation.""" + appAdminGrant: AppAdminGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppAdminGrant`. May be used by Relay 1.""" + appAdminGrantEdge( + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAdminGrantEdge +} + +"""All input for the `deleteAppAdminGrant` mutation.""" +input DeleteAppAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppOwnerGrant` mutation.""" +type DeleteAppOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppOwnerGrant` that was deleted by this mutation.""" + appOwnerGrant: AppOwnerGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" + appOwnerGrantEdge( + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppOwnerGrantEdge +} + +"""All input for the `deleteAppOwnerGrant` mutation.""" +input DeleteAppOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppAchievement` mutation.""" +type DeleteAppAchievementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppAchievement` that was deleted by this mutation.""" + appAchievement: AppAchievement + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppAchievement`. May be used by Relay 1.""" + appAchievementEdge( + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAchievementEdge +} + +"""All input for the `deleteAppAchievement` mutation.""" +input DeleteAppAchievementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppStep` mutation.""" +type DeleteAppStepPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppStep` that was deleted by this mutation.""" + appStep: AppStep + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppStep`. May be used by Relay 1.""" + appStepEdge( + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppStepEdge +} + +"""All input for the `deleteAppStep` mutation.""" +input DeleteAppStepInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppLimitCapsDefault` mutation.""" +type DeleteAppLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCapsDefault` that was deleted by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCapsDefault`. May be used by Relay 1.""" + appLimitCapsDefaultEdge( + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultEdge +} + +"""All input for the `deleteAppLimitCapsDefault` mutation.""" +input DeleteAppLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgLimitCapsDefault` mutation.""" +type DeleteOrgLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCapsDefault` that was deleted by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCapsDefault`. May be used by Relay 1.""" + orgLimitCapsDefaultEdge( + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultEdge +} + +"""All input for the `deleteOrgLimitCapsDefault` mutation.""" +input DeleteOrgLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppLimitCap` mutation.""" +type DeleteAppLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCap` that was deleted by this mutation.""" + appLimitCap: AppLimitCap + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCap`. May be used by Relay 1.""" + appLimitCapEdge( + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapEdge +} + +"""All input for the `deleteAppLimitCap` mutation.""" +input DeleteAppLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgLimitCap` mutation.""" +type DeleteOrgLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCap` that was deleted by this mutation.""" + orgLimitCap: OrgLimitCap + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCap`. May be used by Relay 1.""" + orgLimitCapEdge( + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapEdge +} + +"""All input for the `deleteOrgLimitCap` mutation.""" +input DeleteOrgLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgAdminGrant` mutation.""" +type DeleteOrgAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgAdminGrant` that was deleted by this mutation.""" + orgAdminGrant: OrgAdminGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" + orgAdminGrantEdge( + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgAdminGrantEdge +} + +"""All input for the `deleteOrgAdminGrant` mutation.""" +input DeleteOrgAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgOwnerGrant` mutation.""" +type DeleteOrgOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgOwnerGrant` that was deleted by this mutation.""" + orgOwnerGrant: OrgOwnerGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" + orgOwnerGrantEdge( + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantEdge +} + +"""All input for the `deleteOrgOwnerGrant` mutation.""" +input DeleteOrgOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `MembershipType` mutation.""" +type DeleteMembershipTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `MembershipType` that was deleted by this mutation.""" + membershipType: MembershipType - """Creates a single `AppMembershipDefault`.""" - createAppMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppMembershipDefaultInput! - ): CreateAppMembershipDefaultPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgMembershipDefault`.""" - createOrgMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMembershipDefaultInput! - ): CreateOrgMembershipDefaultPayload + """An edge for our `MembershipType`. May be used by Relay 1.""" + membershipTypeEdge( + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypeEdge +} - """Creates a single `OrgClaimedInvite`.""" - createOrgClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgClaimedInviteInput! - ): CreateOrgClaimedInvitePayload +"""All input for the `deleteMembershipType` mutation.""" +input DeleteMembershipTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `AppLimitEvent`.""" - createAppLimitEvent( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLimitEventInput! - ): CreateAppLimitEventPayload + """ + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + """ + id: Int! +} + +"""The output of our delete `AppLimitDefault` mutation.""" +type DeleteAppLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitDefault` that was deleted by this mutation.""" + appLimitDefault: AppLimitDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitDefault`. May be used by Relay 1.""" + appLimitDefaultEdge( + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitDefaultEdge +} + +"""All input for the `deleteAppLimitDefault` mutation.""" +input DeleteAppLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgLimitDefault` mutation.""" +type DeleteOrgLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitDefault` that was deleted by this mutation.""" + orgLimitDefault: OrgLimitDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" + orgLimitDefaultEdge( + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultEdge +} + +"""All input for the `deleteOrgLimitDefault` mutation.""" +input DeleteOrgLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppLimitCreditCodeItem` mutation.""" +type DeleteAppLimitCreditCodeItemPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditCodeItem` that was deleted by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItem + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditCodeItem`. May be used by Relay 1.""" + appLimitCreditCodeItemEdge( + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemEdge +} + +"""All input for the `deleteAppLimitCreditCodeItem` mutation.""" +input DeleteAppLimitCreditCodeItemInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppLevelRequirement` mutation.""" +type DeleteAppLevelRequirementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLevelRequirement` that was deleted by this mutation.""" + appLevelRequirement: AppLevelRequirement + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" + appLevelRequirementEdge( + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelRequirementEdge +} + +"""All input for the `deleteAppLevelRequirement` mutation.""" +input DeleteAppLevelRequirementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppLimitCredit` mutation.""" +type DeleteAppLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCredit` that was deleted by this mutation.""" + appLimitCredit: AppLimitCredit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCredit`. May be used by Relay 1.""" + appLimitCreditEdge( + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditEdge +} + +"""All input for the `deleteAppLimitCredit` mutation.""" +input DeleteAppLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgLimitCredit` mutation.""" +type DeleteOrgLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCredit` that was deleted by this mutation.""" + orgLimitCredit: OrgLimitCredit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCredit`. May be used by Relay 1.""" + orgLimitCreditEdge( + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCreditEdge +} + +"""All input for the `deleteOrgLimitCredit` mutation.""" +input DeleteOrgLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `OrgChartEdgeGrant` mutation.""" +type DeleteOrgChartEdgeGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgChartEdgeGrant` that was deleted by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" + orgChartEdgeGrantEdge( + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantEdge +} + +"""All input for the `deleteOrgChartEdgeGrant` mutation.""" +input DeleteOrgChartEdgeGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} + +"""The output of our delete `AppClaimedInvite` mutation.""" +type DeleteAppClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgLimitEvent`.""" - createOrgLimitEvent( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitEventInput! - ): CreateOrgLimitEventPayload + """The `AppClaimedInvite` that was deleted by this mutation.""" + appClaimedInvite: AppClaimedInvite - """Creates a single `OrgGrant`.""" - createOrgGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgGrantInput! - ): CreateOrgGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgChartEdge`.""" - createOrgChartEdge( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgChartEdgeInput! - ): CreateOrgChartEdgePayload + """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" + appClaimedInviteEdge( + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppClaimedInviteEdge +} - """Creates a single `AppLimit`.""" - createAppLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLimitInput! - ): CreateAppLimitPayload +"""All input for the `deleteAppClaimedInvite` mutation.""" +input DeleteAppClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `OrgLimitAggregate`.""" - createOrgLimitAggregate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitAggregateInput! - ): CreateOrgLimitAggregatePayload +"""The output of our delete `AppGrant` mutation.""" +type DeleteAppGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgMemberProfile`.""" - createOrgMemberProfile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMemberProfileInput! - ): CreateOrgMemberProfilePayload + """The `AppGrant` that was deleted by this mutation.""" + appGrant: AppGrant - """Creates a single `OrgLimit`.""" - createOrgLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitInput! - ): CreateOrgLimitPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `AppLevel`.""" - createAppLevel( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLevelInput! - ): CreateAppLevelPayload + """An edge for our `AppGrant`. May be used by Relay 1.""" + appGrantEdge( + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppGrantEdge +} - """Creates a single `AppInvite`.""" - createAppInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppInviteInput! - ): CreateAppInvitePayload +"""All input for the `deleteAppGrant` mutation.""" +input DeleteAppGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `OrgMembershipSetting`.""" - createOrgMembershipSetting( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMembershipSettingInput! - ): CreateOrgMembershipSettingPayload +"""The output of our delete `AppMembershipDefault` mutation.""" +type DeleteAppMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgInvite`.""" - createOrgInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgInviteInput! - ): CreateOrgInvitePayload + """The `AppMembershipDefault` that was deleted by this mutation.""" + appMembershipDefault: AppMembershipDefault - """Creates a single `AppMembership`.""" - createAppMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppMembershipInput! - ): CreateAppMembershipPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgMembership`.""" - createOrgMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMembershipInput! - ): CreateOrgMembershipPayload + """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" + appMembershipDefaultEdge( + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultEdge +} - """Updates a single `OrgMember` using a unique key and a patch.""" - updateOrgMember( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMemberInput! - ): UpdateOrgMemberPayload +"""All input for the `deleteAppMembershipDefault` mutation.""" +input DeleteAppMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} +"""The output of our delete `OrgMembershipDefault` mutation.""" +type DeleteOrgMembershipDefaultPayload { """ - Updates a single `AppPermissionDefault` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateAppPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppPermissionDefaultInput! - ): UpdateAppPermissionDefaultPayload + clientMutationId: String + + """The `OrgMembershipDefault` that was deleted by this mutation.""" + orgMembershipDefault: OrgMembershipDefault """ - Updates a single `OrgPermissionDefault` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateOrgPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgPermissionDefaultInput! - ): UpdateOrgPermissionDefaultPayload + query: Query - """Updates a single `AppPermission` using a unique key and a patch.""" - updateAppPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppPermissionInput! - ): UpdateAppPermissionPayload + """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" + orgMembershipDefaultEdge( + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultEdge +} - """Updates a single `OrgPermission` using a unique key and a patch.""" - updateOrgPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgPermissionInput! - ): UpdateOrgPermissionPayload +"""All input for the `deleteOrgMembershipDefault` mutation.""" +input DeleteOrgMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `AppAdminGrant` using a unique key and a patch.""" - updateAppAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppAdminGrantInput! - ): UpdateAppAdminGrantPayload +"""The output of our delete `OrgClaimedInvite` mutation.""" +type DeleteOrgClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `AppOwnerGrant` using a unique key and a patch.""" - updateAppOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppOwnerGrantInput! - ): UpdateAppOwnerGrantPayload + """The `OrgClaimedInvite` that was deleted by this mutation.""" + orgClaimedInvite: OrgClaimedInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppAchievement` using a unique key and a patch.""" - updateAppAchievement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppAchievementInput! - ): UpdateAppAchievementPayload + """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" + orgClaimedInviteEdge( + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteEdge +} - """Updates a single `AppStep` using a unique key and a patch.""" - updateAppStep( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppStepInput! - ): UpdateAppStepPayload +"""All input for the `deleteOrgClaimedInvite` mutation.""" +input DeleteOrgClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `OrgAdminGrant` using a unique key and a patch.""" - updateOrgAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgAdminGrantInput! - ): UpdateOrgAdminGrantPayload +"""The output of our delete `OrgGrant` mutation.""" +type DeleteOrgGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `OrgOwnerGrant` using a unique key and a patch.""" - updateOrgOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgOwnerGrantInput! - ): UpdateOrgOwnerGrantPayload + """The `OrgGrant` that was deleted by this mutation.""" + orgGrant: OrgGrant - """Updates a single `MembershipType` using a unique key and a patch.""" - updateMembershipType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateMembershipTypeInput! - ): UpdateMembershipTypePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppLimitDefault` using a unique key and a patch.""" - updateAppLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLimitDefaultInput! - ): UpdateAppLimitDefaultPayload + """An edge for our `OrgGrant`. May be used by Relay 1.""" + orgGrantEdge( + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgGrantEdge +} - """Updates a single `OrgLimitDefault` using a unique key and a patch.""" - updateOrgLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgLimitDefaultInput! - ): UpdateOrgLimitDefaultPayload +"""All input for the `deleteOrgGrant` mutation.""" +input DeleteOrgGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `AppLevelRequirement` using a unique key and a patch.""" - updateAppLevelRequirement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLevelRequirementInput! - ): UpdateAppLevelRequirementPayload +"""The output of our delete `OrgChartEdge` mutation.""" +type DeleteOrgChartEdgePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `OrgChartEdgeGrant` using a unique key and a patch.""" - updateOrgChartEdgeGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgChartEdgeGrantInput! - ): UpdateOrgChartEdgeGrantPayload + """The `OrgChartEdge` that was deleted by this mutation.""" + orgChartEdge: OrgChartEdge - """Updates a single `AppClaimedInvite` using a unique key and a patch.""" - updateAppClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppClaimedInviteInput! - ): UpdateAppClaimedInvitePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppGrant` using a unique key and a patch.""" - updateAppGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppGrantInput! - ): UpdateAppGrantPayload + """An edge for our `OrgChartEdge`. May be used by Relay 1.""" + orgChartEdgeEdge( + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeEdge +} +"""All input for the `deleteOrgChartEdge` mutation.""" +input DeleteOrgChartEdgeInput { """ - Updates a single `AppMembershipDefault` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updateAppMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppMembershipDefaultInput! - ): UpdateAppMembershipDefaultPayload + clientMutationId: String + id: UUID! +} +"""The output of our delete `OrgMemberProfile` mutation.""" +type DeleteOrgMemberProfilePayload { """ - Updates a single `OrgMembershipDefault` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateOrgMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMembershipDefaultInput! - ): UpdateOrgMembershipDefaultPayload + clientMutationId: String - """Updates a single `OrgClaimedInvite` using a unique key and a patch.""" - updateOrgClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgClaimedInviteInput! - ): UpdateOrgClaimedInvitePayload + """The `OrgMemberProfile` that was deleted by this mutation.""" + orgMemberProfile: OrgMemberProfile - """Updates a single `OrgGrant` using a unique key and a patch.""" - updateOrgGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgGrantInput! - ): UpdateOrgGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `OrgChartEdge` using a unique key and a patch.""" - updateOrgChartEdge( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgChartEdgeInput! - ): UpdateOrgChartEdgePayload + """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" + orgMemberProfileEdge( + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberProfileEdge +} - """Updates a single `AppLimit` using a unique key and a patch.""" - updateAppLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLimitInput! - ): UpdateAppLimitPayload +"""All input for the `deleteOrgMemberProfile` mutation.""" +input DeleteOrgMemberProfileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `OrgLimitAggregate` using a unique key and a patch.""" - updateOrgLimitAggregate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgLimitAggregateInput! - ): UpdateOrgLimitAggregatePayload +"""The output of our delete `AppLevel` mutation.""" +type DeleteAppLevelPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `OrgMemberProfile` using a unique key and a patch.""" - updateOrgMemberProfile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMemberProfileInput! - ): UpdateOrgMemberProfilePayload + """The `AppLevel` that was deleted by this mutation.""" + appLevel: AppLevel - """Updates a single `OrgLimit` using a unique key and a patch.""" - updateOrgLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgLimitInput! - ): UpdateOrgLimitPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppLevel` using a unique key and a patch.""" - updateAppLevel( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLevelInput! - ): UpdateAppLevelPayload + """An edge for our `AppLevel`. May be used by Relay 1.""" + appLevelEdge( + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelEdge +} - """Updates a single `AppInvite` using a unique key and a patch.""" - updateAppInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppInviteInput! - ): UpdateAppInvitePayload +"""All input for the `deleteAppLevel` mutation.""" +input DeleteAppLevelInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} +"""The output of our delete `AppLimit` mutation.""" +type DeleteAppLimitPayload { """ - Updates a single `OrgMembershipSetting` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateOrgMembershipSetting( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMembershipSettingInput! - ): UpdateOrgMembershipSettingPayload + clientMutationId: String - """Updates a single `OrgInvite` using a unique key and a patch.""" - updateOrgInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgInviteInput! - ): UpdateOrgInvitePayload + """The `AppLimit` that was deleted by this mutation.""" + appLimit: AppLimit - """Updates a single `AppMembership` using a unique key and a patch.""" - updateAppMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppMembershipInput! - ): UpdateAppMembershipPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `OrgMembership` using a unique key and a patch.""" - updateOrgMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMembershipInput! - ): UpdateOrgMembershipPayload + """An edge for our `AppLimit`. May be used by Relay 1.""" + appLimitEdge( + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitEdge +} - """Deletes a single `OrgMember` using a unique key.""" - deleteOrgMember( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMemberInput! - ): DeleteOrgMemberPayload +"""All input for the `deleteAppLimit` mutation.""" +input DeleteAppLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `AppPermissionDefault` using a unique key.""" - deleteAppPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppPermissionDefaultInput! - ): DeleteAppPermissionDefaultPayload +"""The output of our delete `AppInvite` mutation.""" +type DeleteAppInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `OrgPermissionDefault` using a unique key.""" - deleteOrgPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgPermissionDefaultInput! - ): DeleteOrgPermissionDefaultPayload + """The `AppInvite` that was deleted by this mutation.""" + appInvite: AppInvite - """Deletes a single `AppPermission` using a unique key.""" - deleteAppPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppPermissionInput! - ): DeleteAppPermissionPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `OrgPermission` using a unique key.""" - deleteOrgPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgPermissionInput! - ): DeleteOrgPermissionPayload + """An edge for our `AppInvite`. May be used by Relay 1.""" + appInviteEdge( + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppInviteEdge +} - """Deletes a single `AppAdminGrant` using a unique key.""" - deleteAppAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppAdminGrantInput! - ): DeleteAppAdminGrantPayload +"""All input for the `deleteAppInvite` mutation.""" +input DeleteAppInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `AppOwnerGrant` using a unique key.""" - deleteAppOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppOwnerGrantInput! - ): DeleteAppOwnerGrantPayload +"""The output of our delete `OrgMembershipSetting` mutation.""" +type DeleteOrgMembershipSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppAchievement` using a unique key.""" - deleteAppAchievement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppAchievementInput! - ): DeleteAppAchievementPayload + """The `OrgMembershipSetting` that was deleted by this mutation.""" + orgMembershipSetting: OrgMembershipSetting - """Deletes a single `AppStep` using a unique key.""" - deleteAppStep( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppStepInput! - ): DeleteAppStepPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `OrgAdminGrant` using a unique key.""" - deleteOrgAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgAdminGrantInput! - ): DeleteOrgAdminGrantPayload + """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" + orgMembershipSettingEdge( + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingEdge +} - """Deletes a single `OrgOwnerGrant` using a unique key.""" - deleteOrgOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgOwnerGrantInput! - ): DeleteOrgOwnerGrantPayload +"""All input for the `deleteOrgMembershipSetting` mutation.""" +input DeleteOrgMembershipSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `MembershipType` using a unique key.""" - deleteMembershipType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteMembershipTypeInput! - ): DeleteMembershipTypePayload +"""The output of our delete `OrgLimitAggregate` mutation.""" +type DeleteOrgLimitAggregatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppLimitDefault` using a unique key.""" - deleteAppLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLimitDefaultInput! - ): DeleteAppLimitDefaultPayload + """The `OrgLimitAggregate` that was deleted by this mutation.""" + orgLimitAggregate: OrgLimitAggregate - """Deletes a single `OrgLimitDefault` using a unique key.""" - deleteOrgLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgLimitDefaultInput! - ): DeleteOrgLimitDefaultPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `AppLevelRequirement` using a unique key.""" - deleteAppLevelRequirement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLevelRequirementInput! - ): DeleteAppLevelRequirementPayload + """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" + orgLimitAggregateEdge( + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateEdge +} - """Deletes a single `OrgChartEdgeGrant` using a unique key.""" - deleteOrgChartEdgeGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgChartEdgeGrantInput! - ): DeleteOrgChartEdgeGrantPayload +"""All input for the `deleteOrgLimitAggregate` mutation.""" +input DeleteOrgLimitAggregateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `AppClaimedInvite` using a unique key.""" - deleteAppClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppClaimedInviteInput! - ): DeleteAppClaimedInvitePayload +"""The output of our delete `OrgLimit` mutation.""" +type DeleteOrgLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppGrant` using a unique key.""" - deleteAppGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppGrantInput! - ): DeleteAppGrantPayload + """The `OrgLimit` that was deleted by this mutation.""" + orgLimit: OrgLimit - """Deletes a single `AppMembershipDefault` using a unique key.""" - deleteAppMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppMembershipDefaultInput! - ): DeleteAppMembershipDefaultPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `OrgMembershipDefault` using a unique key.""" - deleteOrgMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMembershipDefaultInput! - ): DeleteOrgMembershipDefaultPayload + """An edge for our `OrgLimit`. May be used by Relay 1.""" + orgLimitEdge( + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitEdge +} - """Deletes a single `OrgClaimedInvite` using a unique key.""" - deleteOrgClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgClaimedInviteInput! - ): DeleteOrgClaimedInvitePayload +"""All input for the `deleteOrgLimit` mutation.""" +input DeleteOrgLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgGrant` using a unique key.""" - deleteOrgGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgGrantInput! - ): DeleteOrgGrantPayload +"""The output of our delete `OrgInvite` mutation.""" +type DeleteOrgInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `OrgChartEdge` using a unique key.""" - deleteOrgChartEdge( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgChartEdgeInput! - ): DeleteOrgChartEdgePayload + """The `OrgInvite` that was deleted by this mutation.""" + orgInvite: OrgInvite - """Deletes a single `AppLimit` using a unique key.""" - deleteAppLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLimitInput! - ): DeleteAppLimitPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `OrgLimitAggregate` using a unique key.""" - deleteOrgLimitAggregate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgLimitAggregateInput! - ): DeleteOrgLimitAggregatePayload + """An edge for our `OrgInvite`. May be used by Relay 1.""" + orgInviteEdge( + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgInviteEdge +} - """Deletes a single `OrgMemberProfile` using a unique key.""" - deleteOrgMemberProfile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMemberProfileInput! - ): DeleteOrgMemberProfilePayload +"""All input for the `deleteOrgInvite` mutation.""" +input DeleteOrgInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgLimit` using a unique key.""" - deleteOrgLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgLimitInput! - ): DeleteOrgLimitPayload +"""The output of our delete `AppMembership` mutation.""" +type DeleteAppMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppLevel` using a unique key.""" - deleteAppLevel( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLevelInput! - ): DeleteAppLevelPayload + """The `AppMembership` that was deleted by this mutation.""" + appMembership: AppMembership - """Deletes a single `AppInvite` using a unique key.""" - deleteAppInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppInviteInput! - ): DeleteAppInvitePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `OrgMembershipSetting` using a unique key.""" - deleteOrgMembershipSetting( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMembershipSettingInput! - ): DeleteOrgMembershipSettingPayload + """An edge for our `AppMembership`. May be used by Relay 1.""" + appMembershipEdge( + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipEdge +} - """Deletes a single `OrgInvite` using a unique key.""" - deleteOrgInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgInviteInput! - ): DeleteOrgInvitePayload +"""All input for the `deleteAppMembership` mutation.""" +input DeleteAppMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `AppMembership` using a unique key.""" - deleteAppMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppMembershipInput! - ): DeleteAppMembershipPayload +"""The output of our delete `OrgMembership` mutation.""" +type DeleteOrgMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `OrgMembership` using a unique key.""" - deleteOrgMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMembershipInput! - ): DeleteOrgMembershipPayload + """The `OrgMembership` that was deleted by this mutation.""" + orgMembership: OrgMembership """ - Request a presigned URL for uploading a file directly to S3. - Client computes SHA-256 of the file content and provides it here. - If a file with the same hash already exists (dedup), returns the - existing file ID and deduplicated=true with no uploadUrl. + Our root query field type. Allows us to run any query from our mutation payload. """ - requestUploadUrl( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestUploadUrlInput! - ): RequestUploadUrlPayload + query: Query + + """An edge for our `OrgMembership`. May be used by Relay 1.""" + orgMembershipEdge( + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipEdge +} +"""All input for the `deleteOrgMembership` mutation.""" +input DeleteOrgMembershipInput { """ - Provision an S3 bucket for a logical bucket in the database. - Reads the bucket config via RLS, then creates and configures - the S3 bucket with the appropriate privacy policies, CORS rules, - and lifecycle settings. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - provisionBucket( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionBucketInput! - ): ProvisionBucketPayload + clientMutationId: String + id: UUID! } input ProvisionBucketInput { diff --git a/sdk/constructive-sdk/schemas/app.graphql b/sdk/constructive-sdk/schemas/app.graphql index c5ee475f6..9f12aa71b 100644 --- a/sdk/constructive-sdk/schemas/app.graphql +++ b/sdk/constructive-sdk/schemas/app.graphql @@ -1,3 +1,11 @@ +"""The root query type which gives access points into the data universe.""" +type Query { + """ + Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + """ + _meta: MetaSchema +} + """Root meta schema type""" type MetaSchema { tables: [MetaTable!]! @@ -148,87 +156,10 @@ type MetaQuery { delete: String } -input RequestUploadUrlInput { - """Bucket key (e.g., "public", "private")""" - bucketKey: String! - - """ - Owner entity ID for entity-scoped uploads. - Omit for app-level (database-wide) storage. - When provided, resolves the storage module for the entity type - that owns this entity instance (e.g., a data room ID, team ID). - """ - ownerId: UUID - - """SHA-256 content hash computed by the client (hex-encoded, 64 chars)""" - contentHash: String! - - """MIME type of the file (e.g., "image/png")""" - contentType: String! - - """File size in bytes""" - size: Int! - - """Original filename (optional, for display and Content-Disposition)""" - filename: String -} - -""" -A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). -""" -scalar UUID - -type RequestUploadUrlPayload { - """Presigned PUT URL (null if file was deduplicated)""" - uploadUrl: String - - """The file ID (existing if deduplicated, new if fresh upload)""" - fileId: UUID! - - """The S3 object key""" - key: String! - - """Whether this file was deduplicated (already exists with same hash)""" - deduplicated: Boolean! - - """Presigned URL expiry time (null if deduplicated)""" - expiresAt: Datetime -} - -""" -A point in time as described by the [ISO -8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC -3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values -that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead -to unexpected results. -""" -scalar Datetime - -"""The root query type which gives access points into the data universe.""" -type Query { - """ - Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. - """ - _meta: MetaSchema -} - """ The root mutation type which contains root level fields which mutate data. """ type Mutation { - """ - Request a presigned URL for uploading a file directly to S3. - Client computes SHA-256 of the file content and provides it here. - If a file with the same hash already exists (dedup), returns the - existing file ID and deduplicated=true with no uploadUrl. - """ - requestUploadUrl( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestUploadUrlInput! - ): RequestUploadUrlPayload - """ Provision an S3 bucket for a logical bucket in the database. Reads the bucket config via RLS, then creates and configures @@ -254,6 +185,11 @@ input ProvisionBucketInput { ownerId: UUID } +""" +A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). +""" +scalar UUID + type ProvisionBucketPayload { """Whether provisioning succeeded""" success: Boolean! diff --git a/sdk/constructive-sdk/schemas/auth.graphql b/sdk/constructive-sdk/schemas/auth.graphql index 9c5551c80..a5da9e0b4 100644 --- a/sdk/constructive-sdk/schemas/auth.graphql +++ b/sdk/constructive-sdk/schemas/auth.graphql @@ -1,26 +1,13 @@ -"""An IPv4 or IPv6 host address, and optionally its subnet.""" -scalar InternetAddress - -""" -A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). -""" -scalar UUID - -type User { - id: UUID! - username: String - displayName: String - profilePicture: ConstructiveInternalTypeImage - searchTsv: FullText - type: Int! - createdAt: Datetime - updatedAt: Datetime - - """Reads a single `RoleType` that is related to this `User`.""" - roleType: RoleType +"""The root query type which gives access points into the data universe.""" +type Query { + currentUserAgent: String + currentIpAddress: InternetAddress + currentUserId: UUID + requireStepUp(stepUpType: String): Boolean + currentUser: User - """Reads and enables pagination through a set of `Email`.""" - ownedEmails( + """Reads and enables pagination through a set of `IdentityProvider`.""" + identityProviders( """Only read the first `n` values of the set.""" first: Int @@ -42,14 +29,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: EmailFilter + where: IdentityProviderFilter - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] - ): EmailConnection! + """The method to use when ordering `IdentityProvider`.""" + orderBy: [IdentityProviderOrderBy!] = [NATURAL] + ): IdentityProviderConnection - """Reads and enables pagination through a set of `PhoneNumber`.""" - ownedPhoneNumbers( + """Reads and enables pagination through a set of `RoleType`.""" + roleTypes( """Only read the first `n` values of the set.""" first: Int @@ -71,14 +58,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: PhoneNumberFilter + where: RoleTypeFilter - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] - ): PhoneNumberConnection! + """The method to use when ordering `RoleType`.""" + orderBy: [RoleTypeOrderBy!] = [PRIMARY_KEY_ASC] + ): RoleTypeConnection """Reads and enables pagination through a set of `CryptoAddress`.""" - ownedCryptoAddresses( + cryptoAddresses( """Only read the first `n` values of the set.""" first: Int @@ -104,10 +91,10 @@ type User { """The method to use when ordering `CryptoAddress`.""" orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAddressConnection! + ): CryptoAddressConnection - """Reads and enables pagination through a set of `WebauthnCredential`.""" - ownedWebauthnCredentials( + """Reads and enables pagination through a set of `PhoneNumber`.""" + phoneNumbers( """Only read the first `n` values of the set.""" first: Int @@ -129,14 +116,43 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: WebauthnCredentialFilter + where: PhoneNumberFilter - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnCredentialConnection! + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] + ): PhoneNumberConnection + + """Reads and enables pagination through a set of `UserConnectedAccount`.""" + userConnectedAccounts( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: UserConnectedAccountFilter + + """The method to use when ordering `UserConnectedAccount`.""" + orderBy: [UserConnectedAccountOrderBy!] = [NATURAL] + ): UserConnectedAccountConnection """Reads and enables pagination through a set of `AuditLog`.""" - auditLogsByActorId( + auditLogs( """Only read the first `n` values of the set.""" first: Int @@ -162,373 +178,458 @@ type User { """The method to use when ordering `AuditLog`.""" orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] - ): AuditLogConnection! - - """ - TSV rank when searching `searchTsv`. Returns null when no tsv search filter is active. - """ - searchTsvRank: Float - - """ - TRGM similarity when searching `displayName`. Returns null when no trgm search filter is active. - """ - displayNameTrgmSimilarity: Float - - """ - Composite search relevance score (0..1, higher = more relevant). Computed by normalizing and averaging all active search signals. Supports per-table weight customization via @searchConfig smart tag. Returns null when no search filters are active. - """ - searchScore: Float -} + ): AuditLogConnection -scalar ConstructiveInternalTypeImage + """Reads and enables pagination through a set of `Email`.""" + emails( + """Only read the first `n` values of the set.""" + first: Int -"""A full-text search tsvector value represented as a string.""" -scalar FullText + """Only read the last `n` values of the set.""" + last: Int -""" -A point in time as described by the [ISO -8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC -3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values -that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead -to unexpected results. -""" -scalar Datetime + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -type RoleType { - id: Int! - name: String! -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""A connection to a list of `Email` values.""" -type EmailConnection { - """A list of `Email` objects.""" - nodes: [Email]! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - A list of edges which contains the `Email` and cursor to aid in pagination. - """ - edges: [EmailEdge]! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmailFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] + ): EmailConnection - """The count of *all* `Email` you could get from the connection.""" - totalCount: Int! -} + """Reads and enables pagination through a set of `User`.""" + users( + """Only read the first `n` values of the set.""" + first: Int -"""User email addresses with verification and primary-email management""" -type Email { - id: UUID! - ownerId: UUID! + """Only read the last `n` values of the set.""" + last: Int - """The email address""" - email: ConstructiveInternalTypeEmail! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Whether the email address has been verified via confirmation link""" - isVerified: Boolean! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Whether this is the user's primary email address""" - isPrimary: Boolean! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Optional user-provided label for this email (e.g. "Work", "Personal").""" - name: String - createdAt: Datetime - updatedAt: Datetime + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: UserFilter - """Reads a single `User` that is related to this `Email`.""" - owner: User -} + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!] = [PRIMARY_KEY_ASC] + ): UserConnection -scalar ConstructiveInternalTypeEmail + """Reads and enables pagination through a set of `WebauthnCredential`.""" + webauthnCredentials( + """Only read the first `n` values of the set.""" + first: Int -"""A `Email` edge in the connection.""" -type EmailEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Only read the last `n` values of the set.""" + last: Int - """The `Email` at the end of the edge.""" - node: Email -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A location in a connection that can be used for resuming pagination.""" -scalar Cursor + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""Information about pagination in a connection.""" -type PageInfo { - """When paginating forwards, are there more items?""" - hasNextPage: Boolean! + """Read all values in the set after (below) this cursor.""" + after: Cursor - """When paginating backwards, are there more items?""" - hasPreviousPage: Boolean! + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: WebauthnCredentialFilter - """When paginating backwards, the cursor to continue.""" - startCursor: Cursor + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnCredentialConnection - """When paginating forwards, the cursor to continue.""" - endCursor: Cursor + """ + Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + """ + _meta: MetaSchema } +"""An IPv4 or IPv6 host address, and optionally its subnet.""" +scalar InternetAddress + """ -A filter to be used against `Email` object types. All fields are combined with a logical ‘and.’ +A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). """ -input EmailFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter - - """Filter by the object’s `email` field.""" - email: ConstructiveInternalTypeEmailFilter - - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter - - """Filter by the object’s `isPrimary` field.""" - isPrimary: BooleanFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Checks for all expressions in this list.""" - and: [EmailFilter!] +scalar UUID - """Checks for any expressions in this list.""" - or: [EmailFilter!] +type User { + id: UUID! + username: String + displayName: String + profilePicture: ConstructiveInternalTypeImage + searchTsv: FullText + type: Int! + createdAt: Datetime + updatedAt: Datetime - """Negates the expression.""" - not: EmailFilter + """Reads a single `RoleType` that is related to this `User`.""" + roleType: RoleType - """Filter by the object’s `owner` relation.""" - owner: UserFilter -} + """Reads and enables pagination through a set of `Email`.""" + ownedEmails( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ -""" -input UUIDFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value.""" - equalTo: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Not equal to the specified value.""" - notEqualTo: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: UUID + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: UUID + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmailFilter - """Included in the specified list.""" - in: [UUID!] + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] + ): EmailConnection! - """Not included in the specified list.""" - notIn: [UUID!] + """Reads and enables pagination through a set of `PhoneNumber`.""" + ownedPhoneNumbers( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value.""" - lessThan: UUID + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value.""" - greaterThan: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: UUID -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeEmailFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PhoneNumberFilter - """Equal to the specified value.""" - equalTo: String + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] + ): PhoneNumberConnection! - """Not equal to the specified value.""" - notEqualTo: String + """Reads and enables pagination through a set of `CryptoAddress`.""" + ownedCryptoAddresses( + """Only read the first `n` values of the set.""" + first: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: String + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Included in the specified list.""" - in: [String!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not included in the specified list.""" - notIn: [String!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Less than the specified value.""" - lessThan: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CryptoAddressFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: String + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAddressConnection! - """Greater than the specified value.""" - greaterThan: String + """Reads and enables pagination through a set of `WebauthnCredential`.""" + ownedWebauthnCredentials( + """Only read the first `n` values of the set.""" + first: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: String + """Only read the last `n` values of the set.""" + last: Int - """Contains the specified string (case-sensitive).""" - includes: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Does not contain the specified string (case-sensitive).""" - notIncludes: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeEmail + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeEmail + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: WebauthnCredentialFilter - """Starts with the specified string (case-sensitive).""" - startsWith: String + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnCredentialConnection! - """Does not start with the specified string (case-sensitive).""" - notStartsWith: String + """Reads and enables pagination through a set of `AuditLog`.""" + auditLogsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeEmail + """Only read the last `n` values of the set.""" + last: Int - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeEmail + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Ends with the specified string (case-sensitive).""" - endsWith: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Does not end with the specified string (case-sensitive).""" - notEndsWith: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeEmail + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AuditLogFilter - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeEmail + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] + ): AuditLogConnection! """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + TSV rank when searching `searchTsv`. Returns null when no tsv search filter is active. """ - like: String + searchTsvRank: Float """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + TRGM similarity when searching `displayName`. Returns null when no trgm search filter is active. """ - notLike: String + displayNameTrgmSimilarity: Float """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + Composite search relevance score (0..1, higher = more relevant). Computed by normalizing and averaging all active search signals. Supports per-table weight customization via @searchConfig smart tag. Returns null when no search filters are active. """ - likeInsensitive: ConstructiveInternalTypeEmail + searchScore: Float +} - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: ConstructiveInternalTypeEmail +scalar ConstructiveInternalTypeImage - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: ConstructiveInternalTypeEmail +"""A full-text search tsvector value represented as a string.""" +scalar FullText - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: ConstructiveInternalTypeEmail +""" +A point in time as described by the [ISO +8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC +3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values +that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead +to unexpected results. +""" +scalar Datetime - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: ConstructiveInternalTypeEmail +type RoleType { + id: Int! + name: String! +} + +"""A connection to a list of `Email` values.""" +type EmailConnection { + """A list of `Email` objects.""" + nodes: [Email]! """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). + A list of edges which contains the `Email` and cursor to aid in pagination. """ - notDistinctFromInsensitive: ConstructiveInternalTypeEmail + edges: [EmailEdge]! - """Included in the specified list (case-insensitive).""" - inInsensitive: [ConstructiveInternalTypeEmail!] + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [ConstructiveInternalTypeEmail!] + """The count of *all* `Email` you could get from the connection.""" + totalCount: Int! +} - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: ConstructiveInternalTypeEmail +"""User email addresses with verification and primary-email management""" +type Email { + id: UUID! + ownerId: UUID! - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: ConstructiveInternalTypeEmail + """The email address""" + email: ConstructiveInternalTypeEmail! - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: ConstructiveInternalTypeEmail + """Whether the email address has been verified via confirmation link""" + isVerified: Boolean! - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: ConstructiveInternalTypeEmail + """Whether this is the user's primary email address""" + isPrimary: Boolean! + + """Optional user-provided label for this email (e.g. "Work", "Personal").""" + name: String + createdAt: Datetime + updatedAt: Datetime + + """Reads a single `User` that is related to this `Email`.""" + owner: User +} + +scalar ConstructiveInternalTypeEmail + +"""A `Email` edge in the connection.""" +type EmailEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Email` at the end of the edge.""" + node: Email +} + +"""A location in a connection that can be used for resuming pagination.""" +scalar Cursor + +"""Information about pagination in a connection.""" +type PageInfo { + """When paginating forwards, are there more items?""" + hasNextPage: Boolean! + + """When paginating backwards, are there more items?""" + hasPreviousPage: Boolean! + + """When paginating backwards, the cursor to continue.""" + startCursor: Cursor + + """When paginating forwards, the cursor to continue.""" + endCursor: Cursor } """ -A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ +A filter to be used against `Email` object types. All fields are combined with a logical ‘and.’ """ -input BooleanFilter { +input EmailFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter + + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter + + """Filter by the object’s `email` field.""" + email: ConstructiveInternalTypeEmailFilter + + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter + + """Filter by the object’s `isPrimary` field.""" + isPrimary: BooleanFilter + + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Checks for all expressions in this list.""" + and: [EmailFilter!] + + """Checks for any expressions in this list.""" + or: [EmailFilter!] + + """Negates the expression.""" + not: EmailFilter + + """Filter by the object’s `owner` relation.""" + owner: UserFilter +} + +""" +A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ +""" +input UUIDFilter { """ Is null (if `true` is specified) or is not null (if `false` is specified). """ isNull: Boolean """Equal to the specified value.""" - equalTo: Boolean + equalTo: UUID """Not equal to the specified value.""" - notEqualTo: Boolean + notEqualTo: UUID """ Not equal to the specified value, treating null like an ordinary value. """ - distinctFrom: Boolean + distinctFrom: UUID """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Boolean + notDistinctFrom: UUID """Included in the specified list.""" - in: [Boolean!] + in: [UUID!] """Not included in the specified list.""" - notIn: [Boolean!] + notIn: [UUID!] """Less than the specified value.""" - lessThan: Boolean + lessThan: UUID """Less than or equal to the specified value.""" - lessThanOrEqualTo: Boolean + lessThanOrEqualTo: UUID """Greater than the specified value.""" - greaterThan: Boolean + greaterThan: UUID """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Boolean + greaterThanOrEqualTo: UUID } """ -A filter to be used against String fields. All fields are combined with a logical ‘and.’ +A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ """ -input StringFilter { +input ConstructiveInternalTypeEmailFilter { """ Is null (if `true` is specified) or is not null (if `false` is specified). """ @@ -573,10 +674,10 @@ input StringFilter { notIncludes: String """Contains the specified string (case-insensitive).""" - includesInsensitive: String + includesInsensitive: ConstructiveInternalTypeEmail """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: String + notIncludesInsensitive: ConstructiveInternalTypeEmail """Starts with the specified string (case-sensitive).""" startsWith: String @@ -585,10 +686,10 @@ input StringFilter { notStartsWith: String """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: String + startsWithInsensitive: ConstructiveInternalTypeEmail """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: String + notStartsWithInsensitive: ConstructiveInternalTypeEmail """Ends with the specified string (case-sensitive).""" endsWith: String @@ -597,10 +698,10 @@ input StringFilter { notEndsWith: String """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: String + endsWithInsensitive: ConstructiveInternalTypeEmail """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: String + notEndsWithInsensitive: ConstructiveInternalTypeEmail """ Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. @@ -615,110 +716,284 @@ input StringFilter { """ Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - likeInsensitive: String + likeInsensitive: ConstructiveInternalTypeEmail """ Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - notLikeInsensitive: String + notLikeInsensitive: ConstructiveInternalTypeEmail """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + equalToInsensitive: ConstructiveInternalTypeEmail """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + notEqualToInsensitive: ConstructiveInternalTypeEmail """ Not equal to the specified value, treating null like an ordinary value (case-insensitive). """ - distinctFromInsensitive: String + distinctFromInsensitive: ConstructiveInternalTypeEmail """ Equal to the specified value, treating null like an ordinary value (case-insensitive). """ - notDistinctFromInsensitive: String + notDistinctFromInsensitive: ConstructiveInternalTypeEmail """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + inInsensitive: [ConstructiveInternalTypeEmail!] """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] + notInInsensitive: [ConstructiveInternalTypeEmail!] """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + lessThanInsensitive: ConstructiveInternalTypeEmail """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + lessThanOrEqualToInsensitive: ConstructiveInternalTypeEmail """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + greaterThanInsensitive: ConstructiveInternalTypeEmail """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String + greaterThanOrEqualToInsensitive: ConstructiveInternalTypeEmail } """ -A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ +A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ """ -input DatetimeFilter { +input BooleanFilter { """ Is null (if `true` is specified) or is not null (if `false` is specified). """ isNull: Boolean """Equal to the specified value.""" - equalTo: Datetime + equalTo: Boolean """Not equal to the specified value.""" - notEqualTo: Datetime + notEqualTo: Boolean """ Not equal to the specified value, treating null like an ordinary value. """ - distinctFrom: Datetime + distinctFrom: Boolean """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Datetime + notDistinctFrom: Boolean """Included in the specified list.""" - in: [Datetime!] + in: [Boolean!] """Not included in the specified list.""" - notIn: [Datetime!] + notIn: [Boolean!] """Less than the specified value.""" - lessThan: Datetime + lessThan: Boolean """Less than or equal to the specified value.""" - lessThanOrEqualTo: Datetime + lessThanOrEqualTo: Boolean """Greater than the specified value.""" - greaterThan: Datetime + greaterThan: Boolean """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Datetime + greaterThanOrEqualTo: Boolean } """ -A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ +A filter to be used against String fields. All fields are combined with a logical ‘and.’ """ -input UserFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +input StringFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `username` field.""" - username: StringTrgmFilter + """Equal to the specified value.""" + equalTo: String - """Filter by the object’s `displayName` field.""" - displayName: StringTrgmFilter + """Not equal to the specified value.""" + notEqualTo: String - """Filter by the object’s `profilePicture` field.""" - profilePicture: ConstructiveInternalTypeImageFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: String - """Filter by the object’s `searchTsv` field.""" - searchTsv: FullTextFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: String - """Filter by the object’s `type` field.""" + """Included in the specified list.""" + in: [String!] + + """Not included in the specified list.""" + notIn: [String!] + + """Less than the specified value.""" + lessThan: String + + """Less than or equal to the specified value.""" + lessThanOrEqualTo: String + + """Greater than the specified value.""" + greaterThan: String + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: String + + """Contains the specified string (case-sensitive).""" + includes: String + + """Does not contain the specified string (case-sensitive).""" + notIncludes: String + + """Contains the specified string (case-insensitive).""" + includesInsensitive: String + + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: String + + """Starts with the specified string (case-sensitive).""" + startsWith: String + + """Does not start with the specified string (case-sensitive).""" + notStartsWith: String + + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: String + + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: String + + """Ends with the specified string (case-sensitive).""" + endsWith: String + + """Does not end with the specified string (case-sensitive).""" + notEndsWith: String + + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: String + + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: String + + """ + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + like: String + + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: String + + """ + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + likeInsensitive: String + + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: String + + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String + + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String + + """ + Not equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + distinctFromInsensitive: String + + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: String + + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] + + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] + + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String + + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String + + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String + + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String +} + +""" +A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ +""" +input DatetimeFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean + + """Equal to the specified value.""" + equalTo: Datetime + + """Not equal to the specified value.""" + notEqualTo: Datetime + + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Datetime + + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Datetime + + """Included in the specified list.""" + in: [Datetime!] + + """Not included in the specified list.""" + notIn: [Datetime!] + + """Less than the specified value.""" + lessThan: Datetime + + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Datetime + + """Greater than the specified value.""" + greaterThan: Datetime + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Datetime +} + +""" +A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ +""" +input UserFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter + + """Filter by the object’s `username` field.""" + username: StringTrgmFilter + + """Filter by the object’s `displayName` field.""" + displayName: StringTrgmFilter + + """Filter by the object’s `profilePicture` field.""" + profilePicture: ConstructiveInternalTypeImageFilter + + """Filter by the object’s `searchTsv` field.""" + searchTsv: FullTextFilter + + """Filter by the object’s `type` field.""" type: IntFilter """Filter by the object’s `createdAt` field.""" @@ -2553,341 +2828,342 @@ type MetaQuery { delete: String } -"""The output of our `signOut` mutation.""" -type SignOutPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} - -"""All input for the `signOut` mutation.""" -input SignOutInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String -} - -"""The output of our `sendAccountDeletionEmail` mutation.""" -type SendAccountDeletionEmailPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} - -"""All input for the `sendAccountDeletionEmail` mutation.""" -input SendAccountDeletionEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String -} - -"""The output of our `checkPassword` mutation.""" -type CheckPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} - -"""All input for the `checkPassword` mutation.""" -input CheckPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - password: String -} - -"""The output of our `disconnectAccount` mutation.""" -type DisconnectAccountPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} - -"""All input for the `disconnectAccount` mutation.""" -input DisconnectAccountInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - accountId: UUID! -} - -"""The output of our `revokeApiKey` mutation.""" -type RevokeApiKeyPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} - -"""All input for the `revokeApiKey` mutation.""" -input RevokeApiKeyInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - keyId: UUID! -} +""" +The root mutation type which contains root level fields which mutate data. +""" +type Mutation { + signOut( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignOutInput! + ): SignOutPayload + sendAccountDeletionEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SendAccountDeletionEmailInput! + ): SendAccountDeletionEmailPayload + checkPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CheckPasswordInput! + ): CheckPasswordPayload + disconnectAccount( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DisconnectAccountInput! + ): DisconnectAccountPayload + revokeApiKey( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RevokeApiKeyInput! + ): RevokeApiKeyPayload + revokeSession( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RevokeSessionInput! + ): RevokeSessionPayload + verifyPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: VerifyPasswordInput! + ): VerifyPasswordPayload + verifyTotp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: VerifyTotpInput! + ): VerifyTotpPayload + confirmDeleteAccount( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ConfirmDeleteAccountInput! + ): ConfirmDeleteAccountPayload + setPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetPasswordInput! + ): SetPasswordPayload + verifyEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: VerifyEmailInput! + ): VerifyEmailPayload + provisionNewUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionNewUserInput! + ): ProvisionNewUserPayload + resetPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ResetPasswordInput! + ): ResetPasswordPayload + signInCrossOrigin( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignInCrossOriginInput! + ): SignInCrossOriginPayload + signUp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignUpInput! + ): SignUpPayload + requestCrossOriginToken( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RequestCrossOriginTokenInput! + ): RequestCrossOriginTokenPayload + signIn( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignInInput! + ): SignInPayload + extendTokenExpires( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ExtendTokenExpiresInput! + ): ExtendTokenExpiresPayload + createApiKey( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateApiKeyInput! + ): CreateApiKeyPayload + forgotPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ForgotPasswordInput! + ): ForgotPasswordPayload + sendVerificationEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SendVerificationEmailInput! + ): SendVerificationEmailPayload -"""The output of our `revokeSession` mutation.""" -type RevokeSessionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Creates a single `IdentityProvider`.""" + createIdentityProvider( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateIdentityProviderInput! + ): CreateIdentityProviderPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Creates a single `RoleType`.""" + createRoleType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRoleTypeInput! + ): CreateRoleTypePayload -"""All input for the `revokeSession` mutation.""" -input RevokeSessionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - sessionId: UUID! -} + """Creates a single `CryptoAddress`.""" + createCryptoAddress( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCryptoAddressInput! + ): CreateCryptoAddressPayload -"""The output of our `verifyPassword` mutation.""" -type VerifyPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Creates a single `PhoneNumber`.""" + createPhoneNumber( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePhoneNumberInput! + ): CreatePhoneNumberPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Creates a single `UserConnectedAccount`.""" + createUserConnectedAccount( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUserConnectedAccountInput! + ): CreateUserConnectedAccountPayload -"""All input for the `verifyPassword` mutation.""" -input VerifyPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - password: String! -} + """Creates a single `AuditLog`.""" + createAuditLog( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAuditLogInput! + ): CreateAuditLogPayload -"""The output of our `verifyTotp` mutation.""" -type VerifyTotpPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Creates a single `Email`.""" + createEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEmailInput! + ): CreateEmailPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Creates a single `User`.""" + createUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUserInput! + ): CreateUserPayload -"""All input for the `verifyTotp` mutation.""" -input VerifyTotpInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - totpValue: String! -} + """Creates a single `WebauthnCredential`.""" + createWebauthnCredential( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateWebauthnCredentialInput! + ): CreateWebauthnCredentialPayload -"""The output of our `confirmDeleteAccount` mutation.""" -type ConfirmDeleteAccountPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Updates a single `RoleType` using a unique key and a patch.""" + updateRoleType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRoleTypeInput! + ): UpdateRoleTypePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Updates a single `CryptoAddress` using a unique key and a patch.""" + updateCryptoAddress( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCryptoAddressInput! + ): UpdateCryptoAddressPayload -"""All input for the `confirmDeleteAccount` mutation.""" -input ConfirmDeleteAccountInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - userId: UUID - token: String -} + """Updates a single `PhoneNumber` using a unique key and a patch.""" + updatePhoneNumber( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePhoneNumberInput! + ): UpdatePhoneNumberPayload -"""The output of our `setPassword` mutation.""" -type SetPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Updates a single `AuditLog` using a unique key and a patch.""" + updateAuditLog( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAuditLogInput! + ): UpdateAuditLogPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Updates a single `Email` using a unique key and a patch.""" + updateEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEmailInput! + ): UpdateEmailPayload -"""All input for the `setPassword` mutation.""" -input SetPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - currentPassword: String - newPassword: String -} + """Updates a single `User` using a unique key and a patch.""" + updateUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateUserInput! + ): UpdateUserPayload -"""The output of our `verifyEmail` mutation.""" -type VerifyEmailPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Updates a single `WebauthnCredential` using a unique key and a patch.""" + updateWebauthnCredential( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateWebauthnCredentialInput! + ): UpdateWebauthnCredentialPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Deletes a single `RoleType` using a unique key.""" + deleteRoleType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRoleTypeInput! + ): DeleteRoleTypePayload -"""All input for the `verifyEmail` mutation.""" -input VerifyEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - emailId: UUID - token: String -} + """Deletes a single `CryptoAddress` using a unique key.""" + deleteCryptoAddress( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCryptoAddressInput! + ): DeleteCryptoAddressPayload -"""The output of our `provisionNewUser` mutation.""" -type ProvisionNewUserPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Deletes a single `PhoneNumber` using a unique key.""" + deletePhoneNumber( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePhoneNumberInput! + ): DeletePhoneNumberPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Deletes a single `AuditLog` using a unique key.""" + deleteAuditLog( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAuditLogInput! + ): DeleteAuditLogPayload -"""All input for the `provisionNewUser` mutation.""" -input ProvisionNewUserInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - email: String - password: String -} + """Deletes a single `Email` using a unique key.""" + deleteEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEmailInput! + ): DeleteEmailPayload -"""The output of our `resetPassword` mutation.""" -type ResetPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Deletes a single `User` using a unique key.""" + deleteUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteUserInput! + ): DeleteUserPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Deletes a single `WebauthnCredential` using a unique key.""" + deleteWebauthnCredential( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteWebauthnCredentialInput! + ): DeleteWebauthnCredentialPayload -"""All input for the `resetPassword` mutation.""" -input ResetPasswordInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Provision an S3 bucket for a logical bucket in the database. + Reads the bucket config via RLS, then creates and configures + the S3 bucket with the appropriate privacy policies, CORS rules, + and lifecycle settings. """ - clientMutationId: String - roleId: UUID - resetToken: String - newPassword: String + provisionBucket( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionBucketInput! + ): ProvisionBucketPayload } -"""The output of our `signInCrossOrigin` mutation.""" -type SignInCrossOriginPayload { +"""The output of our `signOut` mutation.""" +type SignOutPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - result: SignInCrossOriginRecord """ Our root query field type. Allows us to run any query from our mutation payload. @@ -2895,34 +3171,23 @@ type SignInCrossOriginPayload { query: Query } -type SignInCrossOriginRecord { - id: UUID - userId: UUID - accessToken: String - accessTokenExpiresAt: Datetime - isVerified: Boolean - totpEnabled: Boolean -} - -"""All input for the `signInCrossOrigin` mutation.""" -input SignInCrossOriginInput { +"""All input for the `signOut` mutation.""" +input SignOutInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - token: String - credentialKind: String } -"""The output of our `signUp` mutation.""" -type SignUpPayload { +"""The output of our `sendAccountDeletionEmail` mutation.""" +type SendAccountDeletionEmailPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - result: SignUpRecord + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. @@ -2930,37 +3195,22 @@ type SignUpPayload { query: Query } -type SignUpRecord { - id: UUID - userId: UUID - accessToken: String - accessTokenExpiresAt: Datetime - isVerified: Boolean - totpEnabled: Boolean -} - -"""All input for the `signUp` mutation.""" -input SignUpInput { +"""All input for the `sendAccountDeletionEmail` mutation.""" +input SendAccountDeletionEmailInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - email: String - password: String - rememberMe: Boolean - credentialKind: String - csrfToken: String } -"""The output of our `requestCrossOriginToken` mutation.""" -type RequestCrossOriginTokenPayload { +"""The output of our `checkPassword` mutation.""" +type CheckPasswordPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - result: String """ Our root query field type. Allows us to run any query from our mutation payload. @@ -2968,27 +3218,24 @@ type RequestCrossOriginTokenPayload { query: Query } -"""All input for the `requestCrossOriginToken` mutation.""" -input RequestCrossOriginTokenInput { +"""All input for the `checkPassword` mutation.""" +input CheckPasswordInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - email: String password: String - origin: ConstructiveInternalTypeOrigin - rememberMe: Boolean } -"""The output of our `signIn` mutation.""" -type SignInPayload { +"""The output of our `disconnectAccount` mutation.""" +type DisconnectAccountPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - result: SignInRecord + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. @@ -2996,40 +3243,24 @@ type SignInPayload { query: Query } -type SignInRecord { - id: UUID - userId: UUID - accessToken: String - accessTokenExpiresAt: Datetime - isVerified: Boolean - totpEnabled: Boolean - mfaRequired: Boolean - mfaChallengeToken: String -} - -"""All input for the `signIn` mutation.""" -input SignInInput { +"""All input for the `disconnectAccount` mutation.""" +input DisconnectAccountInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - email: String - password: String - rememberMe: Boolean - credentialKind: String - csrfToken: String - deviceToken: String + accountId: UUID! } -"""The output of our `extendTokenExpires` mutation.""" -type ExtendTokenExpiresPayload { +"""The output of our `revokeApiKey` mutation.""" +type RevokeApiKeyPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - result: [ExtendTokenExpiresRecord] + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. @@ -3037,57 +3268,24 @@ type ExtendTokenExpiresPayload { query: Query } -type ExtendTokenExpiresRecord { - id: UUID - sessionId: UUID - expiresAt: Datetime -} - -"""All input for the `extendTokenExpires` mutation.""" -input ExtendTokenExpiresInput { +"""All input for the `revokeApiKey` mutation.""" +input RevokeApiKeyInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - amount: IntervalInput -} - -""" -An interval of time that has passed where the smallest distinct unit is a second. -""" -input IntervalInput { - """ - A quantity of seconds. This is the only non-integer field, as all the other - fields will dump their overflow into a smaller unit of time. Intervals don’t - have a smaller unit than seconds. - """ - seconds: Float - - """A quantity of minutes.""" - minutes: Int - - """A quantity of hours.""" - hours: Int - - """A quantity of days.""" - days: Int - - """A quantity of months.""" - months: Int - - """A quantity of years.""" - years: Int + keyId: UUID! } -"""The output of our `createApiKey` mutation.""" -type CreateApiKeyPayload { +"""The output of our `revokeSession` mutation.""" +type RevokeSessionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - result: CreateApiKeyRecord + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. @@ -3095,32 +3293,24 @@ type CreateApiKeyPayload { query: Query } -type CreateApiKeyRecord { - apiKey: String - keyId: UUID - expiresAt: Datetime -} - -"""All input for the `createApiKey` mutation.""" -input CreateApiKeyInput { +"""All input for the `revokeSession` mutation.""" +input RevokeSessionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - keyName: String - accessLevel: String - mfaLevel: String - expiresIn: IntervalInput + sessionId: UUID! } -"""The output of our `forgotPassword` mutation.""" -type ForgotPasswordPayload { +"""The output of our `verifyPassword` mutation.""" +type VerifyPasswordPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. @@ -3128,18 +3318,18 @@ type ForgotPasswordPayload { query: Query } -"""All input for the `forgotPassword` mutation.""" -input ForgotPasswordInput { +"""All input for the `verifyPassword` mutation.""" +input VerifyPasswordInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - email: ConstructiveInternalTypeEmail + password: String! } -"""The output of our `sendVerificationEmail` mutation.""" -type SendVerificationEmailPayload { +"""The output of our `verifyTotp` mutation.""" +type VerifyTotpPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. @@ -3153,26 +3343,24 @@ type SendVerificationEmailPayload { query: Query } -"""All input for the `sendVerificationEmail` mutation.""" -input SendVerificationEmailInput { +"""All input for the `verifyTotp` mutation.""" +input VerifyTotpInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - email: ConstructiveInternalTypeEmail + totpValue: String! } -"""The output of our create `IdentityProvider` mutation.""" -type CreateIdentityProviderPayload { +"""The output of our `confirmDeleteAccount` mutation.""" +type ConfirmDeleteAccountPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `IdentityProvider` that was created by this mutation.""" - identityProvider: IdentityProvider + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. @@ -3180,197 +3368,165 @@ type CreateIdentityProviderPayload { query: Query } -"""All input for the create `IdentityProvider` mutation.""" -input CreateIdentityProviderInput { +"""All input for the `confirmDeleteAccount` mutation.""" +input ConfirmDeleteAccountInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `IdentityProvider` to be created by this mutation.""" - identityProvider: IdentityProviderInput! -} - -"""An input for mutations affecting `IdentityProvider`""" -input IdentityProviderInput { - slug: String - kind: String - displayName: String - enabled: Boolean - isBuiltIn: Boolean + userId: UUID + token: String } -"""The output of our create `RoleType` mutation.""" -type CreateRoleTypePayload { +"""The output of our `setPassword` mutation.""" +type SetPasswordPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `RoleType` that was created by this mutation.""" - roleType: RoleType + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `RoleType`. May be used by Relay 1.""" - roleTypeEdge( - """The method to use when ordering `RoleType`.""" - orderBy: [RoleTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): RoleTypeEdge } -"""All input for the create `RoleType` mutation.""" -input CreateRoleTypeInput { +"""All input for the `setPassword` mutation.""" +input SetPasswordInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `RoleType` to be created by this mutation.""" - roleType: RoleTypeInput! -} - -"""An input for mutations affecting `RoleType`""" -input RoleTypeInput { - id: Int! - name: String! + currentPassword: String + newPassword: String } -"""The output of our create `CryptoAddress` mutation.""" -type CreateCryptoAddressPayload { +"""The output of our `verifyEmail` mutation.""" +type VerifyEmailPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `CryptoAddress` that was created by this mutation.""" - cryptoAddress: CryptoAddress + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `CryptoAddress`. May be used by Relay 1.""" - cryptoAddressEdge( - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressEdge } -"""All input for the create `CryptoAddress` mutation.""" -input CreateCryptoAddressInput { +"""All input for the `verifyEmail` mutation.""" +input VerifyEmailInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `CryptoAddress` to be created by this mutation.""" - cryptoAddress: CryptoAddressInput! + emailId: UUID + token: String } -"""An input for mutations affecting `CryptoAddress`""" -input CryptoAddressInput { - id: UUID - ownerId: UUID - +"""The output of our `provisionNewUser` mutation.""" +type ProvisionNewUserPayload { """ - The cryptocurrency wallet address, validated against network-specific patterns + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - address: String! - - """Whether ownership of this address has been cryptographically verified""" - isVerified: Boolean + clientMutationId: String + result: UUID - """Whether this is the user's primary cryptocurrency address""" - isPrimary: Boolean + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} +"""All input for the `provisionNewUser` mutation.""" +input ProvisionNewUserInput { """ - Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - name: String - createdAt: Datetime - updatedAt: Datetime + clientMutationId: String + email: String + password: String } -"""The output of our create `PhoneNumber` mutation.""" -type CreatePhoneNumberPayload { +"""The output of our `resetPassword` mutation.""" +type ResetPasswordPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `PhoneNumber` that was created by this mutation.""" - phoneNumber: PhoneNumber + result: Boolean """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `PhoneNumber`. May be used by Relay 1.""" - phoneNumberEdge( - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumberEdge } -"""All input for the create `PhoneNumber` mutation.""" -input CreatePhoneNumberInput { +"""All input for the `resetPassword` mutation.""" +input ResetPasswordInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `PhoneNumber` to be created by this mutation.""" - phoneNumber: PhoneNumberInput! + roleId: UUID + resetToken: String + newPassword: String } -"""An input for mutations affecting `PhoneNumber`""" -input PhoneNumberInput { - id: UUID - ownerId: UUID - - """Country calling code (e.g. +1, +44)""" - cc: String! +"""The output of our `signInCrossOrigin` mutation.""" +type SignInCrossOriginPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: SignInCrossOriginRecord - """The phone number without country code""" - number: String! + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} - """Whether the phone number has been verified via SMS code""" +type SignInCrossOriginRecord { + id: UUID + userId: UUID + accessToken: String + accessTokenExpiresAt: Datetime isVerified: Boolean + totpEnabled: Boolean +} - """Whether this is the user's primary phone number""" - isPrimary: Boolean - +"""All input for the `signInCrossOrigin` mutation.""" +input SignInCrossOriginInput { """ - Optional user-provided label for this phone number (e.g. "Mobile", "Work"). + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - name: String - createdAt: Datetime - updatedAt: Datetime + clientMutationId: String + token: String + credentialKind: String } -"""The output of our create `UserConnectedAccount` mutation.""" -type CreateUserConnectedAccountPayload { +"""The output of our `signUp` mutation.""" +type SignUpPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `UserConnectedAccount` that was created by this mutation.""" - userConnectedAccount: UserConnectedAccount + result: SignUpRecord """ Our root query field type. Allows us to run any query from our mutation payload. @@ -3378,292 +3534,286 @@ type CreateUserConnectedAccountPayload { query: Query } -"""All input for the create `UserConnectedAccount` mutation.""" -input CreateUserConnectedAccountInput { +type SignUpRecord { + id: UUID + userId: UUID + accessToken: String + accessTokenExpiresAt: Datetime + isVerified: Boolean + totpEnabled: Boolean +} + +"""All input for the `signUp` mutation.""" +input SignUpInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `UserConnectedAccount` to be created by this mutation.""" - userConnectedAccount: UserConnectedAccountInput! -} - -"""An input for mutations affecting `UserConnectedAccount`""" -input UserConnectedAccountInput { - id: UUID - ownerId: UUID - service: String - identifier: String - details: JSON - isVerified: Boolean - createdAt: Datetime - updatedAt: Datetime + email: String + password: String + rememberMe: Boolean + credentialKind: String + csrfToken: String } -"""The output of our create `AuditLog` mutation.""" -type CreateAuditLogPayload { +"""The output of our `requestCrossOriginToken` mutation.""" +type RequestCrossOriginTokenPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `AuditLog` that was created by this mutation.""" - auditLog: AuditLog + result: String """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `AuditLog`. May be used by Relay 1.""" - auditLogEdge( - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] - ): AuditLogEdge } -"""All input for the create `AuditLog` mutation.""" -input CreateAuditLogInput { +"""All input for the `requestCrossOriginToken` mutation.""" +input RequestCrossOriginTokenInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `AuditLog` to be created by this mutation.""" - auditLog: AuditLogInput! + email: String + password: String + origin: ConstructiveInternalTypeOrigin + rememberMe: Boolean } -"""An input for mutations affecting `AuditLog`""" -input AuditLogInput { - id: UUID - +"""The output of our `signIn` mutation.""" +type SignInPayload { """ - Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - event: String! - - """User who performed the authentication action; NULL if user was deleted""" - actorId: UUID - - """Request origin (domain) where the auth event occurred""" - origin: ConstructiveInternalTypeOrigin - - """Browser or client user-agent string from the request""" - userAgent: String + clientMutationId: String + result: SignInRecord - """IP address of the client that initiated the auth event""" - ipAddress: InternetAddress + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} - """Whether the authentication attempt succeeded""" - success: Boolean! +type SignInRecord { + id: UUID + userId: UUID + accessToken: String + accessTokenExpiresAt: Datetime + isVerified: Boolean + totpEnabled: Boolean + mfaRequired: Boolean + mfaChallengeToken: String +} - """Timestamp when the audit event was recorded""" - createdAt: Datetime +"""All input for the `signIn` mutation.""" +input SignInInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: String + password: String + rememberMe: Boolean + credentialKind: String + csrfToken: String + deviceToken: String } -"""The output of our create `Email` mutation.""" -type CreateEmailPayload { +"""The output of our `extendTokenExpires` mutation.""" +type ExtendTokenExpiresPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `Email` that was created by this mutation.""" - email: Email + result: [ExtendTokenExpiresRecord] """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query +} - """An edge for our `Email`. May be used by Relay 1.""" - emailEdge( - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailEdge +type ExtendTokenExpiresRecord { + id: UUID + sessionId: UUID + expiresAt: Datetime } -"""All input for the create `Email` mutation.""" -input CreateEmailInput { +"""All input for the `extendTokenExpires` mutation.""" +input ExtendTokenExpiresInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `Email` to be created by this mutation.""" - email: EmailInput! + amount: IntervalInput } -"""An input for mutations affecting `Email`""" -input EmailInput { - id: UUID - ownerId: UUID +""" +An interval of time that has passed where the smallest distinct unit is a second. +""" +input IntervalInput { + """ + A quantity of seconds. This is the only non-integer field, as all the other + fields will dump their overflow into a smaller unit of time. Intervals don’t + have a smaller unit than seconds. + """ + seconds: Float - """The email address""" - email: ConstructiveInternalTypeEmail! + """A quantity of minutes.""" + minutes: Int - """Whether the email address has been verified via confirmation link""" - isVerified: Boolean + """A quantity of hours.""" + hours: Int - """Whether this is the user's primary email address""" - isPrimary: Boolean + """A quantity of days.""" + days: Int - """Optional user-provided label for this email (e.g. "Work", "Personal").""" - name: String - createdAt: Datetime - updatedAt: Datetime + """A quantity of months.""" + months: Int + + """A quantity of years.""" + years: Int } -"""The output of our create `User` mutation.""" -type CreateUserPayload { +"""The output of our `createApiKey` mutation.""" +type CreateApiKeyPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - - """The `User` that was created by this mutation.""" - user: User + result: CreateApiKeyRecord """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query +} - """An edge for our `User`. May be used by Relay 1.""" - userEdge( - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserEdge +type CreateApiKeyRecord { + apiKey: String + keyId: UUID + expiresAt: Datetime } -"""All input for the create `User` mutation.""" -input CreateUserInput { +"""All input for the `createApiKey` mutation.""" +input CreateApiKeyInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `User` to be created by this mutation.""" - user: UserInput! -} - -"""An input for mutations affecting `User`""" -input UserInput { - id: UUID - username: String - displayName: String - profilePicture: ConstructiveInternalTypeImage - type: Int - createdAt: Datetime - updatedAt: Datetime + keyName: String + accessLevel: String + mfaLevel: String + expiresIn: IntervalInput } -"""The output of our create `WebauthnCredential` mutation.""" -type CreateWebauthnCredentialPayload { +"""The output of our `forgotPassword` mutation.""" +type ForgotPasswordPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `WebauthnCredential` that was created by this mutation.""" - webauthnCredential: WebauthnCredential - """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `WebauthnCredential`. May be used by Relay 1.""" - webauthnCredentialEdge( - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialEdge } -"""All input for the create `WebauthnCredential` mutation.""" -input CreateWebauthnCredentialInput { +"""All input for the `forgotPassword` mutation.""" +input ForgotPasswordInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The `WebauthnCredential` to be created by this mutation.""" - webauthnCredential: WebauthnCredentialInput! + email: ConstructiveInternalTypeEmail } -"""An input for mutations affecting `WebauthnCredential`""" -input WebauthnCredentialInput { - id: UUID - ownerId: UUID - +"""The output of our `sendVerificationEmail` mutation.""" +type SendVerificationEmailPayload { """ - Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - credentialId: String! - - """COSE-encoded public key bytes from the authenticator attestation.""" - publicKey: Base64EncodedBinary! + clientMutationId: String + result: Boolean """ - Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. + Our root query field type. Allows us to run any query from our mutation payload. """ - signCount: BigInt + query: Query +} +"""All input for the `sendVerificationEmail` mutation.""" +input SendVerificationEmailInput { """ - Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - webauthnUserId: String! + clientMutationId: String + email: ConstructiveInternalTypeEmail +} +"""The output of our create `IdentityProvider` mutation.""" +type CreateIdentityProviderPayload { """ - Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - transports: [String] + clientMutationId: String - """ - Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. - """ - credentialDeviceType: String! + """The `IdentityProvider` that was created by this mutation.""" + identityProvider: IdentityProvider """ - Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. + Our root query field type. Allows us to run any query from our mutation payload. """ - backupEligible: Boolean - - """Current backup state; updated on each successful sign-in assertion.""" - backupState: Boolean + query: Query +} +"""All input for the create `IdentityProvider` mutation.""" +input CreateIdentityProviderInput { """ - User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - name: String + clientMutationId: String - """ - Timestamp of the most recent successful sign-in assertion using this credential. - """ - lastUsedAt: Datetime - createdAt: Datetime - updatedAt: Datetime + """The `IdentityProvider` to be created by this mutation.""" + identityProvider: IdentityProviderInput! } -"""The output of our update `RoleType` mutation.""" -type UpdateRoleTypePayload { +"""An input for mutations affecting `IdentityProvider`""" +input IdentityProviderInput { + slug: String + kind: String + displayName: String + enabled: Boolean + isBuiltIn: Boolean +} + +"""The output of our create `RoleType` mutation.""" +type CreateRoleTypePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `RoleType` that was updated by this mutation.""" + """The `RoleType` that was created by this mutation.""" roleType: RoleType """ @@ -3678,38 +3828,33 @@ type UpdateRoleTypePayload { ): RoleTypeEdge } -"""All input for the `updateRoleType` mutation.""" -input UpdateRoleTypeInput { +"""All input for the create `RoleType` mutation.""" +input CreateRoleTypeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: Int! - """ - An object where the defined keys will be set on the `RoleType` being updated. - """ - roleTypePatch: RoleTypePatch! + """The `RoleType` to be created by this mutation.""" + roleType: RoleTypeInput! } -""" -Represents an update to a `RoleType`. Fields that are set will be updated. -""" -input RoleTypePatch { - id: Int - name: String +"""An input for mutations affecting `RoleType`""" +input RoleTypeInput { + id: Int! + name: String! } -"""The output of our update `CryptoAddress` mutation.""" -type UpdateCryptoAddressPayload { +"""The output of our create `CryptoAddress` mutation.""" +type CreateCryptoAddressPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `CryptoAddress` that was updated by this mutation.""" + """The `CryptoAddress` that was created by this mutation.""" cryptoAddress: CryptoAddress """ @@ -3724,32 +3869,27 @@ type UpdateCryptoAddressPayload { ): CryptoAddressEdge } -"""All input for the `updateCryptoAddress` mutation.""" -input UpdateCryptoAddressInput { +"""All input for the create `CryptoAddress` mutation.""" +input CreateCryptoAddressInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `CryptoAddress` being updated. - """ - cryptoAddressPatch: CryptoAddressPatch! + """The `CryptoAddress` to be created by this mutation.""" + cryptoAddress: CryptoAddressInput! } -""" -Represents an update to a `CryptoAddress`. Fields that are set will be updated. -""" -input CryptoAddressPatch { +"""An input for mutations affecting `CryptoAddress`""" +input CryptoAddressInput { id: UUID ownerId: UUID """ The cryptocurrency wallet address, validated against network-specific patterns """ - address: String + address: String! """Whether ownership of this address has been cryptographically verified""" isVerified: Boolean @@ -3765,80 +3905,116 @@ input CryptoAddressPatch { updatedAt: Datetime } -"""The output of our update `PhoneNumber` mutation.""" -type UpdatePhoneNumberPayload { +"""The output of our create `PhoneNumber` mutation.""" +type CreatePhoneNumberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PhoneNumber` that was created by this mutation.""" + phoneNumber: PhoneNumber + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PhoneNumber`. May be used by Relay 1.""" + phoneNumberEdge( + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumberEdge +} + +"""All input for the create `PhoneNumber` mutation.""" +input CreatePhoneNumberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PhoneNumber` to be created by this mutation.""" + phoneNumber: PhoneNumberInput! +} + +"""An input for mutations affecting `PhoneNumber`""" +input PhoneNumberInput { + id: UUID + ownerId: UUID + + """Country calling code (e.g. +1, +44)""" + cc: String! + + """The phone number without country code""" + number: String! + + """Whether the phone number has been verified via SMS code""" + isVerified: Boolean + + """Whether this is the user's primary phone number""" + isPrimary: Boolean + + """ + Optional user-provided label for this phone number (e.g. "Mobile", "Work"). + """ + name: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `UserConnectedAccount` mutation.""" +type CreateUserConnectedAccountPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `PhoneNumber` that was updated by this mutation.""" - phoneNumber: PhoneNumber + """The `UserConnectedAccount` that was created by this mutation.""" + userConnectedAccount: UserConnectedAccount """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - - """An edge for our `PhoneNumber`. May be used by Relay 1.""" - phoneNumberEdge( - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumberEdge } -"""All input for the `updatePhoneNumber` mutation.""" -input UpdatePhoneNumberInput { +"""All input for the create `UserConnectedAccount` mutation.""" +input CreateUserConnectedAccountInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `PhoneNumber` being updated. - """ - phoneNumberPatch: PhoneNumberPatch! + """The `UserConnectedAccount` to be created by this mutation.""" + userConnectedAccount: UserConnectedAccountInput! } -""" -Represents an update to a `PhoneNumber`. Fields that are set will be updated. -""" -input PhoneNumberPatch { +"""An input for mutations affecting `UserConnectedAccount`""" +input UserConnectedAccountInput { id: UUID ownerId: UUID - - """Country calling code (e.g. +1, +44)""" - cc: String - - """The phone number without country code""" - number: String - - """Whether the phone number has been verified via SMS code""" + service: String + identifier: String + details: JSON isVerified: Boolean - - """Whether this is the user's primary phone number""" - isPrimary: Boolean - - """ - Optional user-provided label for this phone number (e.g. "Mobile", "Work"). - """ - name: String createdAt: Datetime updatedAt: Datetime } -"""The output of our update `AuditLog` mutation.""" -type UpdateAuditLogPayload { +"""The output of our create `AuditLog` mutation.""" +type CreateAuditLogPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AuditLog` that was updated by this mutation.""" + """The `AuditLog` that was created by this mutation.""" auditLog: AuditLog """ @@ -3853,31 +4029,26 @@ type UpdateAuditLogPayload { ): AuditLogEdge } -"""All input for the `updateAuditLog` mutation.""" -input UpdateAuditLogInput { +"""All input for the create `AuditLog` mutation.""" +input CreateAuditLogInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `AuditLog` being updated. - """ - auditLogPatch: AuditLogPatch! + """The `AuditLog` to be created by this mutation.""" + auditLog: AuditLogInput! } -""" -Represents an update to a `AuditLog`. Fields that are set will be updated. -""" -input AuditLogPatch { +"""An input for mutations affecting `AuditLog`""" +input AuditLogInput { id: UUID """ Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) """ - event: String + event: String! """User who performed the authentication action; NULL if user was deleted""" actorId: UUID @@ -3892,21 +4063,21 @@ input AuditLogPatch { ipAddress: InternetAddress """Whether the authentication attempt succeeded""" - success: Boolean + success: Boolean! """Timestamp when the audit event was recorded""" createdAt: Datetime } -"""The output of our update `Email` mutation.""" -type UpdateEmailPayload { +"""The output of our create `Email` mutation.""" +type CreateEmailPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Email` that was updated by this mutation.""" + """The `Email` that was created by this mutation.""" email: Email """ @@ -3921,30 +4092,25 @@ type UpdateEmailPayload { ): EmailEdge } -"""All input for the `updateEmail` mutation.""" -input UpdateEmailInput { +"""All input for the create `Email` mutation.""" +input CreateEmailInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `Email` being updated. - """ - emailPatch: EmailPatch! + """The `Email` to be created by this mutation.""" + email: EmailInput! } -""" -Represents an update to a `Email`. Fields that are set will be updated. -""" -input EmailPatch { +"""An input for mutations affecting `Email`""" +input EmailInput { id: UUID ownerId: UUID """The email address""" - email: ConstructiveInternalTypeEmail + email: ConstructiveInternalTypeEmail! """Whether the email address has been verified via confirmation link""" isVerified: Boolean @@ -3958,15 +4124,15 @@ input EmailPatch { updatedAt: Datetime } -"""The output of our update `User` mutation.""" -type UpdateUserPayload { +"""The output of our create `User` mutation.""" +type CreateUserPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `User` that was updated by this mutation.""" + """The `User` that was created by this mutation.""" user: User """ @@ -3981,23 +4147,20 @@ type UpdateUserPayload { ): UserEdge } -"""All input for the `updateUser` mutation.""" -input UpdateUserInput { +"""All input for the create `User` mutation.""" +input CreateUserInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `User` being updated. - """ - userPatch: UserPatch! + """The `User` to be created by this mutation.""" + user: UserInput! } -"""Represents an update to a `User`. Fields that are set will be updated.""" -input UserPatch { +"""An input for mutations affecting `User`""" +input UserInput { id: UUID username: String displayName: String @@ -4005,23 +4168,17 @@ input UserPatch { type: Int createdAt: Datetime updatedAt: Datetime - - """File upload for the `profilePicture` field.""" - profilePictureUpload: Upload } -"""The `Upload` scalar type represents a file upload.""" -scalar Upload - -"""The output of our update `WebauthnCredential` mutation.""" -type UpdateWebauthnCredentialPayload { +"""The output of our create `WebauthnCredential` mutation.""" +type CreateWebauthnCredentialPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `WebauthnCredential` that was updated by this mutation.""" + """The `WebauthnCredential` that was created by this mutation.""" webauthnCredential: WebauthnCredential """ @@ -4036,35 +4193,30 @@ type UpdateWebauthnCredentialPayload { ): WebauthnCredentialEdge } -"""All input for the `updateWebauthnCredential` mutation.""" -input UpdateWebauthnCredentialInput { +"""All input for the create `WebauthnCredential` mutation.""" +input CreateWebauthnCredentialInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `WebauthnCredential` being updated. - """ - webauthnCredentialPatch: WebauthnCredentialPatch! + """The `WebauthnCredential` to be created by this mutation.""" + webauthnCredential: WebauthnCredentialInput! } -""" -Represents an update to a `WebauthnCredential`. Fields that are set will be updated. -""" -input WebauthnCredentialPatch { +"""An input for mutations affecting `WebauthnCredential`""" +input WebauthnCredentialInput { id: UUID ownerId: UUID """ Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. """ - credentialId: String + credentialId: String! """COSE-encoded public key bytes from the authenticator attestation.""" - publicKey: Base64EncodedBinary + publicKey: Base64EncodedBinary! """ Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. @@ -4074,7 +4226,7 @@ input WebauthnCredentialPatch { """ Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. """ - webauthnUserId: String + webauthnUserId: String! """ Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. @@ -4084,7 +4236,7 @@ input WebauthnCredentialPatch { """ Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. """ - credentialDeviceType: String + credentialDeviceType: String! """ Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. @@ -4107,15 +4259,15 @@ input WebauthnCredentialPatch { updatedAt: Datetime } -"""The output of our delete `RoleType` mutation.""" -type DeleteRoleTypePayload { +"""The output of our update `RoleType` mutation.""" +type UpdateRoleTypePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `RoleType` that was deleted by this mutation.""" + """The `RoleType` that was updated by this mutation.""" roleType: RoleType """ @@ -4130,25 +4282,38 @@ type DeleteRoleTypePayload { ): RoleTypeEdge } -"""All input for the `deleteRoleType` mutation.""" -input DeleteRoleTypeInput { +"""All input for the `updateRoleType` mutation.""" +input UpdateRoleTypeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: Int! + + """ + An object where the defined keys will be set on the `RoleType` being updated. + """ + roleTypePatch: RoleTypePatch! } -"""The output of our delete `CryptoAddress` mutation.""" -type DeleteCryptoAddressPayload { +""" +Represents an update to a `RoleType`. Fields that are set will be updated. +""" +input RoleTypePatch { + id: Int + name: String +} + +"""The output of our update `CryptoAddress` mutation.""" +type UpdateCryptoAddressPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `CryptoAddress` that was deleted by this mutation.""" + """The `CryptoAddress` that was updated by this mutation.""" cryptoAddress: CryptoAddress """ @@ -4163,838 +4328,618 @@ type DeleteCryptoAddressPayload { ): CryptoAddressEdge } -"""All input for the `deleteCryptoAddress` mutation.""" -input DeleteCryptoAddressInput { +"""All input for the `updateCryptoAddress` mutation.""" +input UpdateCryptoAddressInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} - -"""The output of our delete `PhoneNumber` mutation.""" -type DeletePhoneNumberPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `PhoneNumber` that was deleted by this mutation.""" - phoneNumber: PhoneNumber """ - Our root query field type. Allows us to run any query from our mutation payload. + An object where the defined keys will be set on the `CryptoAddress` being updated. """ - query: Query - - """An edge for our `PhoneNumber`. May be used by Relay 1.""" - phoneNumberEdge( - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumberEdge + cryptoAddressPatch: CryptoAddressPatch! } -"""All input for the `deletePhoneNumber` mutation.""" -input DeletePhoneNumberInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! -} +""" +Represents an update to a `CryptoAddress`. Fields that are set will be updated. +""" +input CryptoAddressPatch { + id: UUID + ownerId: UUID -"""The output of our delete `AuditLog` mutation.""" -type DeleteAuditLogPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + The cryptocurrency wallet address, validated against network-specific patterns """ - clientMutationId: String - - """The `AuditLog` that was deleted by this mutation.""" - auditLog: AuditLog + address: String - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Whether ownership of this address has been cryptographically verified""" + isVerified: Boolean - """An edge for our `AuditLog`. May be used by Relay 1.""" - auditLogEdge( - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] - ): AuditLogEdge -} + """Whether this is the user's primary cryptocurrency address""" + isPrimary: Boolean -"""All input for the `deleteAuditLog` mutation.""" -input DeleteAuditLogInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. """ - clientMutationId: String - id: UUID! + Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). + """ + name: String + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `Email` mutation.""" -type DeleteEmailPayload { +"""The output of our update `PhoneNumber` mutation.""" +type UpdatePhoneNumberPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Email` that was deleted by this mutation.""" - email: Email + """The `PhoneNumber` that was updated by this mutation.""" + phoneNumber: PhoneNumber """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Email`. May be used by Relay 1.""" - emailEdge( - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailEdge + """An edge for our `PhoneNumber`. May be used by Relay 1.""" + phoneNumberEdge( + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumberEdge } -"""All input for the `deleteEmail` mutation.""" -input DeleteEmailInput { +"""All input for the `updatePhoneNumber` mutation.""" +input UpdatePhoneNumberInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `User` mutation.""" -type DeleteUserPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `PhoneNumber` being updated. """ - clientMutationId: String + phoneNumberPatch: PhoneNumberPatch! +} - """The `User` that was deleted by this mutation.""" - user: User +""" +Represents an update to a `PhoneNumber`. Fields that are set will be updated. +""" +input PhoneNumberPatch { + id: UUID + ownerId: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Country calling code (e.g. +1, +44)""" + cc: String - """An edge for our `User`. May be used by Relay 1.""" - userEdge( - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserEdge -} + """The phone number without country code""" + number: String + + """Whether the phone number has been verified via SMS code""" + isVerified: Boolean + + """Whether this is the user's primary phone number""" + isPrimary: Boolean -"""All input for the `deleteUser` mutation.""" -input DeleteUserInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Optional user-provided label for this phone number (e.g. "Mobile", "Work"). """ - clientMutationId: String - id: UUID! + name: String + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `WebauthnCredential` mutation.""" -type DeleteWebauthnCredentialPayload { +"""The output of our update `AuditLog` mutation.""" +type UpdateAuditLogPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `WebauthnCredential` that was deleted by this mutation.""" - webauthnCredential: WebauthnCredential + """The `AuditLog` that was updated by this mutation.""" + auditLog: AuditLog """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `WebauthnCredential`. May be used by Relay 1.""" - webauthnCredentialEdge( - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialEdge + """An edge for our `AuditLog`. May be used by Relay 1.""" + auditLogEdge( + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] + ): AuditLogEdge } -"""All input for the `deleteWebauthnCredential` mutation.""" -input DeleteWebauthnCredentialInput { +"""All input for the `updateAuditLog` mutation.""" +input UpdateAuditLogInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} - -input RequestUploadUrlInput { - """Bucket key (e.g., "public", "private")""" - bucketKey: String! """ - Owner entity ID for entity-scoped uploads. - Omit for app-level (database-wide) storage. - When provided, resolves the storage module for the entity type - that owns this entity instance (e.g., a data room ID, team ID). + An object where the defined keys will be set on the `AuditLog` being updated. """ - ownerId: UUID - - """SHA-256 content hash computed by the client (hex-encoded, 64 chars)""" - contentHash: String! - - """MIME type of the file (e.g., "image/png")""" - contentType: String! - - """File size in bytes""" - size: Int! - - """Original filename (optional, for display and Content-Disposition)""" - filename: String -} - -type RequestUploadUrlPayload { - """Presigned PUT URL (null if file was deduplicated)""" - uploadUrl: String - - """The file ID (existing if deduplicated, new if fresh upload)""" - fileId: UUID! - - """The S3 object key""" - key: String! - - """Whether this file was deduplicated (already exists with same hash)""" - deduplicated: Boolean! - - """Presigned URL expiry time (null if deduplicated)""" - expiresAt: Datetime + auditLogPatch: AuditLogPatch! } -"""The root query type which gives access points into the data universe.""" -type Query { - currentUserAgent: String - currentIpAddress: InternetAddress - currentUserId: UUID - requireStepUp(stepUpType: String): Boolean - currentUser: User - - """Reads and enables pagination through a set of `IdentityProvider`.""" - identityProviders( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: IdentityProviderFilter - - """The method to use when ordering `IdentityProvider`.""" - orderBy: [IdentityProviderOrderBy!] = [NATURAL] - ): IdentityProviderConnection - - """Reads and enables pagination through a set of `RoleType`.""" - roleTypes( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `AuditLog`. Fields that are set will be updated. +""" +input AuditLogPatch { + id: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RoleTypeFilter + """ + Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) + """ + event: String - """The method to use when ordering `RoleType`.""" - orderBy: [RoleTypeOrderBy!] = [PRIMARY_KEY_ASC] - ): RoleTypeConnection + """User who performed the authentication action; NULL if user was deleted""" + actorId: UUID - """Reads and enables pagination through a set of `CryptoAddress`.""" - cryptoAddresses( - """Only read the first `n` values of the set.""" - first: Int + """Request origin (domain) where the auth event occurred""" + origin: ConstructiveInternalTypeOrigin - """Only read the last `n` values of the set.""" - last: Int + """Browser or client user-agent string from the request""" + userAgent: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """IP address of the client that initiated the auth event""" + ipAddress: InternetAddress - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Whether the authentication attempt succeeded""" + success: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Timestamp when the audit event was recorded""" + createdAt: Datetime +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CryptoAddressFilter +"""The output of our update `Email` mutation.""" +type UpdateEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAddressConnection + """The `Email` that was updated by this mutation.""" + email: Email - """Reads and enables pagination through a set of `PhoneNumber`.""" - phoneNumbers( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `Email`. May be used by Relay 1.""" + emailEdge( + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateEmail` mutation.""" +input UpdateEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `Email` being updated. + """ + emailPatch: EmailPatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `Email`. Fields that are set will be updated. +""" +input EmailPatch { + id: UUID + ownerId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PhoneNumberFilter + """The email address""" + email: ConstructiveInternalTypeEmail - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] - ): PhoneNumberConnection + """Whether the email address has been verified via confirmation link""" + isVerified: Boolean - """Reads and enables pagination through a set of `UserConnectedAccount`.""" - userConnectedAccounts( - """Only read the first `n` values of the set.""" - first: Int + """Whether this is the user's primary email address""" + isPrimary: Boolean - """Only read the last `n` values of the set.""" - last: Int + """Optional user-provided label for this email (e.g. "Work", "Personal").""" + name: String + createdAt: Datetime + updatedAt: Datetime +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our update `User` mutation.""" +type UpdateUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `User` that was updated by this mutation.""" + user: User - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UserConnectedAccountFilter + """An edge for our `User`. May be used by Relay 1.""" + userEdge( + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserEdge +} - """The method to use when ordering `UserConnectedAccount`.""" - orderBy: [UserConnectedAccountOrderBy!] = [NATURAL] - ): UserConnectedAccountConnection +"""All input for the `updateUser` mutation.""" +input UpdateUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Reads and enables pagination through a set of `AuditLog`.""" - auditLogs( - """Only read the first `n` values of the set.""" - first: Int + """ + An object where the defined keys will be set on the `User` being updated. + """ + userPatch: UserPatch! +} - """Only read the last `n` values of the set.""" - last: Int +"""Represents an update to a `User`. Fields that are set will be updated.""" +input UserPatch { + id: UUID + username: String + displayName: String + profilePicture: ConstructiveInternalTypeImage + type: Int + createdAt: Datetime + updatedAt: Datetime - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """File upload for the `profilePicture` field.""" + profilePictureUpload: Upload +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The `Upload` scalar type represents a file upload.""" +scalar Upload - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `WebauthnCredential` mutation.""" +type UpdateWebauthnCredentialPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AuditLogFilter + """The `WebauthnCredential` that was updated by this mutation.""" + webauthnCredential: WebauthnCredential - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] - ): AuditLogConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `Email`.""" - emails( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `WebauthnCredential`. May be used by Relay 1.""" + webauthnCredentialEdge( + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateWebauthnCredential` mutation.""" +input UpdateWebauthnCredentialInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `WebauthnCredential` being updated. + """ + webauthnCredentialPatch: WebauthnCredentialPatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +""" +Represents an update to a `WebauthnCredential`. Fields that are set will be updated. +""" +input WebauthnCredentialPatch { + id: UUID + ownerId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. + """ + credentialId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EmailFilter + """COSE-encoded public key bytes from the authenticator attestation.""" + publicKey: Base64EncodedBinary - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] - ): EmailConnection + """ + Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. + """ + signCount: BigInt - """Reads and enables pagination through a set of `User`.""" - users( - """Only read the first `n` values of the set.""" - first: Int + """ + Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. + """ + webauthnUserId: String - """Only read the last `n` values of the set.""" - last: Int + """ + Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. + """ + transports: [String] - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. + """ + credentialDeviceType: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. + """ + backupEligible: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Current backup state; updated on each successful sign-in assertion.""" + backupState: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UserFilter + """ + User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. + """ + name: String - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!] = [PRIMARY_KEY_ASC] - ): UserConnection + """ + Timestamp of the most recent successful sign-in assertion using this credential. + """ + lastUsedAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `WebauthnCredential`.""" - webauthnCredentials( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `RoleType` mutation.""" +type DeleteRoleTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `RoleType` that was deleted by this mutation.""" + roleType: RoleType - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `RoleType`. May be used by Relay 1.""" + roleTypeEdge( + """The method to use when ordering `RoleType`.""" + orderBy: [RoleTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): RoleTypeEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteRoleType` mutation.""" +input DeleteRoleTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: Int! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: WebauthnCredentialFilter +"""The output of our delete `CryptoAddress` mutation.""" +type DeleteCryptoAddressPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnCredentialConnection + """The `CryptoAddress` that was deleted by this mutation.""" + cryptoAddress: CryptoAddress """ - Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + Our root query field type. Allows us to run any query from our mutation payload. """ - _meta: MetaSchema -} + query: Query -""" -The root mutation type which contains root level fields which mutate data. -""" -type Mutation { - signOut( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignOutInput! - ): SignOutPayload - sendAccountDeletionEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SendAccountDeletionEmailInput! - ): SendAccountDeletionEmailPayload - checkPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CheckPasswordInput! - ): CheckPasswordPayload - disconnectAccount( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DisconnectAccountInput! - ): DisconnectAccountPayload - revokeApiKey( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RevokeApiKeyInput! - ): RevokeApiKeyPayload - revokeSession( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RevokeSessionInput! - ): RevokeSessionPayload - verifyPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: VerifyPasswordInput! - ): VerifyPasswordPayload - verifyTotp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: VerifyTotpInput! - ): VerifyTotpPayload - confirmDeleteAccount( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ConfirmDeleteAccountInput! - ): ConfirmDeleteAccountPayload - setPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetPasswordInput! - ): SetPasswordPayload - verifyEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: VerifyEmailInput! - ): VerifyEmailPayload - provisionNewUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionNewUserInput! - ): ProvisionNewUserPayload - resetPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ResetPasswordInput! - ): ResetPasswordPayload - signInCrossOrigin( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignInCrossOriginInput! - ): SignInCrossOriginPayload - signUp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignUpInput! - ): SignUpPayload - requestCrossOriginToken( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestCrossOriginTokenInput! - ): RequestCrossOriginTokenPayload - signIn( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignInInput! - ): SignInPayload - extendTokenExpires( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ExtendTokenExpiresInput! - ): ExtendTokenExpiresPayload - createApiKey( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateApiKeyInput! - ): CreateApiKeyPayload - forgotPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ForgotPasswordInput! - ): ForgotPasswordPayload - sendVerificationEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SendVerificationEmailInput! - ): SendVerificationEmailPayload + """An edge for our `CryptoAddress`. May be used by Relay 1.""" + cryptoAddressEdge( + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressEdge +} - """Creates a single `IdentityProvider`.""" - createIdentityProvider( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateIdentityProviderInput! - ): CreateIdentityProviderPayload +"""All input for the `deleteCryptoAddress` mutation.""" +input DeleteCryptoAddressInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `RoleType`.""" - createRoleType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRoleTypeInput! - ): CreateRoleTypePayload +"""The output of our delete `PhoneNumber` mutation.""" +type DeletePhoneNumberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `CryptoAddress`.""" - createCryptoAddress( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCryptoAddressInput! - ): CreateCryptoAddressPayload + """The `PhoneNumber` that was deleted by this mutation.""" + phoneNumber: PhoneNumber - """Creates a single `PhoneNumber`.""" - createPhoneNumber( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePhoneNumberInput! - ): CreatePhoneNumberPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `UserConnectedAccount`.""" - createUserConnectedAccount( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUserConnectedAccountInput! - ): CreateUserConnectedAccountPayload + """An edge for our `PhoneNumber`. May be used by Relay 1.""" + phoneNumberEdge( + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumberEdge +} - """Creates a single `AuditLog`.""" - createAuditLog( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAuditLogInput! - ): CreateAuditLogPayload +"""All input for the `deletePhoneNumber` mutation.""" +input DeletePhoneNumberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `Email`.""" - createEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEmailInput! - ): CreateEmailPayload +"""The output of our delete `AuditLog` mutation.""" +type DeleteAuditLogPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `User`.""" - createUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUserInput! - ): CreateUserPayload + """The `AuditLog` that was deleted by this mutation.""" + auditLog: AuditLog - """Creates a single `WebauthnCredential`.""" - createWebauthnCredential( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateWebauthnCredentialInput! - ): CreateWebauthnCredentialPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `RoleType` using a unique key and a patch.""" - updateRoleType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRoleTypeInput! - ): UpdateRoleTypePayload + """An edge for our `AuditLog`. May be used by Relay 1.""" + auditLogEdge( + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] + ): AuditLogEdge +} - """Updates a single `CryptoAddress` using a unique key and a patch.""" - updateCryptoAddress( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCryptoAddressInput! - ): UpdateCryptoAddressPayload +"""All input for the `deleteAuditLog` mutation.""" +input DeleteAuditLogInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `PhoneNumber` using a unique key and a patch.""" - updatePhoneNumber( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePhoneNumberInput! - ): UpdatePhoneNumberPayload +"""The output of our delete `Email` mutation.""" +type DeleteEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `AuditLog` using a unique key and a patch.""" - updateAuditLog( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAuditLogInput! - ): UpdateAuditLogPayload + """The `Email` that was deleted by this mutation.""" + email: Email - """Updates a single `Email` using a unique key and a patch.""" - updateEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEmailInput! - ): UpdateEmailPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `User` using a unique key and a patch.""" - updateUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateUserInput! - ): UpdateUserPayload + """An edge for our `Email`. May be used by Relay 1.""" + emailEdge( + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailEdge +} - """Updates a single `WebauthnCredential` using a unique key and a patch.""" - updateWebauthnCredential( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateWebauthnCredentialInput! - ): UpdateWebauthnCredentialPayload +"""All input for the `deleteEmail` mutation.""" +input DeleteEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `RoleType` using a unique key.""" - deleteRoleType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRoleTypeInput! - ): DeleteRoleTypePayload +"""The output of our delete `User` mutation.""" +type DeleteUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `CryptoAddress` using a unique key.""" - deleteCryptoAddress( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCryptoAddressInput! - ): DeleteCryptoAddressPayload + """The `User` that was deleted by this mutation.""" + user: User - """Deletes a single `PhoneNumber` using a unique key.""" - deletePhoneNumber( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePhoneNumberInput! - ): DeletePhoneNumberPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `AuditLog` using a unique key.""" - deleteAuditLog( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAuditLogInput! - ): DeleteAuditLogPayload + """An edge for our `User`. May be used by Relay 1.""" + userEdge( + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserEdge +} - """Deletes a single `Email` using a unique key.""" - deleteEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEmailInput! - ): DeleteEmailPayload +"""All input for the `deleteUser` mutation.""" +input DeleteUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `User` using a unique key.""" - deleteUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteUserInput! - ): DeleteUserPayload +"""The output of our delete `WebauthnCredential` mutation.""" +type DeleteWebauthnCredentialPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `WebauthnCredential` using a unique key.""" - deleteWebauthnCredential( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteWebauthnCredentialInput! - ): DeleteWebauthnCredentialPayload + """The `WebauthnCredential` that was deleted by this mutation.""" + webauthnCredential: WebauthnCredential """ - Request a presigned URL for uploading a file directly to S3. - Client computes SHA-256 of the file content and provides it here. - If a file with the same hash already exists (dedup), returns the - existing file ID and deduplicated=true with no uploadUrl. + Our root query field type. Allows us to run any query from our mutation payload. """ - requestUploadUrl( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestUploadUrlInput! - ): RequestUploadUrlPayload + query: Query + + """An edge for our `WebauthnCredential`. May be used by Relay 1.""" + webauthnCredentialEdge( + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialEdge +} +"""All input for the `deleteWebauthnCredential` mutation.""" +input DeleteWebauthnCredentialInput { """ - Provision an S3 bucket for a logical bucket in the database. - Reads the bucket config via RLS, then creates and configures - the S3 bucket with the appropriate privacy policies, CORS rules, - and lifecycle settings. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - provisionBucket( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionBucketInput! - ): ProvisionBucketPayload + clientMutationId: String + id: UUID! } input ProvisionBucketInput { diff --git a/sdk/constructive-sdk/schemas/objects.graphql b/sdk/constructive-sdk/schemas/objects.graphql index 98a0969f3..5678d585e 100644 --- a/sdk/constructive-sdk/schemas/objects.graphql +++ b/sdk/constructive-sdk/schemas/objects.graphql @@ -1,3 +1,186 @@ +"""The root query type which gives access points into the data universe.""" +type Query { + revParse(dbId: UUID, storeId: UUID, refname: String): UUID + + """Reads and enables pagination through a set of `GetAllRecord`.""" + getAll( + databaseId: UUID + id: UUID + + """Only read the first `n` values of the set.""" + first: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): GetAllConnection + + """Reads and enables pagination through a set of `Object`.""" + getAllObjectsFromRoot( + databaseId: UUID + id: UUID + + """Only read the first `n` values of the set.""" + first: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): ObjectConnection + getNodeAtPath(databaseId: UUID, id: UUID, path: [String]): Object + + """Reads and enables pagination through a set of `Object`.""" + getPathObjectsFromRoot( + databaseId: UUID + id: UUID + path: [String] + + """Only read the first `n` values of the set.""" + first: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): ObjectConnection + getObjectAtPath(dbId: UUID, storeId: UUID, path: [String], refname: String): Object + + """Reads and enables pagination through a set of `Ref`.""" + refs( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: RefFilter + + """The method to use when ordering `Ref`.""" + orderBy: [RefOrderBy!] = [PRIMARY_KEY_ASC] + ): RefConnection + + """Reads and enables pagination through a set of `Store`.""" + stores( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: StoreFilter + + """The method to use when ordering `Store`.""" + orderBy: [StoreOrderBy!] = [PRIMARY_KEY_ASC] + ): StoreConnection + + """Reads and enables pagination through a set of `Commit`.""" + commits( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CommitFilter + + """The method to use when ordering `Commit`.""" + orderBy: [CommitOrderBy!] = [PRIMARY_KEY_ASC] + ): CommitConnection + + """Reads and enables pagination through a set of `Object`.""" + objects( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ObjectFilter + + """The method to use when ordering `Object`.""" + orderBy: [ObjectOrderBy!] = [PRIMARY_KEY_ASC] + ): ObjectConnection + + """ + Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + """ + _meta: MetaSchema +} + """ A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). """ @@ -1040,22 +1223,185 @@ type MetaQuery { delete: String } -"""The output of our `freezeObjects` mutation.""" -type FreezeObjectsPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +The root mutation type which contains root level fields which mutate data. +""" +type Mutation { + freezeObjects( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: FreezeObjectsInput! + ): FreezeObjectsPayload + initEmptyRepo( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: InitEmptyRepoInput! + ): InitEmptyRepoPayload + removeNodeAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RemoveNodeAtPathInput! + ): RemoveNodeAtPathPayload + setDataAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetDataAtPathInput! + ): SetDataAtPathPayload + setPropsAndCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetPropsAndCommitInput! + ): SetPropsAndCommitPayload + insertNodeAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: InsertNodeAtPathInput! + ): InsertNodeAtPathPayload + updateNodeAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateNodeAtPathInput! + ): UpdateNodeAtPathPayload + setAndCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetAndCommitInput! + ): SetAndCommitPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Creates a single `Ref`.""" + createRef( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRefInput! + ): CreateRefPayload + + """Creates a single `Store`.""" + createStore( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateStoreInput! + ): CreateStorePayload + + """Creates a single `Commit`.""" + createCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCommitInput! + ): CreateCommitPayload + + """Creates a single `Object`.""" + createObject( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateObjectInput! + ): CreateObjectPayload + + """Updates a single `Ref` using a unique key and a patch.""" + updateRef( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRefInput! + ): UpdateRefPayload + + """Updates a single `Store` using a unique key and a patch.""" + updateStore( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateStoreInput! + ): UpdateStorePayload + + """Updates a single `Commit` using a unique key and a patch.""" + updateCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCommitInput! + ): UpdateCommitPayload + + """Updates a single `Object` using a unique key and a patch.""" + updateObject( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateObjectInput! + ): UpdateObjectPayload + + """Deletes a single `Ref` using a unique key.""" + deleteRef( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRefInput! + ): DeleteRefPayload + + """Deletes a single `Store` using a unique key.""" + deleteStore( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteStoreInput! + ): DeleteStorePayload + + """Deletes a single `Commit` using a unique key.""" + deleteCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCommitInput! + ): DeleteCommitPayload + + """Deletes a single `Object` using a unique key.""" + deleteObject( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteObjectInput! + ): DeleteObjectPayload -"""All input for the `freezeObjects` mutation.""" -input FreezeObjectsInput { + """ + Provision an S3 bucket for a logical bucket in the database. + Reads the bucket config via RLS, then creates and configures + the S3 bucket with the appropriate privacy policies, CORS rules, + and lifecycle settings. + """ + provisionBucket( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionBucketInput! + ): ProvisionBucketPayload +} + +"""The output of our `freezeObjects` mutation.""" +type FreezeObjectsPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `freezeObjects` mutation.""" +input FreezeObjectsInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -1847,407 +2193,6 @@ input DeleteObjectInput { databaseId: UUID! } -input RequestUploadUrlInput { - """Bucket key (e.g., "public", "private")""" - bucketKey: String! - - """ - Owner entity ID for entity-scoped uploads. - Omit for app-level (database-wide) storage. - When provided, resolves the storage module for the entity type - that owns this entity instance (e.g., a data room ID, team ID). - """ - ownerId: UUID - - """SHA-256 content hash computed by the client (hex-encoded, 64 chars)""" - contentHash: String! - - """MIME type of the file (e.g., "image/png")""" - contentType: String! - - """File size in bytes""" - size: Int! - - """Original filename (optional, for display and Content-Disposition)""" - filename: String -} - -type RequestUploadUrlPayload { - """Presigned PUT URL (null if file was deduplicated)""" - uploadUrl: String - - """The file ID (existing if deduplicated, new if fresh upload)""" - fileId: UUID! - - """The S3 object key""" - key: String! - - """Whether this file was deduplicated (already exists with same hash)""" - deduplicated: Boolean! - - """Presigned URL expiry time (null if deduplicated)""" - expiresAt: Datetime -} - -"""The root query type which gives access points into the data universe.""" -type Query { - revParse(dbId: UUID, storeId: UUID, refname: String): UUID - - """Reads and enables pagination through a set of `GetAllRecord`.""" - getAll( - databaseId: UUID - id: UUID - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): GetAllConnection - - """Reads and enables pagination through a set of `Object`.""" - getAllObjectsFromRoot( - databaseId: UUID - id: UUID - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): ObjectConnection - getNodeAtPath(databaseId: UUID, id: UUID, path: [String]): Object - - """Reads and enables pagination through a set of `Object`.""" - getPathObjectsFromRoot( - databaseId: UUID - id: UUID - path: [String] - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): ObjectConnection - getObjectAtPath(dbId: UUID, storeId: UUID, path: [String], refname: String): Object - - """Reads and enables pagination through a set of `Ref`.""" - refs( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RefFilter - - """The method to use when ordering `Ref`.""" - orderBy: [RefOrderBy!] = [PRIMARY_KEY_ASC] - ): RefConnection - - """Reads and enables pagination through a set of `Store`.""" - stores( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: StoreFilter - - """The method to use when ordering `Store`.""" - orderBy: [StoreOrderBy!] = [PRIMARY_KEY_ASC] - ): StoreConnection - - """Reads and enables pagination through a set of `Commit`.""" - commits( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CommitFilter - - """The method to use when ordering `Commit`.""" - orderBy: [CommitOrderBy!] = [PRIMARY_KEY_ASC] - ): CommitConnection - - """Reads and enables pagination through a set of `Object`.""" - objects( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ObjectFilter - - """The method to use when ordering `Object`.""" - orderBy: [ObjectOrderBy!] = [PRIMARY_KEY_ASC] - ): ObjectConnection - - """ - Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. - """ - _meta: MetaSchema -} - -""" -The root mutation type which contains root level fields which mutate data. -""" -type Mutation { - freezeObjects( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: FreezeObjectsInput! - ): FreezeObjectsPayload - initEmptyRepo( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: InitEmptyRepoInput! - ): InitEmptyRepoPayload - removeNodeAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RemoveNodeAtPathInput! - ): RemoveNodeAtPathPayload - setDataAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetDataAtPathInput! - ): SetDataAtPathPayload - setPropsAndCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetPropsAndCommitInput! - ): SetPropsAndCommitPayload - insertNodeAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: InsertNodeAtPathInput! - ): InsertNodeAtPathPayload - updateNodeAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateNodeAtPathInput! - ): UpdateNodeAtPathPayload - setAndCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetAndCommitInput! - ): SetAndCommitPayload - - """Creates a single `Ref`.""" - createRef( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRefInput! - ): CreateRefPayload - - """Creates a single `Store`.""" - createStore( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateStoreInput! - ): CreateStorePayload - - """Creates a single `Commit`.""" - createCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCommitInput! - ): CreateCommitPayload - - """Creates a single `Object`.""" - createObject( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateObjectInput! - ): CreateObjectPayload - - """Updates a single `Ref` using a unique key and a patch.""" - updateRef( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRefInput! - ): UpdateRefPayload - - """Updates a single `Store` using a unique key and a patch.""" - updateStore( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateStoreInput! - ): UpdateStorePayload - - """Updates a single `Commit` using a unique key and a patch.""" - updateCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCommitInput! - ): UpdateCommitPayload - - """Updates a single `Object` using a unique key and a patch.""" - updateObject( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateObjectInput! - ): UpdateObjectPayload - - """Deletes a single `Ref` using a unique key.""" - deleteRef( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRefInput! - ): DeleteRefPayload - - """Deletes a single `Store` using a unique key.""" - deleteStore( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteStoreInput! - ): DeleteStorePayload - - """Deletes a single `Commit` using a unique key.""" - deleteCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCommitInput! - ): DeleteCommitPayload - - """Deletes a single `Object` using a unique key.""" - deleteObject( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteObjectInput! - ): DeleteObjectPayload - - """ - Request a presigned URL for uploading a file directly to S3. - Client computes SHA-256 of the file content and provides it here. - If a file with the same hash already exists (dedup), returns the - existing file ID and deduplicated=true with no uploadUrl. - """ - requestUploadUrl( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestUploadUrlInput! - ): RequestUploadUrlPayload - - """ - Provision an S3 bucket for a logical bucket in the database. - Reads the bucket config via RLS, then creates and configures - the S3 bucket with the appropriate privacy policies, CORS rules, - and lifecycle settings. - """ - provisionBucket( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionBucketInput! - ): ProvisionBucketPayload -} - input ProvisionBucketInput { """The logical bucket key (e.g., "public", "private")""" bucketKey: String! diff --git a/sdk/constructive-sdk/schemas/public.graphql b/sdk/constructive-sdk/schemas/public.graphql index a99747048..7f7f722bc 100644 --- a/sdk/constructive-sdk/schemas/public.graphql +++ b/sdk/constructive-sdk/schemas/public.graphql @@ -1,343 +1,181 @@ -""" -A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). -""" -scalar UUID - -"""An IPv4 or IPv6 host address, and optionally its subnet.""" -scalar InternetAddress - -"""A string representing a series of binary bits""" -scalar BitString - -"""A connection to a list of `OrgGetManagersRecord` values.""" -type OrgGetManagersConnection { - """A list of `OrgGetManagersRecord` objects.""" - nodes: [OrgGetManagersRecord]! - - """ - A list of edges which contains the `OrgGetManagersRecord` and cursor to aid in pagination. - """ - edges: [OrgGetManagersEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """ - The count of *all* `OrgGetManagersRecord` you could get from the connection. - """ - totalCount: Int! -} - -type OrgGetManagersRecord { - userId: UUID - depth: Int -} - -"""A `OrgGetManagersRecord` edge in the connection.""" -type OrgGetManagersEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `OrgGetManagersRecord` at the end of the edge.""" - node: OrgGetManagersRecord -} - -"""A location in a connection that can be used for resuming pagination.""" -scalar Cursor - -"""Information about pagination in a connection.""" -type PageInfo { - """When paginating forwards, are there more items?""" - hasNextPage: Boolean! - - """When paginating backwards, are there more items?""" - hasPreviousPage: Boolean! - - """When paginating backwards, the cursor to continue.""" - startCursor: Cursor - - """When paginating forwards, the cursor to continue.""" - endCursor: Cursor -} - -"""A connection to a list of `OrgGetSubordinatesRecord` values.""" -type OrgGetSubordinatesConnection { - """A list of `OrgGetSubordinatesRecord` objects.""" - nodes: [OrgGetSubordinatesRecord]! - - """ - A list of edges which contains the `OrgGetSubordinatesRecord` and cursor to aid in pagination. - """ - edges: [OrgGetSubordinatesEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """ - The count of *all* `OrgGetSubordinatesRecord` you could get from the connection. - """ - totalCount: Int! -} - -type OrgGetSubordinatesRecord { - userId: UUID - depth: Int -} - -"""A `OrgGetSubordinatesRecord` edge in the connection.""" -type OrgGetSubordinatesEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `OrgGetSubordinatesRecord` at the end of the edge.""" - node: OrgGetSubordinatesRecord -} - -""" -Represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). -""" -scalar JSON - -"""A connection to a list of `GetAllRecord` values.""" -type GetAllConnection { - """A list of `GetAllRecord` objects.""" - nodes: [GetAllRecord]! - - """ - A list of edges which contains the `GetAllRecord` and cursor to aid in pagination. - """ - edges: [GetAllEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `GetAllRecord` you could get from the connection.""" - totalCount: Int! -} - -type GetAllRecord { - path: [String] - data: JSON -} - -"""A `GetAllRecord` edge in the connection.""" -type GetAllEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `GetAllRecord` at the end of the edge.""" - node: GetAllRecord -} - -"""A connection to a list of `AppPermission` values.""" -type AppPermissionConnection { - """A list of `AppPermission` objects.""" - nodes: [AppPermission]! - - """ - A list of edges which contains the `AppPermission` and cursor to aid in pagination. - """ - edges: [AppPermissionEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `AppPermission` you could get from the connection.""" - totalCount: Int! -} - -""" -Defines available permissions as named bits within a bitmask, used by the RBAC system for access control -""" -type AppPermission { - id: UUID! - - """Human-readable permission name (e.g. read, write, manage)""" - name: String - - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int +"""The root query type which gives access points into the data universe.""" +type Query { + currentUserId: UUID + currentUserAgent: String + currentIpAddress: InternetAddress + requireStepUp(stepUpType: String): Boolean + appPermissionsGetPaddedMask(mask: BitString): BitString + orgPermissionsGetPaddedMask(mask: BitString): BitString + stepsAchieved(level: String, roleId: UUID): Boolean + revParse(dbId: UUID, storeId: UUID, refname: String): UUID """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + Resolves a field_name within a given table_id to a field_id. Throws if no match is found. Used by construct_blueprint to translate user-authored field names (e.g. "location") into field UUIDs for downstream provisioning procedures. table_id must already be resolved (via resolve_blueprint_table) before calling this. """ - bitstr: BitString! + resolveBlueprintField(databaseId: UUID, tableId: UUID, fieldName: String): UUID + orgIsManagerOf(pEntityId: UUID, pManagerId: UUID, pUserId: UUID, pMaxDepth: Int): Boolean - """Human-readable description of what this permission allows""" - description: String -} + """Reads and enables pagination through a set of `OrgGetManagersRecord`.""" + orgGetManagers( + pEntityId: UUID + pUserId: UUID + pMaxDepth: Int -"""A `AppPermission` edge in the connection.""" -type AppPermissionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Only read the first `n` values of the set.""" + first: Int - """The `AppPermission` at the end of the edge.""" - node: AppPermission -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""A connection to a list of `OrgPermission` values.""" -type OrgPermissionConnection { - """A list of `OrgPermission` objects.""" - nodes: [OrgPermission]! + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): OrgGetManagersConnection """ - A list of edges which contains the `OrgPermission` and cursor to aid in pagination. + Reads and enables pagination through a set of `OrgGetSubordinatesRecord`. """ - edges: [OrgPermissionEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `OrgPermission` you could get from the connection.""" - totalCount: Int! -} + orgGetSubordinates( + pEntityId: UUID + pUserId: UUID + pMaxDepth: Int -""" -Defines available permissions as named bits within a bitmask, used by the RBAC system for access control -""" -type OrgPermission { - id: UUID! + """Only read the first `n` values of the set.""" + first: Int - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): OrgGetSubordinatesConnection + appPermissionsGetMask(ids: [UUID]): BitString + orgPermissionsGetMask(ids: [UUID]): BitString """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + Resolves a table_name (with optional schema_name) to a table_id. Resolution order: (1) if schema_name provided, exact lookup via metaschema_public.schema.name + metaschema_public.table; (2) check local table_map (tables created in current blueprint); (3) search metaschema_public.table by name across all schemas; (4) if multiple matches, throw ambiguous error asking for schema_name; (5) if no match, throw not-found error. """ - bitstr: BitString! - - """Human-readable description of what this permission allows""" - description: String -} + resolveBlueprintTable(databaseId: UUID, tableName: String, schemaName: String, tableMap: JSON, defaultSchemaId: UUID): UUID -"""A `OrgPermission` edge in the connection.""" -type OrgPermissionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `GetAllRecord`.""" + getAll( + databaseId: UUID + id: UUID - """The `OrgPermission` at the end of the edge.""" - node: OrgPermission -} + """Only read the first `n` values of the set.""" + first: Int -"""A connection to a list of `Object` values.""" -type ObjectConnection { - """A list of `Object` objects.""" - nodes: [Object]! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - A list of edges which contains the `Object` and cursor to aid in pagination. - """ - edges: [ObjectEdge]! + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): GetAllConnection + appPermissionsGetMaskByNames(names: [String]): BitString + orgPermissionsGetMaskByNames(names: [String]): BitString - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Reads and enables pagination through a set of `AppPermission`.""" + appPermissionsGetByMask( + mask: BitString - """The count of *all* `Object` you could get from the connection.""" - totalCount: Int! -} + """Only read the first `n` values of the set.""" + first: Int -type Object { - hashUuid: UUID - id: UUID! - databaseId: UUID! - kids: [UUID] - ktree: [String] - data: JSON - frzn: Boolean - createdAt: Datetime -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A point in time as described by the [ISO -8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC -3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values -that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead -to unexpected results. -""" -scalar Datetime + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): AppPermissionConnection -"""A `Object` edge in the connection.""" -type ObjectEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `OrgPermission`.""" + orgPermissionsGetByMask( + mask: BitString - """The `Object` at the end of the edge.""" - node: Object -} + """Only read the first `n` values of the set.""" + first: Int -"""A connection to a list of `AppLevelRequirement` values.""" -type AppLevelRequirementConnection { - """A list of `AppLevelRequirement` objects.""" - nodes: [AppLevelRequirement]! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - A list of edges which contains the `AppLevelRequirement` and cursor to aid in pagination. - """ - edges: [AppLevelRequirementEdge]! + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): OrgPermissionConnection - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Reads and enables pagination through a set of `Object`.""" + getAllObjectsFromRoot( + databaseId: UUID + id: UUID - """ - The count of *all* `AppLevelRequirement` you could get from the connection. - """ - totalCount: Int! -} + """Only read the first `n` values of the set.""" + first: Int -"""Defines the specific requirements that must be met to achieve a level""" -type AppLevelRequirement { - id: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Name identifier of the requirement (matches step names)""" - name: String! + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): ObjectConnection + getNodeAtPath(databaseId: UUID, id: UUID, path: [String]): Object - """Name of the level this requirement belongs to""" - level: String! + """Reads and enables pagination through a set of `Object`.""" + getPathObjectsFromRoot( + databaseId: UUID + id: UUID + path: [String] - """Human-readable description of what this requirement entails""" - description: String + """Only read the first `n` values of the set.""" + first: Int - """Number of steps needed to satisfy this requirement""" - requiredCount: Int! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Display ordering priority; lower values appear first""" - priority: Int! - createdAt: Datetime - updatedAt: Datetime -} + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): ObjectConnection + getObjectAtPath(dbId: UUID, storeId: UUID, path: [String], refname: String): Object -"""A `AppLevelRequirement` edge in the connection.""" -type AppLevelRequirementEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `AppLevelRequirement`.""" + stepsRequired( + level: String + roleId: UUID - """The `AppLevelRequirement` at the end of the edge.""" - node: AppLevelRequirement -} + """Only read the first `n` values of the set.""" + first: Int -type User { - id: UUID! - username: String - displayName: String - profilePicture: ConstructiveInternalTypeImage - searchTsv: FullText - type: Int! - createdAt: Datetime - updatedAt: Datetime + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Reads a single `RoleType` that is related to this `User`.""" - roleType: RoleType + """Read all values in the set after (below) this cursor.""" + after: Cursor + ): AppLevelRequirementConnection + currentUser: User - """Reads and enables pagination through a set of `Database`.""" - ownedDatabases( + """Reads and enables pagination through a set of `DefaultIdsModule`.""" + defaultIdsModules( """Only read the first `n` values of the set.""" first: Int @@ -359,17 +197,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: DatabaseFilter - - """The method to use when ordering `Database`.""" - orderBy: [DatabaseOrderBy!] = [PRIMARY_KEY_ASC] - ): DatabaseConnection! + where: DefaultIdsModuleFilter - """Reads a single `AppMembership` that is related to this `User`.""" - appMembershipByActorId: AppMembership + """The method to use when ordering `DefaultIdsModule`.""" + orderBy: [DefaultIdsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): DefaultIdsModuleConnection - """Reads and enables pagination through a set of `AppAdminGrant`.""" - appAdminGrantsByActorId( + """Reads and enables pagination through a set of `RoleType`.""" + roleTypes( """Only read the first `n` values of the set.""" first: Int @@ -391,14 +226,16 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppAdminGrantFilter + where: RoleTypeFilter - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAdminGrantConnection! + """The method to use when ordering `RoleType`.""" + orderBy: [RoleTypeOrderBy!] = [PRIMARY_KEY_ASC] + ): RoleTypeConnection - """Reads and enables pagination through a set of `AppAdminGrant`.""" - appAdminGrantsByGrantorId( + """ + Reads and enables pagination through a set of `AppLimitCreditRedemption`. + """ + appLimitCreditRedemptions( """Only read the first `n` values of the set.""" first: Int @@ -420,14 +257,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppAdminGrantFilter + where: AppLimitCreditRedemptionFilter - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAdminGrantConnection! + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionConnection - """Reads and enables pagination through a set of `AppOwnerGrant`.""" - appOwnerGrantsByActorId( + """Reads and enables pagination through a set of `Function`.""" + functions( """Only read the first `n` values of the set.""" first: Int @@ -449,14 +286,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppOwnerGrantFilter + where: FunctionFilter - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppOwnerGrantConnection! + """The method to use when ordering `Function`.""" + orderBy: [FunctionOrderBy!] = [PRIMARY_KEY_ASC] + ): FunctionConnection - """Reads and enables pagination through a set of `AppOwnerGrant`.""" - appOwnerGrantsByGrantorId( + """Reads and enables pagination through a set of `ViewTable`.""" + viewTables( """Only read the first `n` values of the set.""" first: Int @@ -478,14 +315,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppOwnerGrantFilter + where: ViewTableFilter - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppOwnerGrantConnection! + """The method to use when ordering `ViewTable`.""" + orderBy: [ViewTableOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewTableConnection - """Reads and enables pagination through a set of `AppGrant`.""" - appGrantsByActorId( + """Reads and enables pagination through a set of `ApiSchema`.""" + apiSchemas( """Only read the first `n` values of the set.""" first: Int @@ -507,14 +344,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppGrantFilter + where: ApiSchemaFilter - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppGrantConnection! + """The method to use when ordering `ApiSchema`.""" + orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiSchemaConnection - """Reads and enables pagination through a set of `AppGrant`.""" - appGrantsByGrantorId( + """Reads and enables pagination through a set of `CorsSetting`.""" + corsSettings( """Only read the first `n` values of the set.""" first: Int @@ -536,14 +373,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppGrantFilter + where: CorsSettingFilter - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppGrantConnection! + """The method to use when ordering `CorsSetting`.""" + orderBy: [CorsSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): CorsSettingConnection - """Reads and enables pagination through a set of `OrgMembership`.""" - orgMembershipsByActorId( + """Reads and enables pagination through a set of `OrgMember`.""" + orgMembers( """Only read the first `n` values of the set.""" first: Int @@ -565,14 +402,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgMembershipFilter + where: OrgMemberFilter - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipConnection! + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberConnection - """Reads and enables pagination through a set of `OrgMembership`.""" - orgMembershipsByEntityId( + """Reads and enables pagination through a set of `SiteTheme`.""" + siteThemes( """Only read the first `n` values of the set.""" first: Int @@ -594,20 +431,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgMembershipFilter - - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipConnection! - - """Reads a single `OrgMembershipDefault` that is related to this `User`.""" - orgMembershipDefaultByEntityId: OrgMembershipDefault + where: SiteThemeFilter - """Reads a single `OrgMembershipSetting` that is related to this `User`.""" - orgMembershipSettingByEntityId: OrgMembershipSetting + """The method to use when ordering `SiteTheme`.""" + orderBy: [SiteThemeOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteThemeConnection - """Reads and enables pagination through a set of `OrgMember`.""" - orgMembersByActorId( + """Reads and enables pagination through a set of `IdentityProvider`.""" + identityProviders( """Only read the first `n` values of the set.""" first: Int @@ -629,14 +460,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgMemberFilter + where: IdentityProviderFilter - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberConnection! + """The method to use when ordering `IdentityProvider`.""" + orderBy: [IdentityProviderOrderBy!] = [NATURAL] + ): IdentityProviderConnection - """Reads and enables pagination through a set of `OrgMember`.""" - orgMembersByEntityId( + """Reads and enables pagination through a set of `Ref`.""" + refs( """Only read the first `n` values of the set.""" first: Int @@ -658,14 +489,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgMemberFilter + where: RefFilter - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberConnection! + """The method to use when ordering `Ref`.""" + orderBy: [RefOrderBy!] = [PRIMARY_KEY_ASC] + ): RefConnection - """Reads and enables pagination through a set of `OrgAdminGrant`.""" - orgAdminGrantsByActorId( + """Reads and enables pagination through a set of `Store`.""" + stores( """Only read the first `n` values of the set.""" first: Int @@ -687,14 +518,16 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgAdminGrantFilter + where: StoreFilter - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgAdminGrantConnection! + """The method to use when ordering `Store`.""" + orderBy: [StoreOrderBy!] = [PRIMARY_KEY_ASC] + ): StoreConnection - """Reads and enables pagination through a set of `OrgAdminGrant`.""" - orgAdminGrantsByEntityId( + """ + Reads and enables pagination through a set of `EncryptedSecretsModule`. + """ + encryptedSecretsModules( """Only read the first `n` values of the set.""" first: Int @@ -716,14 +549,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgAdminGrantFilter + where: EncryptedSecretsModuleFilter - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgAdminGrantConnection! + """The method to use when ordering `EncryptedSecretsModule`.""" + orderBy: [EncryptedSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): EncryptedSecretsModuleConnection - """Reads and enables pagination through a set of `OrgAdminGrant`.""" - orgAdminGrantsByGrantorId( + """Reads and enables pagination through a set of `MembershipTypesModule`.""" + membershipTypesModules( """Only read the first `n` values of the set.""" first: Int @@ -745,14 +578,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgAdminGrantFilter + where: MembershipTypesModuleFilter - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgAdminGrantConnection! + """The method to use when ordering `MembershipTypesModule`.""" + orderBy: [MembershipTypesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): MembershipTypesModuleConnection - """Reads and enables pagination through a set of `OrgOwnerGrant`.""" - orgOwnerGrantsByActorId( + """Reads and enables pagination through a set of `SecretsModule`.""" + secretsModules( """Only read the first `n` values of the set.""" first: Int @@ -774,14 +607,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgOwnerGrantFilter + where: SecretsModuleFilter - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantConnection! + """The method to use when ordering `SecretsModule`.""" + orderBy: [SecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SecretsModuleConnection - """Reads and enables pagination through a set of `OrgOwnerGrant`.""" - orgOwnerGrantsByEntityId( + """Reads and enables pagination through a set of `AppPermissionDefault`.""" + appPermissionDefaults( """Only read the first `n` values of the set.""" first: Int @@ -803,14 +636,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgOwnerGrantFilter + where: AppPermissionDefaultFilter - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantConnection! + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultConnection - """Reads and enables pagination through a set of `OrgOwnerGrant`.""" - orgOwnerGrantsByGrantorId( + """Reads and enables pagination through a set of `ApiModule`.""" + apiModules( """Only read the first `n` values of the set.""" first: Int @@ -832,14 +665,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgOwnerGrantFilter + where: ApiModuleFilter - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantConnection! + """The method to use when ordering `ApiModule`.""" + orderBy: [ApiModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiModuleConnection - """Reads and enables pagination through a set of `OrgMemberProfile`.""" - orgMemberProfilesByActorId( + """Reads and enables pagination through a set of `SiteModule`.""" + siteModules( """Only read the first `n` values of the set.""" first: Int @@ -861,14 +694,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgMemberProfileFilter + where: SiteModuleFilter - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberProfileConnection! + """The method to use when ordering `SiteModule`.""" + orderBy: [SiteModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteModuleConnection - """Reads and enables pagination through a set of `OrgMemberProfile`.""" - orgMemberProfilesByEntityId( + """Reads and enables pagination through a set of `AppLimitCreditCode`.""" + appLimitCreditCodes( """Only read the first `n` values of the set.""" first: Int @@ -890,14 +723,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgMemberProfileFilter + where: AppLimitCreditCodeFilter - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberProfileConnection! + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeConnection - """Reads and enables pagination through a set of `OrgGrant`.""" - orgGrantsByActorId( + """Reads and enables pagination through a set of `SchemaGrant`.""" + schemaGrants( """Only read the first `n` values of the set.""" first: Int @@ -919,14 +752,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgGrantFilter + where: SchemaGrantFilter - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgGrantConnection! + """The method to use when ordering `SchemaGrant`.""" + orderBy: [SchemaGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): SchemaGrantConnection - """Reads and enables pagination through a set of `OrgGrant`.""" - orgGrantsByEntityId( + """Reads and enables pagination through a set of `TriggerFunction`.""" + triggerFunctions( """Only read the first `n` values of the set.""" first: Int @@ -948,14 +781,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgGrantFilter + where: TriggerFunctionFilter - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgGrantConnection! + """The method to use when ordering `TriggerFunction`.""" + orderBy: [TriggerFunctionOrderBy!] = [PRIMARY_KEY_ASC] + ): TriggerFunctionConnection - """Reads and enables pagination through a set of `OrgGrant`.""" - orgGrantsByGrantorId( + """Reads and enables pagination through a set of `ViewRule`.""" + viewRules( """Only read the first `n` values of the set.""" first: Int @@ -977,14 +810,16 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgGrantFilter + where: ViewRuleFilter - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgGrantConnection! + """The method to use when ordering `ViewRule`.""" + orderBy: [ViewRuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewRuleConnection - """Reads and enables pagination through a set of `OrgChartEdge`.""" - parentOrgChartEdges( + """ + Reads and enables pagination through a set of `IdentityProvidersModule`. + """ + identityProvidersModules( """Only read the first `n` values of the set.""" first: Int @@ -1006,14 +841,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeFilter + where: IdentityProvidersModuleFilter - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeConnection! + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleConnection - """Reads and enables pagination through a set of `OrgChartEdge`.""" - orgChartEdgesByEntityId( + """Reads and enables pagination through a set of `SessionSecretsModule`.""" + sessionSecretsModules( """Only read the first `n` values of the set.""" first: Int @@ -1035,14 +870,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeFilter + where: SessionSecretsModuleFilter - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeConnection! + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleConnection - """Reads and enables pagination through a set of `OrgChartEdge`.""" - childOrgChartEdges( + """Reads and enables pagination through a set of `AppAdminGrant`.""" + appAdminGrants( """Only read the first `n` values of the set.""" first: Int @@ -1064,14 +899,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeFilter + where: AppAdminGrantFilter - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeConnection! + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAdminGrantConnection - """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" - parentOrgChartEdgeGrants( + """Reads and enables pagination through a set of `AppOwnerGrant`.""" + appOwnerGrants( """Only read the first `n` values of the set.""" first: Int @@ -1093,14 +928,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeGrantFilter + where: AppOwnerGrantFilter - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantConnection! + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppOwnerGrantConnection - """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" - orgChartEdgeGrantsByEntityId( + """Reads and enables pagination through a set of `AppAchievement`.""" + appAchievements( """Only read the first `n` values of the set.""" first: Int @@ -1122,14 +957,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeGrantFilter + where: AppAchievementFilter - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantConnection! + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAchievementConnection - """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" - orgChartEdgeGrantsByGrantorId( + """Reads and enables pagination through a set of `AppStep`.""" + appSteps( """Only read the first `n` values of the set.""" first: Int @@ -1151,14 +986,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeGrantFilter + where: AppStepFilter - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantConnection! + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!] = [PRIMARY_KEY_ASC] + ): AppStepConnection - """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" - childOrgChartEdgeGrants( + """Reads and enables pagination through a set of `OrgPermissionDefault`.""" + orgPermissionDefaults( """Only read the first `n` values of the set.""" first: Int @@ -1180,14 +1015,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgChartEdgeGrantFilter + where: OrgPermissionDefaultFilter - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantConnection! + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultConnection - """Reads and enables pagination through a set of `OrgPermissionDefault`.""" - orgPermissionDefaultsByEntityId( + """Reads and enables pagination through a set of `AppPermission`.""" + appPermissions( """Only read the first `n` values of the set.""" first: Int @@ -1209,14 +1044,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgPermissionDefaultFilter + where: AppPermissionFilter - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultConnection! + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!] = [PRIMARY_KEY_ASC] + ): AppPermissionConnection - """Reads and enables pagination through a set of `AppLimit`.""" - appLimitsByActorId( + """Reads and enables pagination through a set of `OrgPermission`.""" + orgPermissions( """Only read the first `n` values of the set.""" first: Int @@ -1238,14 +1073,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppLimitFilter + where: OrgPermissionFilter - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLimitConnection! + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgPermissionConnection - """Reads and enables pagination through a set of `OrgLimit`.""" - orgLimitsByActorId( + """Reads and enables pagination through a set of `AppLimitCapsDefault`.""" + appLimitCapsDefaults( """Only read the first `n` values of the set.""" first: Int @@ -1267,14 +1102,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgLimitFilter + where: AppLimitCapsDefaultFilter - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitConnection! + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultConnection - """Reads and enables pagination through a set of `OrgLimit`.""" - orgLimitsByEntityId( + """Reads and enables pagination through a set of `OrgLimitCapsDefault`.""" + orgLimitCapsDefaults( """Only read the first `n` values of the set.""" first: Int @@ -1296,14 +1131,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgLimitFilter + where: OrgLimitCapsDefaultFilter - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitConnection! + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultConnection - """Reads and enables pagination through a set of `OrgLimitAggregate`.""" - orgLimitAggregatesByEntityId( + """Reads and enables pagination through a set of `AppLimitCap`.""" + appLimitCaps( """Only read the first `n` values of the set.""" first: Int @@ -1325,14 +1160,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgLimitAggregateFilter + where: AppLimitCapFilter - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateConnection! + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCapConnection - """Reads and enables pagination through a set of `AppStep`.""" - appStepsByActorId( + """Reads and enables pagination through a set of `OrgLimitCap`.""" + orgLimitCaps( """Only read the first `n` values of the set.""" first: Int @@ -1354,14 +1189,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppStepFilter + where: OrgLimitCapFilter - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!] = [PRIMARY_KEY_ASC] - ): AppStepConnection! + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCapConnection - """Reads and enables pagination through a set of `AppAchievement`.""" - appAchievementsByActorId( + """Reads and enables pagination through a set of `MembershipType`.""" + membershipTypes( """Only read the first `n` values of the set.""" first: Int @@ -1383,14 +1218,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppAchievementFilter + where: MembershipTypeFilter - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAchievementConnection! + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!] = [PRIMARY_KEY_ASC] + ): MembershipTypeConnection - """Reads and enables pagination through a set of `AppLevel`.""" - ownedAppLevels( + """Reads and enables pagination through a set of `MigrateFile`.""" + migrateFiles( """Only read the first `n` values of the set.""" first: Int @@ -1412,14 +1247,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppLevelFilter + where: MigrateFileFilter - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLevelConnection! + """The method to use when ordering `MigrateFile`.""" + orderBy: [MigrateFileOrderBy!] = [NATURAL] + ): MigrateFileConnection - """Reads and enables pagination through a set of `Email`.""" - ownedEmails( + """Reads and enables pagination through a set of `DefaultPrivilege`.""" + defaultPrivileges( """Only read the first `n` values of the set.""" first: Int @@ -1441,14 +1276,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: EmailFilter + where: DefaultPrivilegeFilter - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] - ): EmailConnection! + """The method to use when ordering `DefaultPrivilege`.""" + orderBy: [DefaultPrivilegeOrderBy!] = [PRIMARY_KEY_ASC] + ): DefaultPrivilegeConnection - """Reads and enables pagination through a set of `PhoneNumber`.""" - ownedPhoneNumbers( + """Reads and enables pagination through a set of `ViewGrant`.""" + viewGrants( """Only read the first `n` values of the set.""" first: Int @@ -1470,14 +1305,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: PhoneNumberFilter + where: ViewGrantFilter - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] - ): PhoneNumberConnection! + """The method to use when ordering `ViewGrant`.""" + orderBy: [ViewGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewGrantConnection - """Reads and enables pagination through a set of `CryptoAddress`.""" - ownedCryptoAddresses( + """Reads and enables pagination through a set of `Api`.""" + apis( """Only read the first `n` values of the set.""" first: Int @@ -1499,14 +1334,16 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: CryptoAddressFilter + where: ApiFilter - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAddressConnection! + """The method to use when ordering `Api`.""" + orderBy: [ApiOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiConnection - """Reads and enables pagination through a set of `WebauthnCredential`.""" - ownedWebauthnCredentials( + """ + Reads and enables pagination through a set of `ConnectedAccountsModule`. + """ + connectedAccountsModules( """Only read the first `n` values of the set.""" first: Int @@ -1528,14 +1365,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: WebauthnCredentialFilter + where: ConnectedAccountsModuleFilter - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnCredentialConnection! + """The method to use when ordering `ConnectedAccountsModule`.""" + orderBy: [ConnectedAccountsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ConnectedAccountsModuleConnection - """Reads and enables pagination through a set of `AppInvite`.""" - appInvitesBySenderId( + """Reads and enables pagination through a set of `DevicesModule`.""" + devicesModules( """Only read the first `n` values of the set.""" first: Int @@ -1557,14 +1394,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppInviteFilter + where: DevicesModuleFilter - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppInviteConnection! + """The method to use when ordering `DevicesModule`.""" + orderBy: [DevicesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): DevicesModuleConnection - """Reads and enables pagination through a set of `AppClaimedInvite`.""" - appClaimedInvitesByReceiverId( + """Reads and enables pagination through a set of `EmailsModule`.""" + emailsModules( """Only read the first `n` values of the set.""" first: Int @@ -1586,14 +1423,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppClaimedInviteFilter + where: EmailsModuleFilter - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppClaimedInviteConnection! + """The method to use when ordering `EmailsModule`.""" + orderBy: [EmailsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): EmailsModuleConnection - """Reads and enables pagination through a set of `AppClaimedInvite`.""" - appClaimedInvitesBySenderId( + """Reads and enables pagination through a set of `PhoneNumbersModule`.""" + phoneNumbersModules( """Only read the first `n` values of the set.""" first: Int @@ -1615,14 +1452,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppClaimedInviteFilter + where: PhoneNumbersModuleFilter - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppClaimedInviteConnection! + """The method to use when ordering `PhoneNumbersModule`.""" + orderBy: [PhoneNumbersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): PhoneNumbersModuleConnection - """Reads and enables pagination through a set of `OrgInvite`.""" - orgInvitesByEntityId( + """Reads and enables pagination through a set of `UsersModule`.""" + usersModules( """Only read the first `n` values of the set.""" first: Int @@ -1644,14 +1481,16 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgInviteFilter + where: UsersModuleFilter - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgInviteConnection! + """The method to use when ordering `UsersModule`.""" + orderBy: [UsersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): UsersModuleConnection - """Reads and enables pagination through a set of `OrgInvite`.""" - orgInvitesByReceiverId( + """ + Reads and enables pagination through a set of `WebauthnCredentialsModule`. + """ + webauthnCredentialsModules( """Only read the first `n` values of the set.""" first: Int @@ -1673,14 +1512,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgInviteFilter + where: WebauthnCredentialsModuleFilter - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgInviteConnection! + """The method to use when ordering `WebauthnCredentialsModule`.""" + orderBy: [WebauthnCredentialsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnCredentialsModuleConnection - """Reads and enables pagination through a set of `OrgInvite`.""" - orgInvitesBySenderId( + """Reads and enables pagination through a set of `OrgAdminGrant`.""" + orgAdminGrants( """Only read the first `n` values of the set.""" first: Int @@ -1702,14 +1541,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgInviteFilter + where: OrgAdminGrantFilter - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgInviteConnection! + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgAdminGrantConnection - """Reads and enables pagination through a set of `OrgClaimedInvite`.""" - orgClaimedInvitesByEntityId( + """Reads and enables pagination through a set of `OrgOwnerGrant`.""" + orgOwnerGrants( """Only read the first `n` values of the set.""" first: Int @@ -1731,14 +1570,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgClaimedInviteFilter + where: OrgOwnerGrantFilter - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteConnection! + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantConnection - """Reads and enables pagination through a set of `OrgClaimedInvite`.""" - orgClaimedInvitesByReceiverId( + """Reads and enables pagination through a set of `NodeTypeRegistry`.""" + nodeTypeRegistries( """Only read the first `n` values of the set.""" first: Int @@ -1760,14 +1599,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgClaimedInviteFilter + where: NodeTypeRegistryFilter - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteConnection! + """The method to use when ordering `NodeTypeRegistry`.""" + orderBy: [NodeTypeRegistryOrderBy!] = [PRIMARY_KEY_ASC] + ): NodeTypeRegistryConnection - """Reads and enables pagination through a set of `OrgClaimedInvite`.""" - orgClaimedInvitesBySenderId( + """Reads and enables pagination through a set of `AppLimitDefault`.""" + appLimitDefaults( """Only read the first `n` values of the set.""" first: Int @@ -1789,14 +1628,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: OrgClaimedInviteFilter + where: AppLimitDefaultFilter - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteConnection! + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitDefaultConnection - """Reads and enables pagination through a set of `AuditLog`.""" - auditLogsByActorId( + """Reads and enables pagination through a set of `OrgLimitDefault`.""" + orgLimitDefaults( """Only read the first `n` values of the set.""" first: Int @@ -1818,14 +1657,16 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AuditLogFilter + where: OrgLimitDefaultFilter - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] - ): AuditLogConnection! + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultConnection - """Reads and enables pagination through a set of `AgentThread`.""" - agentThreadsByEntityId( + """ + Reads and enables pagination through a set of `AppLimitCreditCodeItem`. + """ + appLimitCreditCodeItems( """Only read the first `n` values of the set.""" first: Int @@ -1847,14 +1688,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AgentThreadFilter + where: AppLimitCreditCodeItemFilter - """The method to use when ordering `AgentThread`.""" - orderBy: [AgentThreadOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentThreadConnection! + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemConnection - """Reads and enables pagination through a set of `AgentThread`.""" - ownedAgentThreads( + """Reads and enables pagination through a set of `UserConnectedAccount`.""" + userConnectedAccounts( """Only read the first `n` values of the set.""" first: Int @@ -1876,14 +1717,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AgentThreadFilter + where: UserConnectedAccountFilter - """The method to use when ordering `AgentThread`.""" - orderBy: [AgentThreadOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentThreadConnection! + """The method to use when ordering `UserConnectedAccount`.""" + orderBy: [UserConnectedAccountOrderBy!] = [NATURAL] + ): UserConnectedAccountConnection - """Reads and enables pagination through a set of `AgentMessage`.""" - ownedAgentMessages( + """Reads and enables pagination through a set of `Database`.""" + databases( """Only read the first `n` values of the set.""" first: Int @@ -1905,14 +1746,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AgentMessageFilter + where: DatabaseFilter - """The method to use when ordering `AgentMessage`.""" - orderBy: [AgentMessageOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentMessageConnection! + """The method to use when ordering `Database`.""" + orderBy: [DatabaseOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseConnection - """Reads and enables pagination through a set of `AgentTask`.""" - ownedAgentTasks( + """Reads and enables pagination through a set of `CryptoAddressesModule`.""" + cryptoAddressesModules( """Only read the first `n` values of the set.""" first: Int @@ -1934,70 +1775,14 @@ type User { """ A filter to be used in determining which values should be returned by the collection. """ - where: AgentTaskFilter - - """The method to use when ordering `AgentTask`.""" - orderBy: [AgentTaskOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentTaskConnection! - - """ - TSV rank when searching `searchTsv`. Returns null when no tsv search filter is active. - """ - searchTsvRank: Float - - """ - TRGM similarity when searching `displayName`. Returns null when no trgm search filter is active. - """ - displayNameTrgmSimilarity: Float - - """ - Composite search relevance score (0..1, higher = more relevant). Computed by normalizing and averaging all active search signals. Supports per-table weight customization via @searchConfig smart tag. Returns null when no search filters are active. - """ - searchScore: Float -} - -scalar ConstructiveInternalTypeImage - -"""A full-text search tsvector value represented as a string.""" -scalar FullText - -type RoleType { - id: Int! - name: String! -} - -"""A connection to a list of `Database` values.""" -type DatabaseConnection { - """A list of `Database` objects.""" - nodes: [Database]! - - """ - A list of edges which contains the `Database` and cursor to aid in pagination. - """ - edges: [DatabaseEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `Database` you could get from the connection.""" - totalCount: Int! -} - -type Database { - id: UUID! - ownerId: UUID - schemaHash: String - name: String - label: String - hash: UUID - createdAt: Datetime - updatedAt: Datetime + where: CryptoAddressesModuleFilter - """Reads a single `User` that is related to this `Database`.""" - owner: User + """The method to use when ordering `CryptoAddressesModule`.""" + orderBy: [CryptoAddressesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAddressesModuleConnection - """Reads and enables pagination through a set of `Schema`.""" - schemas( + """Reads and enables pagination through a set of `CryptoAddress`.""" + cryptoAddresses( """Only read the first `n` values of the set.""" first: Int @@ -2019,14 +1804,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SchemaFilter + where: CryptoAddressFilter - """The method to use when ordering `Schema`.""" - orderBy: [SchemaOrderBy!] = [PRIMARY_KEY_ASC] - ): SchemaConnection! + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAddressConnection - """Reads and enables pagination through a set of `Table`.""" - tables( + """Reads and enables pagination through a set of `AgentMessage`.""" + agentMessages( """Only read the first `n` values of the set.""" first: Int @@ -2048,14 +1833,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: TableFilter + where: AgentMessageFilter - """The method to use when ordering `Table`.""" - orderBy: [TableOrderBy!] = [PRIMARY_KEY_ASC] - ): TableConnection! + """The method to use when ordering `AgentMessage`.""" + orderBy: [AgentMessageOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentMessageConnection - """Reads and enables pagination through a set of `CheckConstraint`.""" - checkConstraints( + """Reads and enables pagination through a set of `Object`.""" + objects( """Only read the first `n` values of the set.""" first: Int @@ -2077,14 +1862,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: CheckConstraintFilter + where: ObjectFilter - """The method to use when ordering `CheckConstraint`.""" - orderBy: [CheckConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): CheckConstraintConnection! + """The method to use when ordering `Object`.""" + orderBy: [ObjectOrderBy!] = [PRIMARY_KEY_ASC] + ): ObjectConnection - """Reads and enables pagination through a set of `Field`.""" - fields( + """Reads and enables pagination through a set of `SiteMetadatum`.""" + siteMetadata( """Only read the first `n` values of the set.""" first: Int @@ -2106,14 +1891,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: FieldFilter + where: SiteMetadatumFilter - """The method to use when ordering `Field`.""" - orderBy: [FieldOrderBy!] = [PRIMARY_KEY_ASC] - ): FieldConnection! + """The method to use when ordering `SiteMetadatum`.""" + orderBy: [SiteMetadatumOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteMetadatumConnection - """Reads and enables pagination through a set of `ForeignKeyConstraint`.""" - foreignKeyConstraints( + """Reads and enables pagination through a set of `AppLevelRequirement`.""" + appLevelRequirements( """Only read the first `n` values of the set.""" first: Int @@ -2135,14 +1920,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ForeignKeyConstraintFilter + where: AppLevelRequirementFilter - """The method to use when ordering `ForeignKeyConstraint`.""" - orderBy: [ForeignKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): ForeignKeyConstraintConnection! + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLevelRequirementConnection - """Reads and enables pagination through a set of `FullTextSearch`.""" - fullTextSearches( + """Reads and enables pagination through a set of `AppLimitCredit`.""" + appLimitCredits( """Only read the first `n` values of the set.""" first: Int @@ -2164,14 +1949,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: FullTextSearchFilter + where: AppLimitCreditFilter - """The method to use when ordering `FullTextSearch`.""" - orderBy: [FullTextSearchOrderBy!] = [PRIMARY_KEY_ASC] - ): FullTextSearchConnection! + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditConnection - """Reads and enables pagination through a set of `Index`.""" - indices( + """Reads and enables pagination through a set of `OrgLimitCredit`.""" + orgLimitCredits( """Only read the first `n` values of the set.""" first: Int @@ -2193,14 +1978,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: IndexFilter + where: OrgLimitCreditFilter - """The method to use when ordering `Index`.""" - orderBy: [IndexOrderBy!] = [PRIMARY_KEY_ASC] - ): IndexConnection! + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCreditConnection - """Reads and enables pagination through a set of `Policy`.""" - policies( + """Reads and enables pagination through a set of `FullTextSearch`.""" + fullTextSearches( """Only read the first `n` values of the set.""" first: Int @@ -2222,14 +2007,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: PolicyFilter + where: FullTextSearchFilter - """The method to use when ordering `Policy`.""" - orderBy: [PolicyOrderBy!] = [PRIMARY_KEY_ASC] - ): PolicyConnection! + """The method to use when ordering `FullTextSearch`.""" + orderBy: [FullTextSearchOrderBy!] = [PRIMARY_KEY_ASC] + ): FullTextSearchConnection - """Reads and enables pagination through a set of `PrimaryKeyConstraint`.""" - primaryKeyConstraints( + """Reads and enables pagination through a set of `TableGrant`.""" + tableGrants( """Only read the first `n` values of the set.""" first: Int @@ -2251,14 +2036,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: PrimaryKeyConstraintFilter + where: TableGrantFilter - """The method to use when ordering `PrimaryKeyConstraint`.""" - orderBy: [PrimaryKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): PrimaryKeyConstraintConnection! + """The method to use when ordering `TableGrant`.""" + orderBy: [TableGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): TableGrantConnection - """Reads and enables pagination through a set of `SchemaGrant`.""" - schemaGrants( + """Reads and enables pagination through a set of `Commit`.""" + commits( """Only read the first `n` values of the set.""" first: Int @@ -2280,14 +2065,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SchemaGrantFilter + where: CommitFilter - """The method to use when ordering `SchemaGrant`.""" - orderBy: [SchemaGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): SchemaGrantConnection! + """The method to use when ordering `Commit`.""" + orderBy: [CommitOrderBy!] = [PRIMARY_KEY_ASC] + ): CommitConnection - """Reads and enables pagination through a set of `TableGrant`.""" - tableGrants( + """Reads and enables pagination through a set of `PubkeySetting`.""" + pubkeySettings( """Only read the first `n` values of the set.""" first: Int @@ -2309,14 +2094,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: TableGrantFilter + where: PubkeySettingFilter - """The method to use when ordering `TableGrant`.""" - orderBy: [TableGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): TableGrantConnection! + """The method to use when ordering `PubkeySetting`.""" + orderBy: [PubkeySettingOrderBy!] = [PRIMARY_KEY_ASC] + ): PubkeySettingConnection - """Reads and enables pagination through a set of `TriggerFunction`.""" - triggerFunctions( + """Reads and enables pagination through a set of `RateLimitsModule`.""" + rateLimitsModules( """Only read the first `n` values of the set.""" first: Int @@ -2338,14 +2123,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: TriggerFunctionFilter + where: RateLimitsModuleFilter - """The method to use when ordering `TriggerFunction`.""" - orderBy: [TriggerFunctionOrderBy!] = [PRIMARY_KEY_ASC] - ): TriggerFunctionConnection! + """The method to use when ordering `RateLimitsModule`.""" + orderBy: [RateLimitsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): RateLimitsModuleConnection - """Reads and enables pagination through a set of `Trigger`.""" - triggers( + """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" + orgChartEdgeGrants( """Only read the first `n` values of the set.""" first: Int @@ -2367,14 +2152,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: TriggerFilter + where: OrgChartEdgeGrantFilter - """The method to use when ordering `Trigger`.""" - orderBy: [TriggerOrderBy!] = [PRIMARY_KEY_ASC] - ): TriggerConnection! + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantConnection - """Reads and enables pagination through a set of `UniqueConstraint`.""" - uniqueConstraints( + """Reads and enables pagination through a set of `PhoneNumber`.""" + phoneNumbers( """Only read the first `n` values of the set.""" first: Int @@ -2396,14 +2181,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: UniqueConstraintFilter + where: PhoneNumberFilter - """The method to use when ordering `UniqueConstraint`.""" - orderBy: [UniqueConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): UniqueConstraintConnection! + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] + ): PhoneNumberConnection - """Reads and enables pagination through a set of `View`.""" - views( + """Reads and enables pagination through a set of `AppClaimedInvite`.""" + appClaimedInvites( """Only read the first `n` values of the set.""" first: Int @@ -2425,14 +2210,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ViewFilter + where: AppClaimedInviteFilter - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewConnection! + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppClaimedInviteConnection - """Reads and enables pagination through a set of `ViewGrant`.""" - viewGrants( + """Reads and enables pagination through a set of `AppMembershipDefault`.""" + appMembershipDefaults( """Only read the first `n` values of the set.""" first: Int @@ -2454,14 +2239,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ViewGrantFilter + where: AppMembershipDefaultFilter - """The method to use when ordering `ViewGrant`.""" - orderBy: [ViewGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewGrantConnection! + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultConnection - """Reads and enables pagination through a set of `ViewRule`.""" - viewRules( + """Reads and enables pagination through a set of `OrgMembershipDefault`.""" + orgMembershipDefaults( """Only read the first `n` values of the set.""" first: Int @@ -2483,14 +2268,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ViewRuleFilter + where: OrgMembershipDefaultFilter - """The method to use when ordering `ViewRule`.""" - orderBy: [ViewRuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewRuleConnection! + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultConnection - """Reads and enables pagination through a set of `DefaultPrivilege`.""" - defaultPrivileges( + """Reads and enables pagination through a set of `AuditLog`.""" + auditLogs( """Only read the first `n` values of the set.""" first: Int @@ -2512,14 +2297,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: DefaultPrivilegeFilter + where: AuditLogFilter - """The method to use when ordering `DefaultPrivilege`.""" - orderBy: [DefaultPrivilegeOrderBy!] = [PRIMARY_KEY_ASC] - ): DefaultPrivilegeConnection! + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] + ): AuditLogConnection - """Reads and enables pagination through a set of `Enum`.""" - enums( + """Reads and enables pagination through a set of `Domain`.""" + domains( """Only read the first `n` values of the set.""" first: Int @@ -2541,14 +2326,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: EnumFilter + where: DomainFilter - """The method to use when ordering `Enum`.""" - orderBy: [EnumOrderBy!] = [PRIMARY_KEY_ASC] - ): EnumConnection! + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] + ): DomainConnection - """Reads and enables pagination through a set of `EmbeddingChunk`.""" - embeddingChunks( + """Reads and enables pagination through a set of `RlsSetting`.""" + rlsSettings( """Only read the first `n` values of the set.""" first: Int @@ -2570,14 +2355,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: EmbeddingChunkFilter + where: RlsSettingFilter - """The method to use when ordering `EmbeddingChunk`.""" - orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] - ): EmbeddingChunkConnection! + """The method to use when ordering `RlsSetting`.""" + orderBy: [RlsSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): RlsSettingConnection - """Reads and enables pagination through a set of `SpatialRelation`.""" - spatialRelations( + """Reads and enables pagination through a set of `AgentTask`.""" + agentTasks( """Only read the first `n` values of the set.""" first: Int @@ -2599,14 +2384,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SpatialRelationFilter + where: AgentTaskFilter - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] - ): SpatialRelationConnection! + """The method to use when ordering `AgentTask`.""" + orderBy: [AgentTaskOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentTaskConnection - """Reads and enables pagination through a set of `DatabaseTransfer`.""" - databaseTransfers( + """Reads and enables pagination through a set of `AgentThread`.""" + agentThreads( """Only read the first `n` values of the set.""" first: Int @@ -2628,14 +2413,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: DatabaseTransferFilter + where: AgentThreadFilter - """The method to use when ordering `DatabaseTransfer`.""" - orderBy: [DatabaseTransferOrderBy!] = [PRIMARY_KEY_ASC] - ): DatabaseTransferConnection! + """The method to use when ordering `AgentThread`.""" + orderBy: [AgentThreadOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentThreadConnection - """Reads and enables pagination through a set of `Api`.""" - apis( + """Reads and enables pagination through a set of `Email`.""" + emails( """Only read the first `n` values of the set.""" first: Int @@ -2657,14 +2442,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ApiFilter + where: EmailFilter - """The method to use when ordering `Api`.""" - orderBy: [ApiOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiConnection! + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] + ): EmailConnection - """Reads and enables pagination through a set of `ApiModule`.""" - apiModules( + """Reads and enables pagination through a set of `AppGrant`.""" + appGrants( """Only read the first `n` values of the set.""" first: Int @@ -2686,14 +2471,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ApiModuleFilter + where: AppGrantFilter - """The method to use when ordering `ApiModule`.""" - orderBy: [ApiModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiModuleConnection! + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppGrantConnection - """Reads and enables pagination through a set of `ApiSchema`.""" - apiSchemas( + """Reads and enables pagination through a set of `OrgClaimedInvite`.""" + orgClaimedInvites( """Only read the first `n` values of the set.""" first: Int @@ -2715,14 +2500,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ApiSchemaFilter + where: OrgClaimedInviteFilter - """The method to use when ordering `ApiSchema`.""" - orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiSchemaConnection! + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteConnection - """Reads and enables pagination through a set of `Site`.""" - sites( + """Reads and enables pagination through a set of `AppLimitEvent`.""" + appLimitEvents( """Only read the first `n` values of the set.""" first: Int @@ -2744,14 +2529,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SiteFilter + where: AppLimitEventFilter - """The method to use when ordering `Site`.""" - orderBy: [SiteOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteConnection! + """The method to use when ordering `AppLimitEvent`.""" + orderBy: [AppLimitEventOrderBy!] = [NATURAL] + ): AppLimitEventConnection - """Reads and enables pagination through a set of `App`.""" - apps( + """Reads and enables pagination through a set of `OrgLimitEvent`.""" + orgLimitEvents( """Only read the first `n` values of the set.""" first: Int @@ -2773,14 +2558,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: AppFilter + where: OrgLimitEventFilter - """The method to use when ordering `App`.""" - orderBy: [AppOrderBy!] = [PRIMARY_KEY_ASC] - ): AppConnection! + """The method to use when ordering `OrgLimitEvent`.""" + orderBy: [OrgLimitEventOrderBy!] = [NATURAL] + ): OrgLimitEventConnection - """Reads and enables pagination through a set of `Domain`.""" - domains( + """Reads and enables pagination through a set of `OrgChartEdge`.""" + orgChartEdges( """Only read the first `n` values of the set.""" first: Int @@ -2802,14 +2587,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: DomainFilter + where: OrgChartEdgeFilter - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] - ): DomainConnection! + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeConnection - """Reads and enables pagination through a set of `SiteMetadatum`.""" - siteMetadata( + """Reads and enables pagination through a set of `Partition`.""" + partitions( """Only read the first `n` values of the set.""" first: Int @@ -2831,14 +2616,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SiteMetadatumFilter + where: PartitionFilter - """The method to use when ordering `SiteMetadatum`.""" - orderBy: [SiteMetadatumOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteMetadatumConnection! + """The method to use when ordering `Partition`.""" + orderBy: [PartitionOrderBy!] = [PRIMARY_KEY_ASC] + ): PartitionConnection - """Reads and enables pagination through a set of `SiteModule`.""" - siteModules( + """Reads and enables pagination through a set of `BlueprintConstruction`.""" + blueprintConstructions( """Only read the first `n` values of the set.""" first: Int @@ -2860,14 +2645,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SiteModuleFilter + where: BlueprintConstructionFilter - """The method to use when ordering `SiteModule`.""" - orderBy: [SiteModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteModuleConnection! + """The method to use when ordering `BlueprintConstruction`.""" + orderBy: [BlueprintConstructionOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintConstructionConnection - """Reads and enables pagination through a set of `SiteTheme`.""" - siteThemes( + """Reads and enables pagination through a set of `RlsModule`.""" + rlsModules( """Only read the first `n` values of the set.""" first: Int @@ -2889,16 +2674,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SiteThemeFilter + where: RlsModuleFilter - """The method to use when ordering `SiteTheme`.""" - orderBy: [SiteThemeOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteThemeConnection! + """The method to use when ordering `RlsModule`.""" + orderBy: [RlsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): RlsModuleConnection - """ - Reads and enables pagination through a set of `ConnectedAccountsModule`. - """ - connectedAccountsModules( + """Reads and enables pagination through a set of `SessionsModule`.""" + sessionsModules( """Only read the first `n` values of the set.""" first: Int @@ -2920,14 +2703,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ConnectedAccountsModuleFilter + where: SessionsModuleFilter - """The method to use when ordering `ConnectedAccountsModule`.""" - orderBy: [ConnectedAccountsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ConnectedAccountsModuleConnection! + """The method to use when ordering `SessionsModule`.""" + orderBy: [SessionsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionsModuleConnection - """Reads and enables pagination through a set of `CryptoAddressesModule`.""" - cryptoAddressesModules( + """Reads and enables pagination through a set of `OrgGrant`.""" + orgGrants( """Only read the first `n` values of the set.""" first: Int @@ -2949,14 +2732,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: CryptoAddressesModuleFilter + where: OrgGrantFilter - """The method to use when ordering `CryptoAddressesModule`.""" - orderBy: [CryptoAddressesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAddressesModuleConnection! + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgGrantConnection - """Reads and enables pagination through a set of `CryptoAuthModule`.""" - cryptoAuthModules( + """Reads and enables pagination through a set of `AppLevel`.""" + appLevels( """Only read the first `n` values of the set.""" first: Int @@ -2978,14 +2761,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: CryptoAuthModuleFilter + where: AppLevelFilter - """The method to use when ordering `CryptoAuthModule`.""" - orderBy: [CryptoAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAuthModuleConnection! + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLevelConnection - """Reads and enables pagination through a set of `DefaultIdsModule`.""" - defaultIdsModules( + """Reads and enables pagination through a set of `DatabaseSetting`.""" + databaseSettings( """Only read the first `n` values of the set.""" first: Int @@ -3007,16 +2790,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: DefaultIdsModuleFilter + where: DatabaseSettingFilter - """The method to use when ordering `DefaultIdsModule`.""" - orderBy: [DefaultIdsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): DefaultIdsModuleConnection! + """The method to use when ordering `DatabaseSetting`.""" + orderBy: [DatabaseSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseSettingConnection - """ - Reads and enables pagination through a set of `DenormalizedTableField`. - """ - denormalizedTableFields( + """Reads and enables pagination through a set of `Blueprint`.""" + blueprints( """Only read the first `n` values of the set.""" first: Int @@ -3038,14 +2819,16 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: DenormalizedTableFieldFilter + where: BlueprintFilter - """The method to use when ordering `DenormalizedTableField`.""" - orderBy: [DenormalizedTableFieldOrderBy!] = [PRIMARY_KEY_ASC] - ): DenormalizedTableFieldConnection! + """The method to use when ordering `Blueprint`.""" + orderBy: [BlueprintOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintConnection - """Reads and enables pagination through a set of `EmailsModule`.""" - emailsModules( + """ + Reads and enables pagination through a set of `DenormalizedTableField`. + """ + denormalizedTableFields( """Only read the first `n` values of the set.""" first: Int @@ -3067,16 +2850,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: EmailsModuleFilter + where: DenormalizedTableFieldFilter - """The method to use when ordering `EmailsModule`.""" - orderBy: [EmailsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): EmailsModuleConnection! + """The method to use when ordering `DenormalizedTableField`.""" + orderBy: [DenormalizedTableFieldOrderBy!] = [PRIMARY_KEY_ASC] + ): DenormalizedTableFieldConnection - """ - Reads and enables pagination through a set of `EncryptedSecretsModule`. - """ - encryptedSecretsModules( + """Reads and enables pagination through a set of `ApiSetting`.""" + apiSettings( """Only read the first `n` values of the set.""" first: Int @@ -3098,14 +2879,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: EncryptedSecretsModuleFilter + where: ApiSettingFilter - """The method to use when ordering `EncryptedSecretsModule`.""" - orderBy: [EncryptedSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): EncryptedSecretsModuleConnection! + """The method to use when ordering `ApiSetting`.""" + orderBy: [ApiSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiSettingConnection - """Reads and enables pagination through a set of `InvitesModule`.""" - invitesModules( + """Reads and enables pagination through a set of `PlansModule`.""" + plansModules( """Only read the first `n` values of the set.""" first: Int @@ -3127,14 +2908,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: InvitesModuleFilter + where: PlansModuleFilter - """The method to use when ordering `InvitesModule`.""" - orderBy: [InvitesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): InvitesModuleConnection! + """The method to use when ordering `PlansModule`.""" + orderBy: [PlansModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): PlansModuleConnection - """Reads and enables pagination through a set of `LevelsModule`.""" - levelsModules( + """Reads and enables pagination through a set of `OrgMemberProfile`.""" + orgMemberProfiles( """Only read the first `n` values of the set.""" first: Int @@ -3156,14 +2937,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: LevelsModuleFilter + where: OrgMemberProfileFilter - """The method to use when ordering `LevelsModule`.""" - orderBy: [LevelsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): LevelsModuleConnection! + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberProfileConnection - """Reads and enables pagination through a set of `LimitsModule`.""" - limitsModules( + """Reads and enables pagination through a set of `SqlAction`.""" + sqlActions( """Only read the first `n` values of the set.""" first: Int @@ -3185,14 +2966,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: LimitsModuleFilter + where: SqlActionFilter - """The method to use when ordering `LimitsModule`.""" - orderBy: [LimitsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): LimitsModuleConnection! + """The method to use when ordering `SqlAction`.""" + orderBy: [SqlActionOrderBy!] = [NATURAL] + ): SqlActionConnection - """Reads and enables pagination through a set of `MembershipTypesModule`.""" - membershipTypesModules( + """Reads and enables pagination through a set of `AppLimit`.""" + appLimits( """Only read the first `n` values of the set.""" first: Int @@ -3214,14 +2995,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: MembershipTypesModuleFilter + where: AppLimitFilter - """The method to use when ordering `MembershipTypesModule`.""" - orderBy: [MembershipTypesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): MembershipTypesModuleConnection! + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitConnection - """Reads and enables pagination through a set of `MembershipsModule`.""" - membershipsModules( + """Reads and enables pagination through a set of `DatabaseTransfer`.""" + databaseTransfers( """Only read the first `n` values of the set.""" first: Int @@ -3243,14 +3024,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: MembershipsModuleFilter + where: DatabaseTransferFilter - """The method to use when ordering `MembershipsModule`.""" - orderBy: [MembershipsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): MembershipsModuleConnection! + """The method to use when ordering `DatabaseTransfer`.""" + orderBy: [DatabaseTransferOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseTransferConnection - """Reads and enables pagination through a set of `PermissionsModule`.""" - permissionsModules( + """Reads and enables pagination through a set of `BillingModule`.""" + billingModules( """Only read the first `n` values of the set.""" first: Int @@ -3272,14 +3053,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: PermissionsModuleFilter + where: BillingModuleFilter - """The method to use when ordering `PermissionsModule`.""" - orderBy: [PermissionsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): PermissionsModuleConnection! + """The method to use when ordering `BillingModule`.""" + orderBy: [BillingModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): BillingModuleConnection - """Reads and enables pagination through a set of `PhoneNumbersModule`.""" - phoneNumbersModules( + """Reads and enables pagination through a set of `CryptoAuthModule`.""" + cryptoAuthModules( """Only read the first `n` values of the set.""" first: Int @@ -3301,14 +3082,16 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: PhoneNumbersModuleFilter + where: CryptoAuthModuleFilter - """The method to use when ordering `PhoneNumbersModule`.""" - orderBy: [PhoneNumbersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): PhoneNumbersModuleConnection! + """The method to use when ordering `CryptoAuthModule`.""" + orderBy: [CryptoAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAuthModuleConnection - """Reads and enables pagination through a set of `ProfilesModule`.""" - profilesModules( + """ + Reads and enables pagination through a set of `DatabaseProvisionModule`. + """ + databaseProvisionModules( """Only read the first `n` values of the set.""" first: Int @@ -3330,17 +3113,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: ProfilesModuleFilter - - """The method to use when ordering `ProfilesModule`.""" - orderBy: [ProfilesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ProfilesModuleConnection! + where: DatabaseProvisionModuleFilter - """Reads a single `RlsModule` that is related to this `Database`.""" - rlsModule: RlsModule + """The method to use when ordering `DatabaseProvisionModule`.""" + orderBy: [DatabaseProvisionModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseProvisionModuleConnection - """Reads and enables pagination through a set of `SecretsModule`.""" - secretsModules( + """Reads and enables pagination through a set of `InvitesModule`.""" + invitesModules( """Only read the first `n` values of the set.""" first: Int @@ -3362,14 +3142,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SecretsModuleFilter + where: InvitesModuleFilter - """The method to use when ordering `SecretsModule`.""" - orderBy: [SecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SecretsModuleConnection! + """The method to use when ordering `InvitesModule`.""" + orderBy: [InvitesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): InvitesModuleConnection - """Reads and enables pagination through a set of `SessionsModule`.""" - sessionsModules( + """Reads and enables pagination through a set of `SecureTableProvision`.""" + secureTableProvisions( """Only read the first `n` values of the set.""" first: Int @@ -3391,14 +3171,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SessionsModuleFilter + where: SecureTableProvisionFilter - """The method to use when ordering `SessionsModule`.""" - orderBy: [SessionsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionsModuleConnection! + """The method to use when ordering `SecureTableProvision`.""" + orderBy: [SecureTableProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): SecureTableProvisionConnection - """Reads and enables pagination through a set of `UserAuthModule`.""" - userAuthModules( + """Reads and enables pagination through a set of `AstMigration`.""" + astMigrations( """Only read the first `n` values of the set.""" first: Int @@ -3420,14 +3200,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: UserAuthModuleFilter + where: AstMigrationFilter - """The method to use when ordering `UserAuthModule`.""" - orderBy: [UserAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): UserAuthModuleConnection! + """The method to use when ordering `AstMigration`.""" + orderBy: [AstMigrationOrderBy!] = [NATURAL] + ): AstMigrationConnection - """Reads and enables pagination through a set of `UsersModule`.""" - usersModules( + """Reads and enables pagination through a set of `OrgLimitAggregate`.""" + orgLimitAggregates( """Only read the first `n` values of the set.""" first: Int @@ -3449,17 +3229,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: UsersModuleFilter - - """The method to use when ordering `UsersModule`.""" - orderBy: [UsersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): UsersModuleConnection! + where: OrgLimitAggregateFilter - """Reads a single `HierarchyModule` that is related to this `Database`.""" - hierarchyModule: HierarchyModule + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateConnection - """Reads and enables pagination through a set of `SecureTableProvision`.""" - secureTableProvisions( + """Reads and enables pagination through a set of `OrgLimit`.""" + orgLimits( """Only read the first `n` values of the set.""" first: Int @@ -3481,14 +3258,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SecureTableProvisionFilter + where: OrgLimitFilter - """The method to use when ordering `SecureTableProvision`.""" - orderBy: [SecureTableProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): SecureTableProvisionConnection! + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitConnection - """Reads and enables pagination through a set of `RelationProvision`.""" - relationProvisions( + """Reads and enables pagination through a set of `Enum`.""" + enums( """Only read the first `n` values of the set.""" first: Int @@ -3510,14 +3287,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: RelationProvisionFilter + where: EnumFilter - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): RelationProvisionConnection! + """The method to use when ordering `Enum`.""" + orderBy: [EnumOrderBy!] = [PRIMARY_KEY_ASC] + ): EnumConnection - """Reads and enables pagination through a set of `Blueprint`.""" - blueprints( + """Reads and enables pagination through a set of `User`.""" + users( """Only read the first `n` values of the set.""" first: Int @@ -3539,14 +3316,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: BlueprintFilter + where: UserFilter - """The method to use when ordering `Blueprint`.""" - orderBy: [BlueprintOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintConnection! + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!] = [PRIMARY_KEY_ASC] + ): UserConnection - """Reads and enables pagination through a set of `BlueprintConstruction`.""" - blueprintConstructions( + """Reads and enables pagination through a set of `View`.""" + views( """Only read the first `n` values of the set.""" first: Int @@ -3568,14 +3345,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: BlueprintConstructionFilter + where: ViewFilter - """The method to use when ordering `BlueprintConstruction`.""" - orderBy: [BlueprintConstructionOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintConstructionConnection! + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewConnection - """Reads and enables pagination through a set of `StorageModule`.""" - storageModules( + """Reads and enables pagination through a set of `WebauthnAuthModule`.""" + webauthnAuthModules( """Only read the first `n` values of the set.""" first: Int @@ -3597,14 +3374,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: StorageModuleFilter + where: WebauthnAuthModuleFilter - """The method to use when ordering `StorageModule`.""" - orderBy: [StorageModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): StorageModuleConnection! + """The method to use when ordering `WebauthnAuthModule`.""" + orderBy: [WebauthnAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnAuthModuleConnection - """Reads and enables pagination through a set of `EntityTypeProvision`.""" - entityTypeProvisions( + """Reads and enables pagination through a set of `AppInvite`.""" + appInvites( """Only read the first `n` values of the set.""" first: Int @@ -3626,20 +3403,43 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: EntityTypeProvisionFilter + where: AppInviteFilter - """The method to use when ordering `EntityTypeProvision`.""" - orderBy: [EntityTypeProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): EntityTypeProvisionConnection! + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppInviteConnection - """Reads a single `RateLimitsModule` that is related to this `Database`.""" - rateLimitsModule: RateLimitsModule + """Reads and enables pagination through a set of `OrgMembershipSetting`.""" + orgMembershipSettings( + """Only read the first `n` values of the set.""" + first: Int - """Reads a single `DevicesModule` that is related to this `Database`.""" - devicesModule: DevicesModule + """Only read the last `n` values of the set.""" + last: Int - """Reads and enables pagination through a set of `SessionSecretsModule`.""" - sessionSecretsModules( + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMembershipSettingFilter + + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingConnection + + """Reads and enables pagination through a set of `App`.""" + apps( """Only read the first `n` values of the set.""" first: Int @@ -3661,16 +3461,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: SessionSecretsModuleFilter + where: AppFilter - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleConnection! + """The method to use when ordering `App`.""" + orderBy: [AppOrderBy!] = [PRIMARY_KEY_ASC] + ): AppConnection - """ - Reads and enables pagination through a set of `WebauthnCredentialsModule`. - """ - webauthnCredentialsModules( + """Reads and enables pagination through a set of `Site`.""" + sites( """Only read the first `n` values of the set.""" first: Int @@ -3692,14 +3490,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: WebauthnCredentialsModuleFilter + where: SiteFilter - """The method to use when ordering `WebauthnCredentialsModule`.""" - orderBy: [WebauthnCredentialsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnCredentialsModuleConnection! + """The method to use when ordering `Site`.""" + orderBy: [SiteOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteConnection - """Reads and enables pagination through a set of `WebauthnAuthModule`.""" - webauthnAuthModules( + """Reads and enables pagination through a set of `NotificationsModule`.""" + notificationsModules( """Only read the first `n` values of the set.""" first: Int @@ -3721,16 +3519,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: WebauthnAuthModuleFilter + where: NotificationsModuleFilter - """The method to use when ordering `WebauthnAuthModule`.""" - orderBy: [WebauthnAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnAuthModuleConnection! + """The method to use when ordering `NotificationsModule`.""" + orderBy: [NotificationsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): NotificationsModuleConnection - """ - Reads and enables pagination through a set of `IdentityProvidersModule`. - """ - identityProvidersModules( + """Reads and enables pagination through a set of `PermissionsModule`.""" + permissionsModules( """Only read the first `n` values of the set.""" first: Int @@ -3752,14 +3548,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: IdentityProvidersModuleFilter + where: PermissionsModuleFilter - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleConnection! + """The method to use when ordering `PermissionsModule`.""" + orderBy: [PermissionsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): PermissionsModuleConnection - """Reads and enables pagination through a set of `NotificationsModule`.""" - notificationsModules( + """Reads and enables pagination through a set of `WebauthnCredential`.""" + webauthnCredentials( """Only read the first `n` values of the set.""" first: Int @@ -3781,22 +3577,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: NotificationsModuleFilter - - """The method to use when ordering `NotificationsModule`.""" - orderBy: [NotificationsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): NotificationsModuleConnection! - - """Reads a single `PlansModule` that is related to this `Database`.""" - plansModule: PlansModule + where: WebauthnCredentialFilter - """Reads a single `BillingModule` that is related to this `Database`.""" - billingModule: BillingModule + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnCredentialConnection - """ - Reads and enables pagination through a set of `DatabaseProvisionModule`. - """ - databaseProvisionModules( + """Reads and enables pagination through a set of `PrimaryKeyConstraint`.""" + primaryKeyConstraints( """Only read the first `n` values of the set.""" first: Int @@ -3818,51 +3606,14 @@ type Database { """ A filter to be used in determining which values should be returned by the collection. """ - where: DatabaseProvisionModuleFilter - - """The method to use when ordering `DatabaseProvisionModule`.""" - orderBy: [DatabaseProvisionModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): DatabaseProvisionModuleConnection! -} - -"""A connection to a list of `Schema` values.""" -type SchemaConnection { - """A list of `Schema` objects.""" - nodes: [Schema]! - - """ - A list of edges which contains the `Schema` and cursor to aid in pagination. - """ - edges: [SchemaEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `Schema` you could get from the connection.""" - totalCount: Int! -} - -type Schema { - id: UUID! - databaseId: UUID! - name: String! - schemaName: String! - label: String - description: String - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - isPublic: Boolean! - createdAt: Datetime - updatedAt: Datetime + where: PrimaryKeyConstraintFilter - """Reads a single `Database` that is related to this `Schema`.""" - database: Database + """The method to use when ordering `PrimaryKeyConstraint`.""" + orderBy: [PrimaryKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): PrimaryKeyConstraintConnection - """Reads and enables pagination through a set of `Table`.""" - tables( + """Reads and enables pagination through a set of `Trigger`.""" + triggers( """Only read the first `n` values of the set.""" first: Int @@ -3884,14 +3635,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: TableFilter + where: TriggerFilter - """The method to use when ordering `Table`.""" - orderBy: [TableOrderBy!] = [PRIMARY_KEY_ASC] - ): TableConnection! + """The method to use when ordering `Trigger`.""" + orderBy: [TriggerOrderBy!] = [PRIMARY_KEY_ASC] + ): TriggerConnection - """Reads and enables pagination through a set of `SchemaGrant`.""" - schemaGrants( + """Reads and enables pagination through a set of `CheckConstraint`.""" + checkConstraints( """Only read the first `n` values of the set.""" first: Int @@ -3913,14 +3664,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: SchemaGrantFilter + where: CheckConstraintFilter - """The method to use when ordering `SchemaGrant`.""" - orderBy: [SchemaGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): SchemaGrantConnection! + """The method to use when ordering `CheckConstraint`.""" + orderBy: [CheckConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): CheckConstraintConnection - """Reads and enables pagination through a set of `View`.""" - views( + """Reads and enables pagination through a set of `UniqueConstraint`.""" + uniqueConstraints( """Only read the first `n` values of the set.""" first: Int @@ -3942,14 +3693,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: ViewFilter + where: UniqueConstraintFilter - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewConnection! + """The method to use when ordering `UniqueConstraint`.""" + orderBy: [UniqueConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): UniqueConstraintConnection - """Reads and enables pagination through a set of `DefaultPrivilege`.""" - defaultPrivileges( + """Reads and enables pagination through a set of `SpatialRelation`.""" + spatialRelations( """Only read the first `n` values of the set.""" first: Int @@ -3971,14 +3722,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: DefaultPrivilegeFilter + where: SpatialRelationFilter - """The method to use when ordering `DefaultPrivilege`.""" - orderBy: [DefaultPrivilegeOrderBy!] = [PRIMARY_KEY_ASC] - ): DefaultPrivilegeConnection! + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] + ): SpatialRelationConnection - """Reads and enables pagination through a set of `Enum`.""" - enums( + """Reads and enables pagination through a set of `Policy`.""" + policies( """Only read the first `n` values of the set.""" first: Int @@ -4000,14 +3751,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: EnumFilter + where: PolicyFilter - """The method to use when ordering `Enum`.""" - orderBy: [EnumOrderBy!] = [PRIMARY_KEY_ASC] - ): EnumConnection! + """The method to use when ordering `Policy`.""" + orderBy: [PolicyOrderBy!] = [PRIMARY_KEY_ASC] + ): PolicyConnection - """Reads and enables pagination through a set of `ApiSchema`.""" - apiSchemas( + """Reads and enables pagination through a set of `EmbeddingChunk`.""" + embeddingChunks( """Only read the first `n` values of the set.""" first: Int @@ -4029,14 +3780,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: ApiSchemaFilter + where: EmbeddingChunkFilter - """The method to use when ordering `ApiSchema`.""" - orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiSchemaConnection! + """The method to use when ordering `EmbeddingChunk`.""" + orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] + ): EmbeddingChunkConnection - """Reads and enables pagination through a set of `SessionSecretsModule`.""" - sessionSecretsModules( + """Reads and enables pagination through a set of `WebauthnSetting`.""" + webauthnSettings( """Only read the first `n` values of the set.""" first: Int @@ -4058,16 +3809,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: SessionSecretsModuleFilter + where: WebauthnSettingFilter - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleConnection! + """The method to use when ordering `WebauthnSetting`.""" + orderBy: [WebauthnSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnSettingConnection - """ - Reads and enables pagination through a set of `IdentityProvidersModule`. - """ - identityProvidersModulesByPrivateSchemaId( + """Reads and enables pagination through a set of `OrgInvite`.""" + orgInvites( """Only read the first `n` values of the set.""" first: Int @@ -4089,16 +3838,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: IdentityProvidersModuleFilter + where: OrgInviteFilter - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleConnection! + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgInviteConnection - """ - Reads and enables pagination through a set of `IdentityProvidersModule`. - """ - identityProvidersModules( + """Reads and enables pagination through a set of `AppMembership`.""" + appMemberships( """Only read the first `n` values of the set.""" first: Int @@ -4120,68 +3867,14 @@ type Schema { """ A filter to be used in determining which values should be returned by the collection. """ - where: IdentityProvidersModuleFilter - - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleConnection! -} - -enum ObjectCategory { - CORE - MODULE - APP -} - -"""A connection to a list of `Table` values.""" -type TableConnection { - """A list of `Table` objects.""" - nodes: [Table]! - - """ - A list of edges which contains the `Table` and cursor to aid in pagination. - """ - edges: [TableEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `Table` you could get from the connection.""" - totalCount: Int! -} - -type Table { - id: UUID! - databaseId: UUID! - schemaId: UUID! - name: String! - label: String - description: String - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - useRls: Boolean! - timestamps: Boolean! - peoplestamps: Boolean! - pluralName: String - singularName: String - tags: [String]! - inheritsId: UUID - createdAt: Datetime - updatedAt: Datetime - - """Reads a single `Database` that is related to this `Table`.""" - database: Database - - """Reads a single `Schema` that is related to this `Table`.""" - schema: Schema + where: AppMembershipFilter - """Reads a single `Table` that is related to this `Table`.""" - inherits: Table + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!] = [PRIMARY_KEY_ASC] + ): AppMembershipConnection - """Reads and enables pagination through a set of `CheckConstraint`.""" - checkConstraints( + """Reads and enables pagination through a set of `Schema`.""" + schemas( """Only read the first `n` values of the set.""" first: Int @@ -4203,14 +3896,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: CheckConstraintFilter + where: SchemaFilter - """The method to use when ordering `CheckConstraint`.""" - orderBy: [CheckConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): CheckConstraintConnection! + """The method to use when ordering `Schema`.""" + orderBy: [SchemaOrderBy!] = [PRIMARY_KEY_ASC] + ): SchemaConnection - """Reads and enables pagination through a set of `Field`.""" - fields( + """Reads and enables pagination through a set of `Index`.""" + indices( """Only read the first `n` values of the set.""" first: Int @@ -4232,14 +3925,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: FieldFilter + where: IndexFilter - """The method to use when ordering `Field`.""" - orderBy: [FieldOrderBy!] = [PRIMARY_KEY_ASC] - ): FieldConnection! + """The method to use when ordering `Index`.""" + orderBy: [IndexOrderBy!] = [PRIMARY_KEY_ASC] + ): IndexConnection - """Reads and enables pagination through a set of `ForeignKeyConstraint`.""" - foreignKeyConstraints( + """Reads and enables pagination through a set of `BillingProviderModule`.""" + billingProviderModules( """Only read the first `n` values of the set.""" first: Int @@ -4261,14 +3954,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: ForeignKeyConstraintFilter + where: BillingProviderModuleFilter - """The method to use when ordering `ForeignKeyConstraint`.""" - orderBy: [ForeignKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): ForeignKeyConstraintConnection! + """The method to use when ordering `BillingProviderModule`.""" + orderBy: [BillingProviderModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): BillingProviderModuleConnection - """Reads and enables pagination through a set of `FullTextSearch`.""" - fullTextSearches( + """Reads and enables pagination through a set of `BlueprintTemplate`.""" + blueprintTemplates( """Only read the first `n` values of the set.""" first: Int @@ -4290,14 +3983,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: FullTextSearchFilter + where: BlueprintTemplateFilter - """The method to use when ordering `FullTextSearch`.""" - orderBy: [FullTextSearchOrderBy!] = [PRIMARY_KEY_ASC] - ): FullTextSearchConnection! + """The method to use when ordering `BlueprintTemplate`.""" + orderBy: [BlueprintTemplateOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintTemplateConnection - """Reads and enables pagination through a set of `Index`.""" - indices( + """Reads and enables pagination through a set of `HierarchyModule`.""" + hierarchyModules( """Only read the first `n` values of the set.""" first: Int @@ -4319,14 +4012,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: IndexFilter + where: HierarchyModuleFilter - """The method to use when ordering `Index`.""" - orderBy: [IndexOrderBy!] = [PRIMARY_KEY_ASC] - ): IndexConnection! + """The method to use when ordering `HierarchyModule`.""" + orderBy: [HierarchyModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): HierarchyModuleConnection - """Reads and enables pagination through a set of `Policy`.""" - policies( + """Reads and enables pagination through a set of `ProfilesModule`.""" + profilesModules( """Only read the first `n` values of the set.""" first: Int @@ -4348,14 +4041,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: PolicyFilter + where: ProfilesModuleFilter - """The method to use when ordering `Policy`.""" - orderBy: [PolicyOrderBy!] = [PRIMARY_KEY_ASC] - ): PolicyConnection! + """The method to use when ordering `ProfilesModule`.""" + orderBy: [ProfilesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ProfilesModuleConnection - """Reads and enables pagination through a set of `PrimaryKeyConstraint`.""" - primaryKeyConstraints( + """Reads and enables pagination through a set of `OrgMembership`.""" + orgMemberships( """Only read the first `n` values of the set.""" first: Int @@ -4377,14 +4070,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: PrimaryKeyConstraintFilter + where: OrgMembershipFilter - """The method to use when ordering `PrimaryKeyConstraint`.""" - orderBy: [PrimaryKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): PrimaryKeyConstraintConnection! + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipConnection - """Reads and enables pagination through a set of `TableGrant`.""" - tableGrants( + """Reads and enables pagination through a set of `ForeignKeyConstraint`.""" + foreignKeyConstraints( """Only read the first `n` values of the set.""" first: Int @@ -4406,14 +4099,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: TableGrantFilter + where: ForeignKeyConstraintFilter - """The method to use when ordering `TableGrant`.""" - orderBy: [TableGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): TableGrantConnection! + """The method to use when ordering `ForeignKeyConstraint`.""" + orderBy: [ForeignKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): ForeignKeyConstraintConnection - """Reads and enables pagination through a set of `Trigger`.""" - triggers( + """Reads and enables pagination through a set of `Table`.""" + tables( """Only read the first `n` values of the set.""" first: Int @@ -4435,14 +4128,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: TriggerFilter + where: TableFilter - """The method to use when ordering `Trigger`.""" - orderBy: [TriggerOrderBy!] = [PRIMARY_KEY_ASC] - ): TriggerConnection! + """The method to use when ordering `Table`.""" + orderBy: [TableOrderBy!] = [PRIMARY_KEY_ASC] + ): TableConnection - """Reads and enables pagination through a set of `UniqueConstraint`.""" - uniqueConstraints( + """Reads and enables pagination through a set of `RelationProvision`.""" + relationProvisions( """Only read the first `n` values of the set.""" first: Int @@ -4464,14 +4157,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: UniqueConstraintFilter + where: RelationProvisionFilter - """The method to use when ordering `UniqueConstraint`.""" - orderBy: [UniqueConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): UniqueConstraintConnection! + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): RelationProvisionConnection - """Reads and enables pagination through a set of `View`.""" - views( + """Reads and enables pagination through a set of `EntityTypeProvision`.""" + entityTypeProvisions( """Only read the first `n` values of the set.""" first: Int @@ -4493,14 +4186,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: ViewFilter + where: EntityTypeProvisionFilter - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewConnection! + """The method to use when ordering `EntityTypeProvision`.""" + orderBy: [EntityTypeProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): EntityTypeProvisionConnection - """Reads and enables pagination through a set of `ViewTable`.""" - viewTables( + """Reads and enables pagination through a set of `LevelsModule`.""" + levelsModules( """Only read the first `n` values of the set.""" first: Int @@ -4522,14 +4215,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: ViewTableFilter + where: LevelsModuleFilter - """The method to use when ordering `ViewTable`.""" - orderBy: [ViewTableOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewTableConnection! + """The method to use when ordering `LevelsModule`.""" + orderBy: [LevelsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): LevelsModuleConnection - """Reads and enables pagination through a set of `EmbeddingChunk`.""" - embeddingChunksByChunksTableId( + """Reads and enables pagination through a set of `UserAuthModule`.""" + userAuthModules( """Only read the first `n` values of the set.""" first: Int @@ -4551,14 +4244,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: EmbeddingChunkFilter + where: UserAuthModuleFilter - """The method to use when ordering `EmbeddingChunk`.""" - orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] - ): EmbeddingChunkConnection! + """The method to use when ordering `UserAuthModule`.""" + orderBy: [UserAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): UserAuthModuleConnection - """Reads and enables pagination through a set of `EmbeddingChunk`.""" - embeddingChunks( + """Reads and enables pagination through a set of `Field`.""" + fields( """Only read the first `n` values of the set.""" first: Int @@ -4580,14 +4273,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: EmbeddingChunkFilter + where: FieldFilter - """The method to use when ordering `EmbeddingChunk`.""" - orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] - ): EmbeddingChunkConnection! + """The method to use when ordering `Field`.""" + orderBy: [FieldOrderBy!] = [PRIMARY_KEY_ASC] + ): FieldConnection - """Reads and enables pagination through a set of `SpatialRelation`.""" - spatialRelationsByRefTableId( + """Reads and enables pagination through a set of `LimitsModule`.""" + limitsModules( """Only read the first `n` values of the set.""" first: Int @@ -4609,14 +4302,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: SpatialRelationFilter + where: LimitsModuleFilter - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] - ): SpatialRelationConnection! + """The method to use when ordering `LimitsModule`.""" + orderBy: [LimitsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): LimitsModuleConnection - """Reads and enables pagination through a set of `SpatialRelation`.""" - spatialRelations( + """Reads and enables pagination through a set of `StorageModule`.""" + storageModules( """Only read the first `n` values of the set.""" first: Int @@ -4638,14 +4331,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: SpatialRelationFilter + where: StorageModuleFilter - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] - ): SpatialRelationConnection! + """The method to use when ordering `StorageModule`.""" + orderBy: [StorageModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): StorageModuleConnection - """Reads and enables pagination through a set of `SecureTableProvision`.""" - secureTableProvisions( + """Reads and enables pagination through a set of `MembershipsModule`.""" + membershipsModules( """Only read the first `n` values of the set.""" first: Int @@ -4667,52 +4360,367 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: SecureTableProvisionFilter + where: MembershipsModuleFilter - """The method to use when ordering `SecureTableProvision`.""" - orderBy: [SecureTableProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): SecureTableProvisionConnection! + """The method to use when ordering `MembershipsModule`.""" + orderBy: [MembershipsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): MembershipsModuleConnection - """Reads and enables pagination through a set of `RelationProvision`.""" - relationProvisionsBySourceTableId( - """Only read the first `n` values of the set.""" - first: Int + """ + Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + """ + _meta: MetaSchema +} - """Only read the last `n` values of the set.""" - last: Int +""" +A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). +""" +scalar UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""An IPv4 or IPv6 host address, and optionally its subnet.""" +scalar InternetAddress - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""A string representing a series of binary bits""" +scalar BitString - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""A connection to a list of `OrgGetManagersRecord` values.""" +type OrgGetManagersConnection { + """A list of `OrgGetManagersRecord` objects.""" + nodes: [OrgGetManagersRecord]! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RelationProvisionFilter + """ + A list of edges which contains the `OrgGetManagersRecord` and cursor to aid in pagination. + """ + edges: [OrgGetManagersEdge]! - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): RelationProvisionConnection! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Reads and enables pagination through a set of `RelationProvision`.""" - relationProvisionsByTargetTableId( - """Only read the first `n` values of the set.""" - first: Int + """ + The count of *all* `OrgGetManagersRecord` you could get from the connection. + """ + totalCount: Int! +} - """Only read the last `n` values of the set.""" - last: Int +type OrgGetManagersRecord { + userId: UUID + depth: Int +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. +"""A `OrgGetManagersRecord` edge in the connection.""" +type OrgGetManagersEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgGetManagersRecord` at the end of the edge.""" + node: OrgGetManagersRecord +} + +"""A location in a connection that can be used for resuming pagination.""" +scalar Cursor + +"""Information about pagination in a connection.""" +type PageInfo { + """When paginating forwards, are there more items?""" + hasNextPage: Boolean! + + """When paginating backwards, are there more items?""" + hasPreviousPage: Boolean! + + """When paginating backwards, the cursor to continue.""" + startCursor: Cursor + + """When paginating forwards, the cursor to continue.""" + endCursor: Cursor +} + +"""A connection to a list of `OrgGetSubordinatesRecord` values.""" +type OrgGetSubordinatesConnection { + """A list of `OrgGetSubordinatesRecord` objects.""" + nodes: [OrgGetSubordinatesRecord]! + + """ + A list of edges which contains the `OrgGetSubordinatesRecord` and cursor to aid in pagination. + """ + edges: [OrgGetSubordinatesEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """ + The count of *all* `OrgGetSubordinatesRecord` you could get from the connection. + """ + totalCount: Int! +} + +type OrgGetSubordinatesRecord { + userId: UUID + depth: Int +} + +"""A `OrgGetSubordinatesRecord` edge in the connection.""" +type OrgGetSubordinatesEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgGetSubordinatesRecord` at the end of the edge.""" + node: OrgGetSubordinatesRecord +} + +""" +Represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). +""" +scalar JSON + +"""A connection to a list of `GetAllRecord` values.""" +type GetAllConnection { + """A list of `GetAllRecord` objects.""" + nodes: [GetAllRecord]! + + """ + A list of edges which contains the `GetAllRecord` and cursor to aid in pagination. + """ + edges: [GetAllEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `GetAllRecord` you could get from the connection.""" + totalCount: Int! +} + +type GetAllRecord { + path: [String] + data: JSON +} + +"""A `GetAllRecord` edge in the connection.""" +type GetAllEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `GetAllRecord` at the end of the edge.""" + node: GetAllRecord +} + +"""A connection to a list of `AppPermission` values.""" +type AppPermissionConnection { + """A list of `AppPermission` objects.""" + nodes: [AppPermission]! + + """ + A list of edges which contains the `AppPermission` and cursor to aid in pagination. + """ + edges: [AppPermissionEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppPermission` you could get from the connection.""" + totalCount: Int! +} + +""" +Defines available permissions as named bits within a bitmask, used by the RBAC system for access control +""" +type AppPermission { + id: UUID! + + """Human-readable permission name (e.g. read, write, manage)""" + name: String + + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int + + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString! + + """Human-readable description of what this permission allows""" + description: String +} + +"""A `AppPermission` edge in the connection.""" +type AppPermissionEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppPermission` at the end of the edge.""" + node: AppPermission +} + +"""A connection to a list of `OrgPermission` values.""" +type OrgPermissionConnection { + """A list of `OrgPermission` objects.""" + nodes: [OrgPermission]! + + """ + A list of edges which contains the `OrgPermission` and cursor to aid in pagination. + """ + edges: [OrgPermissionEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgPermission` you could get from the connection.""" + totalCount: Int! +} + +""" +Defines available permissions as named bits within a bitmask, used by the RBAC system for access control +""" +type OrgPermission { + id: UUID! + + """Human-readable permission name (e.g. read, write, manage)""" + name: String + + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int + + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString! + + """Human-readable description of what this permission allows""" + description: String +} + +"""A `OrgPermission` edge in the connection.""" +type OrgPermissionEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgPermission` at the end of the edge.""" + node: OrgPermission +} + +"""A connection to a list of `Object` values.""" +type ObjectConnection { + """A list of `Object` objects.""" + nodes: [Object]! + + """ + A list of edges which contains the `Object` and cursor to aid in pagination. + """ + edges: [ObjectEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `Object` you could get from the connection.""" + totalCount: Int! +} + +type Object { + hashUuid: UUID + id: UUID! + databaseId: UUID! + kids: [UUID] + ktree: [String] + data: JSON + frzn: Boolean + createdAt: Datetime +} + +""" +A point in time as described by the [ISO +8601](https://en.wikipedia.org/wiki/ISO_8601) and, if it has a timezone, [RFC +3339](https://datatracker.ietf.org/doc/html/rfc3339) standards. Input values +that do not conform to both ISO 8601 and RFC 3339 may be coerced, which may lead +to unexpected results. +""" +scalar Datetime + +"""A `Object` edge in the connection.""" +type ObjectEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Object` at the end of the edge.""" + node: Object +} + +"""A connection to a list of `AppLevelRequirement` values.""" +type AppLevelRequirementConnection { + """A list of `AppLevelRequirement` objects.""" + nodes: [AppLevelRequirement]! + + """ + A list of edges which contains the `AppLevelRequirement` and cursor to aid in pagination. + """ + edges: [AppLevelRequirementEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """ + The count of *all* `AppLevelRequirement` you could get from the connection. + """ + totalCount: Int! +} + +"""Defines the specific requirements that must be met to achieve a level""" +type AppLevelRequirement { + id: UUID! + + """Name identifier of the requirement (matches step names)""" + name: String! + + """Name of the level this requirement belongs to""" + level: String! + + """Human-readable description of what this requirement entails""" + description: String + + """Number of steps needed to satisfy this requirement""" + requiredCount: Int! + + """Display ordering priority; lower values appear first""" + priority: Int! + createdAt: Datetime + updatedAt: Datetime +} + +"""A `AppLevelRequirement` edge in the connection.""" +type AppLevelRequirementEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppLevelRequirement` at the end of the edge.""" + node: AppLevelRequirement +} + +type User { + id: UUID! + username: String + displayName: String + profilePicture: ConstructiveInternalTypeImage + searchTsv: FullText + type: Int! + createdAt: Datetime + updatedAt: Datetime + + """Reads a single `RoleType` that is related to this `User`.""" + roleType: RoleType + + """Reads and enables pagination through a set of `Database`.""" + ownedDatabases( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. """ offset: Int @@ -4725,14 +4733,17 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: RelationProvisionFilter + where: DatabaseFilter - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): RelationProvisionConnection! + """The method to use when ordering `Database`.""" + orderBy: [DatabaseOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseConnection! - """Reads and enables pagination through a set of `SessionSecretsModule`.""" - sessionSecretsModulesBySessionsTableId( + """Reads a single `AppMembership` that is related to this `User`.""" + appMembershipByActorId: AppMembership + + """Reads and enables pagination through a set of `AppAdminGrant`.""" + appAdminGrantsByActorId( """Only read the first `n` values of the set.""" first: Int @@ -4754,14 +4765,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: SessionSecretsModuleFilter + where: AppAdminGrantFilter - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleConnection! + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAdminGrantConnection! - """Reads and enables pagination through a set of `SessionSecretsModule`.""" - sessionSecretsModules( + """Reads and enables pagination through a set of `AppAdminGrant`.""" + appAdminGrantsByGrantorId( """Only read the first `n` values of the set.""" first: Int @@ -4783,16 +4794,14 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: SessionSecretsModuleFilter + where: AppAdminGrantFilter - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleConnection! + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAdminGrantConnection! - """ - Reads and enables pagination through a set of `IdentityProvidersModule`. - """ - identityProvidersModules( + """Reads and enables pagination through a set of `AppOwnerGrant`.""" + appOwnerGrantsByActorId( """Only read the first `n` values of the set.""" first: Int @@ -4814,3999 +4823,4881 @@ type Table { """ A filter to be used in determining which values should be returned by the collection. """ - where: IdentityProvidersModuleFilter + where: AppOwnerGrantFilter - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleConnection! -} + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppOwnerGrantConnection! -"""A connection to a list of `CheckConstraint` values.""" -type CheckConstraintConnection { - """A list of `CheckConstraint` objects.""" - nodes: [CheckConstraint]! + """Reads and enables pagination through a set of `AppOwnerGrant`.""" + appOwnerGrantsByGrantorId( + """Only read the first `n` values of the set.""" + first: Int - """ - A list of edges which contains the `CheckConstraint` and cursor to aid in pagination. - """ - edges: [CheckConstraintEdge]! + """Only read the last `n` values of the set.""" + last: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - The count of *all* `CheckConstraint` you could get from the connection. - """ - totalCount: Int! -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -type CheckConstraint { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String - type: String - fieldIds: [UUID]! - expr: JSON - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Reads a single `Database` that is related to this `CheckConstraint`.""" - database: Database + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppOwnerGrantFilter - """Reads a single `Table` that is related to this `CheckConstraint`.""" - table: Table -} + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppOwnerGrantConnection! -"""A `CheckConstraint` edge in the connection.""" -type CheckConstraintEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads and enables pagination through a set of `AppGrant`.""" + appGrantsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """The `CheckConstraint` at the end of the edge.""" - node: CheckConstraint -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `CheckConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input CheckConstraintFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `name` field.""" - name: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppGrantFilter - """Filter by the object’s `type` field.""" - type: StringFilter + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppGrantConnection! - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """Reads and enables pagination through a set of `AppGrant`.""" + appGrantsByGrantorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `expr` field.""" - expr: JSONFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `module` field.""" - module: StringFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `scope` field.""" - scope: IntFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppGrantFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): AppGrantConnection! - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Reads and enables pagination through a set of `OrgMembership`.""" + orgMembershipsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [CheckConstraintFilter!] - - """Checks for any expressions in this list.""" - or: [CheckConstraintFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: CheckConstraintFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMembershipFilter -""" -A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ -""" -input UUIDFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipConnection! - """Equal to the specified value.""" - equalTo: UUID + """Reads and enables pagination through a set of `OrgMembership`.""" + orgMembershipsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Not equal to the specified value.""" - notEqualTo: UUID + """Only read the last `n` values of the set.""" + last: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Included in the specified list.""" - in: [UUID!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not included in the specified list.""" - notIn: [UUID!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMembershipFilter - """Less than the specified value.""" - lessThan: UUID + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMembershipConnection! - """Less than or equal to the specified value.""" - lessThanOrEqualTo: UUID + """Reads a single `OrgMembershipDefault` that is related to this `User`.""" + orgMembershipDefaultByEntityId: OrgMembershipDefault - """Greater than the specified value.""" - greaterThan: UUID + """Reads a single `OrgMembershipSetting` that is related to this `User`.""" + orgMembershipSettingByEntityId: OrgMembershipSetting - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: UUID -} + """Reads and enables pagination through a set of `OrgMember`.""" + orgMembersByActorId( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against String fields. All fields are combined with a logical ‘and.’ -""" -input StringFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value.""" - equalTo: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Not equal to the specified value.""" - notEqualTo: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMemberFilter - """Included in the specified list.""" - in: [String!] + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberConnection! - """Not included in the specified list.""" - notIn: [String!] + """Reads and enables pagination through a set of `OrgMember`.""" + orgMembersByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value.""" - lessThan: String + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value.""" - greaterThan: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Contains the specified string (case-sensitive).""" - includes: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMemberFilter - """Does not contain the specified string (case-sensitive).""" - notIncludes: String + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberConnection! - """Contains the specified string (case-insensitive).""" - includesInsensitive: String + """Reads and enables pagination through a set of `OrgAdminGrant`.""" + orgAdminGrantsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """Starts with the specified string (case-sensitive).""" - startsWith: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Does not start with the specified string (case-sensitive).""" - notStartsWith: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgAdminGrantFilter - """Ends with the specified string (case-sensitive).""" - endsWith: String + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgAdminGrantConnection! - """Does not end with the specified string (case-sensitive).""" - notEndsWith: String + """Reads and enables pagination through a set of `OrgAdminGrant`.""" + orgAdminGrantsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgAdminGrantFilter - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: String + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgAdminGrantConnection! - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + """Reads and enables pagination through a set of `OrgAdminGrant`.""" + orgAdminGrantsByGrantorId( + """Only read the first `n` values of the set.""" + first: Int - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgAdminGrantFilter - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgAdminGrantConnection! - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + """Reads and enables pagination through a set of `OrgOwnerGrant`.""" + orgOwnerGrantsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against UUID List fields. All fields are combined with a logical ‘and.’ -""" -input UUIDListFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value.""" - equalTo: [UUID] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not equal to the specified value.""" - notEqualTo: [UUID] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgOwnerGrantFilter - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: [UUID] + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantConnection! - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: [UUID] + """Reads and enables pagination through a set of `OrgOwnerGrant`.""" + orgOwnerGrantsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value.""" - lessThan: [UUID] + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: [UUID] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value.""" - greaterThan: [UUID] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: [UUID] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Contains the specified list of values.""" - contains: [UUID] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgOwnerGrantFilter - """Contained by the specified list of values.""" - containedBy: [UUID] + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantConnection! - """Overlaps the specified list of values.""" - overlaps: [UUID] + """Reads and enables pagination through a set of `OrgOwnerGrant`.""" + orgOwnerGrantsByGrantorId( + """Only read the first `n` values of the set.""" + first: Int - """Any array item is equal to the specified value.""" - anyEqualTo: UUID + """Only read the last `n` values of the set.""" + last: Int - """Any array item is not equal to the specified value.""" - anyNotEqualTo: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Any array item is less than the specified value.""" - anyLessThan: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Any array item is less than or equal to the specified value.""" - anyLessThanOrEqualTo: UUID + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Any array item is greater than the specified value.""" - anyGreaterThan: UUID + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgOwnerGrantFilter - """Any array item is greater than or equal to the specified value.""" - anyGreaterThanOrEqualTo: UUID -} + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantConnection! -""" -A filter to be used against JSON fields. All fields are combined with a logical ‘and.’ -""" -input JSONFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Reads and enables pagination through a set of `OrgMemberProfile`.""" + orgMemberProfilesByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Equal to the specified value.""" - equalTo: JSON + """Only read the last `n` values of the set.""" + last: Int - """Not equal to the specified value.""" - notEqualTo: JSON + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: JSON + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: JSON + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Included in the specified list.""" - in: [JSON!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMemberProfileFilter - """Not included in the specified list.""" - notIn: [JSON!] + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberProfileConnection! - """Less than the specified value.""" - lessThan: JSON + """Reads and enables pagination through a set of `OrgMemberProfile`.""" + orgMemberProfilesByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: JSON + """Only read the last `n` values of the set.""" + last: Int - """Greater than the specified value.""" - greaterThan: JSON + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: JSON + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Contains the specified JSON.""" - contains: JSON + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Contains the specified key.""" - containsKey: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgMemberProfileFilter - """Contains all of the specified keys.""" - containsAllKeys: [String!] + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgMemberProfileConnection! - """Contains any of the specified keys.""" - containsAnyKeys: [String!] + """Reads and enables pagination through a set of `OrgGrant`.""" + orgGrantsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Contained by the specified JSON.""" - containedBy: JSON -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against ObjectCategory fields. All fields are combined with a logical ‘and.’ -""" -input ObjectCategoryFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value.""" - equalTo: ObjectCategory + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not equal to the specified value.""" - notEqualTo: ObjectCategory + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: ObjectCategory + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgGrantFilter - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ObjectCategory + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgGrantConnection! - """Included in the specified list.""" - in: [ObjectCategory!] + """Reads and enables pagination through a set of `OrgGrant`.""" + orgGrantsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Not included in the specified list.""" - notIn: [ObjectCategory!] + """Only read the last `n` values of the set.""" + last: Int - """Less than the specified value.""" - lessThan: ObjectCategory + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ObjectCategory + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than the specified value.""" - greaterThan: ObjectCategory + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ObjectCategory -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgGrantFilter -""" -A filter to be used against Int fields. All fields are combined with a logical ‘and.’ -""" -input IntFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgGrantConnection! - """Equal to the specified value.""" - equalTo: Int + """Reads and enables pagination through a set of `OrgGrant`.""" + orgGrantsByGrantorId( + """Only read the first `n` values of the set.""" + first: Int - """Not equal to the specified value.""" - notEqualTo: Int + """Only read the last `n` values of the set.""" + last: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Int + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Int + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Included in the specified list.""" - in: [Int!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not included in the specified list.""" - notIn: [Int!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgGrantFilter - """Less than the specified value.""" - lessThan: Int + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgGrantConnection! - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Int + """Reads and enables pagination through a set of `OrgChartEdge`.""" + parentOrgChartEdges( + """Only read the first `n` values of the set.""" + first: Int - """Greater than the specified value.""" - greaterThan: Int + """Only read the last `n` values of the set.""" + last: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Int -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against String List fields. All fields are combined with a logical ‘and.’ -""" -input StringListFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value.""" - equalTo: [String] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not equal to the specified value.""" - notEqualTo: [String] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeFilter - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: [String] + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeConnection! - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: [String] + """Reads and enables pagination through a set of `OrgChartEdge`.""" + orgChartEdgesByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value.""" - lessThan: [String] + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: [String] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value.""" - greaterThan: [String] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: [String] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Contains the specified list of values.""" - contains: [String] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeFilter - """Contained by the specified list of values.""" - containedBy: [String] + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeConnection! - """Overlaps the specified list of values.""" - overlaps: [String] + """Reads and enables pagination through a set of `OrgChartEdge`.""" + childOrgChartEdges( + """Only read the first `n` values of the set.""" + first: Int - """Any array item is equal to the specified value.""" - anyEqualTo: String + """Only read the last `n` values of the set.""" + last: Int - """Any array item is not equal to the specified value.""" - anyNotEqualTo: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Any array item is less than the specified value.""" - anyLessThan: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Any array item is less than or equal to the specified value.""" - anyLessThanOrEqualTo: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Any array item is greater than the specified value.""" - anyGreaterThan: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeFilter - """Any array item is greater than or equal to the specified value.""" - anyGreaterThanOrEqualTo: String -} + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeConnection! -""" -A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ -""" -input DatetimeFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" + parentOrgChartEdgeGrants( + """Only read the first `n` values of the set.""" + first: Int - """Equal to the specified value.""" - equalTo: Datetime + """Only read the last `n` values of the set.""" + last: Int - """Not equal to the specified value.""" - notEqualTo: Datetime + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Datetime + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Datetime + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Included in the specified list.""" - in: [Datetime!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeGrantFilter - """Not included in the specified list.""" - notIn: [Datetime!] + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantConnection! - """Less than the specified value.""" - lessThan: Datetime + """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" + orgChartEdgeGrantsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Datetime + """Only read the last `n` values of the set.""" + last: Int - """Greater than the specified value.""" - greaterThan: Datetime + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Datetime -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `Database` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeGrantFilter - """Filter by the object’s `schemaHash` field.""" - schemaHash: StringFilter + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantConnection! - """Filter by the object’s `name` field.""" - name: StringFilter + """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" + orgChartEdgeGrantsByGrantorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `label` field.""" - label: StringFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `hash` field.""" - hash: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [DatabaseFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeGrantFilter - """Checks for any expressions in this list.""" - or: [DatabaseFilter!] + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantConnection! - """Negates the expression.""" - not: DatabaseFilter + """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" + childOrgChartEdgeGrants( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `owner` relation.""" - owner: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """A related `owner` exists.""" - ownerExists: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `schemas` relation.""" - schemas: DatabaseToManySchemaFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`schemas` exist.""" - schemasExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `tables` relation.""" - tables: DatabaseToManyTableFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgChartEdgeGrantFilter - """`tables` exist.""" - tablesExist: Boolean + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantConnection! - """Filter by the object’s `checkConstraints` relation.""" - checkConstraints: DatabaseToManyCheckConstraintFilter + """Reads and enables pagination through a set of `OrgPermissionDefault`.""" + orgPermissionDefaultsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """`checkConstraints` exist.""" - checkConstraintsExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `fields` relation.""" - fields: DatabaseToManyFieldFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`fields` exist.""" - fieldsExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `foreignKeyConstraints` relation.""" - foreignKeyConstraints: DatabaseToManyForeignKeyConstraintFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`foreignKeyConstraints` exist.""" - foreignKeyConstraintsExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgPermissionDefaultFilter - """Filter by the object’s `fullTextSearches` relation.""" - fullTextSearches: DatabaseToManyFullTextSearchFilter + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultConnection! - """`fullTextSearches` exist.""" - fullTextSearchesExist: Boolean + """Reads and enables pagination through a set of `AppLimit`.""" + appLimitsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `indices` relation.""" - indices: DatabaseToManyIndexFilter + """Only read the last `n` values of the set.""" + last: Int - """`indices` exist.""" - indicesExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `policies` relation.""" - policies: DatabaseToManyPolicyFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`policies` exist.""" - policiesExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `primaryKeyConstraints` relation.""" - primaryKeyConstraints: DatabaseToManyPrimaryKeyConstraintFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitFilter - """`primaryKeyConstraints` exist.""" - primaryKeyConstraintsExist: Boolean + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitConnection! - """Filter by the object’s `schemaGrants` relation.""" - schemaGrants: DatabaseToManySchemaGrantFilter + """Reads and enables pagination through a set of `AppLimitCredit`.""" + appLimitCreditsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """`schemaGrants` exist.""" - schemaGrantsExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `tableGrants` relation.""" - tableGrants: DatabaseToManyTableGrantFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`tableGrants` exist.""" - tableGrantsExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `triggerFunctions` relation.""" - triggerFunctions: DatabaseToManyTriggerFunctionFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`triggerFunctions` exist.""" - triggerFunctionsExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditFilter - """Filter by the object’s `triggers` relation.""" - triggers: DatabaseToManyTriggerFilter + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditConnection! - """`triggers` exist.""" - triggersExist: Boolean + """Reads and enables pagination through a set of `OrgLimit`.""" + orgLimitsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `uniqueConstraints` relation.""" - uniqueConstraints: DatabaseToManyUniqueConstraintFilter + """Only read the last `n` values of the set.""" + last: Int - """`uniqueConstraints` exist.""" - uniqueConstraintsExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `views` relation.""" - views: DatabaseToManyViewFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`views` exist.""" - viewsExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `viewGrants` relation.""" - viewGrants: DatabaseToManyViewGrantFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitFilter - """`viewGrants` exist.""" - viewGrantsExist: Boolean + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitConnection! - """Filter by the object’s `viewRules` relation.""" - viewRules: DatabaseToManyViewRuleFilter + """Reads and enables pagination through a set of `OrgLimit`.""" + orgLimitsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """`viewRules` exist.""" - viewRulesExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `defaultPrivileges` relation.""" - defaultPrivileges: DatabaseToManyDefaultPrivilegeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`defaultPrivileges` exist.""" - defaultPrivilegesExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `enums` relation.""" - enums: DatabaseToManyEnumFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`enums` exist.""" - enumsExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitFilter - """Filter by the object’s `embeddingChunks` relation.""" - embeddingChunks: DatabaseToManyEmbeddingChunkFilter + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitConnection! - """`embeddingChunks` exist.""" - embeddingChunksExist: Boolean + """Reads and enables pagination through a set of `OrgLimitCredit`.""" + orgLimitCreditsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `spatialRelations` relation.""" - spatialRelations: DatabaseToManySpatialRelationFilter + """Only read the last `n` values of the set.""" + last: Int - """`spatialRelations` exist.""" - spatialRelationsExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `databaseTransfers` relation.""" - databaseTransfers: DatabaseToManyDatabaseTransferFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`databaseTransfers` exist.""" - databaseTransfersExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `apis` relation.""" - apis: DatabaseToManyApiFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCreditFilter - """`apis` exist.""" - apisExist: Boolean + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCreditConnection! - """Filter by the object’s `apiModules` relation.""" - apiModules: DatabaseToManyApiModuleFilter + """Reads and enables pagination through a set of `OrgLimitCredit`.""" + orgLimitCreditsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """`apiModules` exist.""" - apiModulesExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `apiSchemas` relation.""" - apiSchemas: DatabaseToManyApiSchemaFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`apiSchemas` exist.""" - apiSchemasExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `sites` relation.""" - sites: DatabaseToManySiteFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`sites` exist.""" - sitesExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCreditFilter - """Filter by the object’s `apps` relation.""" - apps: DatabaseToManyAppFilter + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCreditConnection! - """`apps` exist.""" - appsExist: Boolean + """Reads and enables pagination through a set of `OrgLimitAggregate`.""" + orgLimitAggregatesByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `domains` relation.""" - domains: DatabaseToManyDomainFilter + """Only read the last `n` values of the set.""" + last: Int - """`domains` exist.""" - domainsExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `siteMetadata` relation.""" - siteMetadata: DatabaseToManySiteMetadatumFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`siteMetadata` exist.""" - siteMetadataExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `siteModules` relation.""" - siteModules: DatabaseToManySiteModuleFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitAggregateFilter - """`siteModules` exist.""" - siteModulesExist: Boolean + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateConnection! - """Filter by the object’s `siteThemes` relation.""" - siteThemes: DatabaseToManySiteThemeFilter + """Reads and enables pagination through a set of `AppStep`.""" + appStepsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """`siteThemes` exist.""" - siteThemesExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `connectedAccountsModules` relation.""" - connectedAccountsModules: DatabaseToManyConnectedAccountsModuleFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`connectedAccountsModules` exist.""" - connectedAccountsModulesExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `cryptoAddressesModules` relation.""" - cryptoAddressesModules: DatabaseToManyCryptoAddressesModuleFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`cryptoAddressesModules` exist.""" - cryptoAddressesModulesExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppStepFilter - """Filter by the object’s `cryptoAuthModules` relation.""" - cryptoAuthModules: DatabaseToManyCryptoAuthModuleFilter + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!] = [PRIMARY_KEY_ASC] + ): AppStepConnection! - """`cryptoAuthModules` exist.""" - cryptoAuthModulesExist: Boolean + """Reads and enables pagination through a set of `AppAchievement`.""" + appAchievementsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `defaultIdsModules` relation.""" - defaultIdsModules: DatabaseToManyDefaultIdsModuleFilter + """Only read the last `n` values of the set.""" + last: Int - """`defaultIdsModules` exist.""" - defaultIdsModulesExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `denormalizedTableFields` relation.""" - denormalizedTableFields: DatabaseToManyDenormalizedTableFieldFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`denormalizedTableFields` exist.""" - denormalizedTableFieldsExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `emailsModules` relation.""" - emailsModules: DatabaseToManyEmailsModuleFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppAchievementFilter - """`emailsModules` exist.""" - emailsModulesExist: Boolean + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!] = [PRIMARY_KEY_ASC] + ): AppAchievementConnection! - """Filter by the object’s `encryptedSecretsModules` relation.""" - encryptedSecretsModules: DatabaseToManyEncryptedSecretsModuleFilter + """Reads and enables pagination through a set of `AppLevel`.""" + ownedAppLevels( + """Only read the first `n` values of the set.""" + first: Int - """`encryptedSecretsModules` exist.""" - encryptedSecretsModulesExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `invitesModules` relation.""" - invitesModules: DatabaseToManyInvitesModuleFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`invitesModules` exist.""" - invitesModulesExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `levelsModules` relation.""" - levelsModules: DatabaseToManyLevelsModuleFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`levelsModules` exist.""" - levelsModulesExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLevelFilter - """Filter by the object’s `limitsModules` relation.""" - limitsModules: DatabaseToManyLimitsModuleFilter + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLevelConnection! - """`limitsModules` exist.""" - limitsModulesExist: Boolean + """Reads and enables pagination through a set of `Email`.""" + ownedEmails( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `membershipTypesModules` relation.""" - membershipTypesModules: DatabaseToManyMembershipTypesModuleFilter + """Only read the last `n` values of the set.""" + last: Int - """`membershipTypesModules` exist.""" - membershipTypesModulesExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `membershipsModules` relation.""" - membershipsModules: DatabaseToManyMembershipsModuleFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`membershipsModules` exist.""" - membershipsModulesExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `permissionsModules` relation.""" - permissionsModules: DatabaseToManyPermissionsModuleFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmailFilter - """`permissionsModules` exist.""" - permissionsModulesExist: Boolean + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] + ): EmailConnection! - """Filter by the object’s `phoneNumbersModules` relation.""" - phoneNumbersModules: DatabaseToManyPhoneNumbersModuleFilter + """Reads and enables pagination through a set of `PhoneNumber`.""" + ownedPhoneNumbers( + """Only read the first `n` values of the set.""" + first: Int - """`phoneNumbersModules` exist.""" - phoneNumbersModulesExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `profilesModules` relation.""" - profilesModules: DatabaseToManyProfilesModuleFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`profilesModules` exist.""" - profilesModulesExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `rlsModule` relation.""" - rlsModule: RlsModuleFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """A related `rlsModule` exists.""" - rlsModuleExists: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PhoneNumberFilter - """Filter by the object’s `secretsModules` relation.""" - secretsModules: DatabaseToManySecretsModuleFilter + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] + ): PhoneNumberConnection! - """`secretsModules` exist.""" - secretsModulesExist: Boolean + """Reads and enables pagination through a set of `CryptoAddress`.""" + ownedCryptoAddresses( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `sessionsModules` relation.""" - sessionsModules: DatabaseToManySessionsModuleFilter + """Only read the last `n` values of the set.""" + last: Int - """`sessionsModules` exist.""" - sessionsModulesExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `userAuthModules` relation.""" - userAuthModules: DatabaseToManyUserAuthModuleFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`userAuthModules` exist.""" - userAuthModulesExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `usersModules` relation.""" - usersModules: DatabaseToManyUsersModuleFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CryptoAddressFilter - """`usersModules` exist.""" - usersModulesExist: Boolean + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAddressConnection! - """Filter by the object’s `hierarchyModule` relation.""" - hierarchyModule: HierarchyModuleFilter + """Reads and enables pagination through a set of `WebauthnCredential`.""" + ownedWebauthnCredentials( + """Only read the first `n` values of the set.""" + first: Int - """A related `hierarchyModule` exists.""" - hierarchyModuleExists: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `secureTableProvisions` relation.""" - secureTableProvisions: DatabaseToManySecureTableProvisionFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`secureTableProvisions` exist.""" - secureTableProvisionsExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `relationProvisions` relation.""" - relationProvisions: DatabaseToManyRelationProvisionFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`relationProvisions` exist.""" - relationProvisionsExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: WebauthnCredentialFilter - """Filter by the object’s `blueprints` relation.""" - blueprints: DatabaseToManyBlueprintFilter + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnCredentialConnection! - """`blueprints` exist.""" - blueprintsExist: Boolean + """Reads and enables pagination through a set of `AppInvite`.""" + appInvitesBySenderId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `blueprintConstructions` relation.""" - blueprintConstructions: DatabaseToManyBlueprintConstructionFilter + """Only read the last `n` values of the set.""" + last: Int - """`blueprintConstructions` exist.""" - blueprintConstructionsExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `storageModules` relation.""" - storageModules: DatabaseToManyStorageModuleFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`storageModules` exist.""" - storageModulesExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entityTypeProvisions` relation.""" - entityTypeProvisions: DatabaseToManyEntityTypeProvisionFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppInviteFilter - """`entityTypeProvisions` exist.""" - entityTypeProvisionsExist: Boolean + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppInviteConnection! - """Filter by the object’s `rateLimitsModule` relation.""" - rateLimitsModule: RateLimitsModuleFilter + """Reads and enables pagination through a set of `AppClaimedInvite`.""" + appClaimedInvitesByReceiverId( + """Only read the first `n` values of the set.""" + first: Int - """A related `rateLimitsModule` exists.""" - rateLimitsModuleExists: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `devicesModule` relation.""" - devicesModule: DevicesModuleFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """A related `devicesModule` exists.""" - devicesModuleExists: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `sessionSecretsModules` relation.""" - sessionSecretsModules: DatabaseToManySessionSecretsModuleFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`sessionSecretsModules` exist.""" - sessionSecretsModulesExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppClaimedInviteFilter - """Filter by the object’s `webauthnCredentialsModules` relation.""" - webauthnCredentialsModules: DatabaseToManyWebauthnCredentialsModuleFilter + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppClaimedInviteConnection! - """`webauthnCredentialsModules` exist.""" - webauthnCredentialsModulesExist: Boolean + """Reads and enables pagination through a set of `AppClaimedInvite`.""" + appClaimedInvitesBySenderId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `webauthnAuthModules` relation.""" - webauthnAuthModules: DatabaseToManyWebauthnAuthModuleFilter + """Only read the last `n` values of the set.""" + last: Int - """`webauthnAuthModules` exist.""" - webauthnAuthModulesExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `identityProvidersModules` relation.""" - identityProvidersModules: DatabaseToManyIdentityProvidersModuleFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`identityProvidersModules` exist.""" - identityProvidersModulesExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `notificationsModules` relation.""" - notificationsModules: DatabaseToManyNotificationsModuleFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppClaimedInviteFilter - """`notificationsModules` exist.""" - notificationsModulesExist: Boolean + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): AppClaimedInviteConnection! - """Filter by the object’s `plansModule` relation.""" - plansModule: PlansModuleFilter + """Reads and enables pagination through a set of `OrgInvite`.""" + orgInvitesByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """A related `plansModule` exists.""" - plansModuleExists: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `billingModule` relation.""" - billingModule: BillingModuleFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """A related `billingModule` exists.""" - billingModuleExists: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `databaseProvisionModules` relation.""" - databaseProvisionModules: DatabaseToManyDatabaseProvisionModuleFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`databaseProvisionModules` exist.""" - databaseProvisionModulesExist: Boolean -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgInviteFilter -""" -A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ -""" -input UserFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgInviteConnection! - """Filter by the object’s `username` field.""" - username: StringTrgmFilter + """Reads and enables pagination through a set of `OrgInvite`.""" + orgInvitesByReceiverId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `displayName` field.""" - displayName: StringTrgmFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `profilePicture` field.""" - profilePicture: ConstructiveInternalTypeImageFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `searchTsv` field.""" - searchTsv: FullTextFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `type` field.""" - type: IntFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgInviteFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgInviteConnection! - """Checks for all expressions in this list.""" - and: [UserFilter!] + """Reads and enables pagination through a set of `OrgInvite`.""" + orgInvitesBySenderId( + """Only read the first `n` values of the set.""" + first: Int - """Checks for any expressions in this list.""" - or: [UserFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Negates the expression.""" - not: UserFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `roleType` relation.""" - roleType: RoleTypeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `ownedDatabases` relation.""" - ownedDatabases: UserToManyDatabaseFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`ownedDatabases` exist.""" - ownedDatabasesExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgInviteFilter - """Filter by the object’s `appMembershipByActorId` relation.""" - appMembershipByActorId: AppMembershipFilter + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgInviteConnection! - """A related `appMembershipByActorId` exists.""" - appMembershipByActorIdExists: Boolean + """Reads and enables pagination through a set of `OrgClaimedInvite`.""" + orgClaimedInvitesByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `appAdminGrantsByActorId` relation.""" - appAdminGrantsByActorId: UserToManyAppAdminGrantFilter + """Only read the last `n` values of the set.""" + last: Int - """`appAdminGrantsByActorId` exist.""" - appAdminGrantsByActorIdExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `appAdminGrantsByGrantorId` relation.""" - appAdminGrantsByGrantorId: UserToManyAppAdminGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`appAdminGrantsByGrantorId` exist.""" - appAdminGrantsByGrantorIdExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `appOwnerGrantsByActorId` relation.""" - appOwnerGrantsByActorId: UserToManyAppOwnerGrantFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgClaimedInviteFilter - """`appOwnerGrantsByActorId` exist.""" - appOwnerGrantsByActorIdExist: Boolean + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteConnection! - """Filter by the object’s `appOwnerGrantsByGrantorId` relation.""" - appOwnerGrantsByGrantorId: UserToManyAppOwnerGrantFilter + """Reads and enables pagination through a set of `OrgClaimedInvite`.""" + orgClaimedInvitesByReceiverId( + """Only read the first `n` values of the set.""" + first: Int - """`appOwnerGrantsByGrantorId` exist.""" - appOwnerGrantsByGrantorIdExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `appGrantsByActorId` relation.""" - appGrantsByActorId: UserToManyAppGrantFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`appGrantsByActorId` exist.""" - appGrantsByActorIdExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `appGrantsByGrantorId` relation.""" - appGrantsByGrantorId: UserToManyAppGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`appGrantsByGrantorId` exist.""" - appGrantsByGrantorIdExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgClaimedInviteFilter - """Filter by the object’s `orgMembershipsByActorId` relation.""" - orgMembershipsByActorId: UserToManyOrgMembershipFilter + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteConnection! - """`orgMembershipsByActorId` exist.""" - orgMembershipsByActorIdExist: Boolean + """Reads and enables pagination through a set of `OrgClaimedInvite`.""" + orgClaimedInvitesBySenderId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `orgMembershipsByEntityId` relation.""" - orgMembershipsByEntityId: UserToManyOrgMembershipFilter + """Only read the last `n` values of the set.""" + last: Int - """`orgMembershipsByEntityId` exist.""" - orgMembershipsByEntityIdExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `orgMembershipDefaultByEntityId` relation.""" - orgMembershipDefaultByEntityId: OrgMembershipDefaultFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """A related `orgMembershipDefaultByEntityId` exists.""" - orgMembershipDefaultByEntityIdExists: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `orgMembershipSettingByEntityId` relation.""" - orgMembershipSettingByEntityId: OrgMembershipSettingFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgClaimedInviteFilter - """A related `orgMembershipSettingByEntityId` exists.""" - orgMembershipSettingByEntityIdExists: Boolean + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteConnection! - """Filter by the object’s `orgMembersByActorId` relation.""" - orgMembersByActorId: UserToManyOrgMemberFilter + """Reads and enables pagination through a set of `AuditLog`.""" + auditLogsByActorId( + """Only read the first `n` values of the set.""" + first: Int - """`orgMembersByActorId` exist.""" - orgMembersByActorIdExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `orgMembersByEntityId` relation.""" - orgMembersByEntityId: UserToManyOrgMemberFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`orgMembersByEntityId` exist.""" - orgMembersByEntityIdExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `orgAdminGrantsByActorId` relation.""" - orgAdminGrantsByActorId: UserToManyOrgAdminGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`orgAdminGrantsByActorId` exist.""" - orgAdminGrantsByActorIdExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AuditLogFilter - """Filter by the object’s `orgAdminGrantsByEntityId` relation.""" - orgAdminGrantsByEntityId: UserToManyOrgAdminGrantFilter + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] + ): AuditLogConnection! - """`orgAdminGrantsByEntityId` exist.""" - orgAdminGrantsByEntityIdExist: Boolean + """Reads and enables pagination through a set of `AgentThread`.""" + agentThreadsByEntityId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `orgAdminGrantsByGrantorId` relation.""" - orgAdminGrantsByGrantorId: UserToManyOrgAdminGrantFilter + """Only read the last `n` values of the set.""" + last: Int - """`orgAdminGrantsByGrantorId` exist.""" - orgAdminGrantsByGrantorIdExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `orgOwnerGrantsByActorId` relation.""" - orgOwnerGrantsByActorId: UserToManyOrgOwnerGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`orgOwnerGrantsByActorId` exist.""" - orgOwnerGrantsByActorIdExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `orgOwnerGrantsByEntityId` relation.""" - orgOwnerGrantsByEntityId: UserToManyOrgOwnerGrantFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AgentThreadFilter - """`orgOwnerGrantsByEntityId` exist.""" - orgOwnerGrantsByEntityIdExist: Boolean + """The method to use when ordering `AgentThread`.""" + orderBy: [AgentThreadOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentThreadConnection! - """Filter by the object’s `orgOwnerGrantsByGrantorId` relation.""" - orgOwnerGrantsByGrantorId: UserToManyOrgOwnerGrantFilter + """Reads and enables pagination through a set of `AgentThread`.""" + ownedAgentThreads( + """Only read the first `n` values of the set.""" + first: Int - """`orgOwnerGrantsByGrantorId` exist.""" - orgOwnerGrantsByGrantorIdExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `orgMemberProfilesByActorId` relation.""" - orgMemberProfilesByActorId: UserToManyOrgMemberProfileFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`orgMemberProfilesByActorId` exist.""" - orgMemberProfilesByActorIdExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `orgMemberProfilesByEntityId` relation.""" - orgMemberProfilesByEntityId: UserToManyOrgMemberProfileFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`orgMemberProfilesByEntityId` exist.""" - orgMemberProfilesByEntityIdExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AgentThreadFilter - """Filter by the object’s `orgGrantsByActorId` relation.""" - orgGrantsByActorId: UserToManyOrgGrantFilter + """The method to use when ordering `AgentThread`.""" + orderBy: [AgentThreadOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentThreadConnection! - """`orgGrantsByActorId` exist.""" - orgGrantsByActorIdExist: Boolean + """Reads and enables pagination through a set of `AgentMessage`.""" + ownedAgentMessages( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `orgGrantsByEntityId` relation.""" - orgGrantsByEntityId: UserToManyOrgGrantFilter + """Only read the last `n` values of the set.""" + last: Int - """`orgGrantsByEntityId` exist.""" - orgGrantsByEntityIdExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `orgGrantsByGrantorId` relation.""" - orgGrantsByGrantorId: UserToManyOrgGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`orgGrantsByGrantorId` exist.""" - orgGrantsByGrantorIdExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `parentOrgChartEdges` relation.""" - parentOrgChartEdges: UserToManyOrgChartEdgeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AgentMessageFilter - """`parentOrgChartEdges` exist.""" - parentOrgChartEdgesExist: Boolean + """The method to use when ordering `AgentMessage`.""" + orderBy: [AgentMessageOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentMessageConnection! - """Filter by the object’s `orgChartEdgesByEntityId` relation.""" - orgChartEdgesByEntityId: UserToManyOrgChartEdgeFilter + """Reads and enables pagination through a set of `AgentTask`.""" + ownedAgentTasks( + """Only read the first `n` values of the set.""" + first: Int - """`orgChartEdgesByEntityId` exist.""" - orgChartEdgesByEntityIdExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `childOrgChartEdges` relation.""" - childOrgChartEdges: UserToManyOrgChartEdgeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`childOrgChartEdges` exist.""" - childOrgChartEdgesExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `parentOrgChartEdgeGrants` relation.""" - parentOrgChartEdgeGrants: UserToManyOrgChartEdgeGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`parentOrgChartEdgeGrants` exist.""" - parentOrgChartEdgeGrantsExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AgentTaskFilter - """Filter by the object’s `orgChartEdgeGrantsByEntityId` relation.""" - orgChartEdgeGrantsByEntityId: UserToManyOrgChartEdgeGrantFilter + """The method to use when ordering `AgentTask`.""" + orderBy: [AgentTaskOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentTaskConnection! - """`orgChartEdgeGrantsByEntityId` exist.""" - orgChartEdgeGrantsByEntityIdExist: Boolean + """ + TSV rank when searching `searchTsv`. Returns null when no tsv search filter is active. + """ + searchTsvRank: Float - """Filter by the object’s `orgChartEdgeGrantsByGrantorId` relation.""" - orgChartEdgeGrantsByGrantorId: UserToManyOrgChartEdgeGrantFilter + """ + TRGM similarity when searching `displayName`. Returns null when no trgm search filter is active. + """ + displayNameTrgmSimilarity: Float - """`orgChartEdgeGrantsByGrantorId` exist.""" - orgChartEdgeGrantsByGrantorIdExist: Boolean + """ + Composite search relevance score (0..1, higher = more relevant). Computed by normalizing and averaging all active search signals. Supports per-table weight customization via @searchConfig smart tag. Returns null when no search filters are active. + """ + searchScore: Float +} - """Filter by the object’s `childOrgChartEdgeGrants` relation.""" - childOrgChartEdgeGrants: UserToManyOrgChartEdgeGrantFilter +scalar ConstructiveInternalTypeImage - """`childOrgChartEdgeGrants` exist.""" - childOrgChartEdgeGrantsExist: Boolean +"""A full-text search tsvector value represented as a string.""" +scalar FullText - """Filter by the object’s `orgPermissionDefaultsByEntityId` relation.""" - orgPermissionDefaultsByEntityId: UserToManyOrgPermissionDefaultFilter +type RoleType { + id: Int! + name: String! +} - """`orgPermissionDefaultsByEntityId` exist.""" - orgPermissionDefaultsByEntityIdExist: Boolean +"""A connection to a list of `Database` values.""" +type DatabaseConnection { + """A list of `Database` objects.""" + nodes: [Database]! - """Filter by the object’s `appLimitsByActorId` relation.""" - appLimitsByActorId: UserToManyAppLimitFilter + """ + A list of edges which contains the `Database` and cursor to aid in pagination. + """ + edges: [DatabaseEdge]! - """`appLimitsByActorId` exist.""" - appLimitsByActorIdExist: Boolean + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Filter by the object’s `orgLimitsByActorId` relation.""" - orgLimitsByActorId: UserToManyOrgLimitFilter + """The count of *all* `Database` you could get from the connection.""" + totalCount: Int! +} - """`orgLimitsByActorId` exist.""" - orgLimitsByActorIdExist: Boolean +type Database { + id: UUID! + ownerId: UUID + schemaHash: String + name: String + label: String + hash: UUID + createdAt: Datetime + updatedAt: Datetime - """Filter by the object’s `orgLimitsByEntityId` relation.""" - orgLimitsByEntityId: UserToManyOrgLimitFilter + """Reads a single `User` that is related to this `Database`.""" + owner: User - """`orgLimitsByEntityId` exist.""" - orgLimitsByEntityIdExist: Boolean + """Reads and enables pagination through a set of `Schema`.""" + schemas( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `orgLimitAggregatesByEntityId` relation.""" - orgLimitAggregatesByEntityId: UserToManyOrgLimitAggregateFilter + """Only read the last `n` values of the set.""" + last: Int - """`orgLimitAggregatesByEntityId` exist.""" - orgLimitAggregatesByEntityIdExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `appStepsByActorId` relation.""" - appStepsByActorId: UserToManyAppStepFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`appStepsByActorId` exist.""" - appStepsByActorIdExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `appAchievementsByActorId` relation.""" - appAchievementsByActorId: UserToManyAppAchievementFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SchemaFilter - """`appAchievementsByActorId` exist.""" - appAchievementsByActorIdExist: Boolean + """The method to use when ordering `Schema`.""" + orderBy: [SchemaOrderBy!] = [PRIMARY_KEY_ASC] + ): SchemaConnection! - """Filter by the object’s `ownedAppLevels` relation.""" - ownedAppLevels: UserToManyAppLevelFilter + """Reads and enables pagination through a set of `Table`.""" + tables( + """Only read the first `n` values of the set.""" + first: Int - """`ownedAppLevels` exist.""" - ownedAppLevelsExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `ownedEmails` relation.""" - ownedEmails: UserToManyEmailFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`ownedEmails` exist.""" - ownedEmailsExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `ownedPhoneNumbers` relation.""" - ownedPhoneNumbers: UserToManyPhoneNumberFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`ownedPhoneNumbers` exist.""" - ownedPhoneNumbersExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TableFilter - """Filter by the object’s `ownedCryptoAddresses` relation.""" - ownedCryptoAddresses: UserToManyCryptoAddressFilter + """The method to use when ordering `Table`.""" + orderBy: [TableOrderBy!] = [PRIMARY_KEY_ASC] + ): TableConnection! - """`ownedCryptoAddresses` exist.""" - ownedCryptoAddressesExist: Boolean + """Reads and enables pagination through a set of `CheckConstraint`.""" + checkConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `ownedWebauthnCredentials` relation.""" - ownedWebauthnCredentials: UserToManyWebauthnCredentialFilter + """Only read the last `n` values of the set.""" + last: Int - """`ownedWebauthnCredentials` exist.""" - ownedWebauthnCredentialsExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `appInvitesBySenderId` relation.""" - appInvitesBySenderId: UserToManyAppInviteFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`appInvitesBySenderId` exist.""" - appInvitesBySenderIdExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `appClaimedInvitesByReceiverId` relation.""" - appClaimedInvitesByReceiverId: UserToManyAppClaimedInviteFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CheckConstraintFilter - """`appClaimedInvitesByReceiverId` exist.""" - appClaimedInvitesByReceiverIdExist: Boolean + """The method to use when ordering `CheckConstraint`.""" + orderBy: [CheckConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): CheckConstraintConnection! - """Filter by the object’s `appClaimedInvitesBySenderId` relation.""" - appClaimedInvitesBySenderId: UserToManyAppClaimedInviteFilter + """Reads and enables pagination through a set of `Field`.""" + fields( + """Only read the first `n` values of the set.""" + first: Int - """`appClaimedInvitesBySenderId` exist.""" - appClaimedInvitesBySenderIdExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `orgInvitesByEntityId` relation.""" - orgInvitesByEntityId: UserToManyOrgInviteFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`orgInvitesByEntityId` exist.""" - orgInvitesByEntityIdExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `orgInvitesByReceiverId` relation.""" - orgInvitesByReceiverId: UserToManyOrgInviteFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`orgInvitesByReceiverId` exist.""" - orgInvitesByReceiverIdExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: FieldFilter - """Filter by the object’s `orgInvitesBySenderId` relation.""" - orgInvitesBySenderId: UserToManyOrgInviteFilter + """The method to use when ordering `Field`.""" + orderBy: [FieldOrderBy!] = [PRIMARY_KEY_ASC] + ): FieldConnection! - """`orgInvitesBySenderId` exist.""" - orgInvitesBySenderIdExist: Boolean + """Reads and enables pagination through a set of `ForeignKeyConstraint`.""" + foreignKeyConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `orgClaimedInvitesByEntityId` relation.""" - orgClaimedInvitesByEntityId: UserToManyOrgClaimedInviteFilter + """Only read the last `n` values of the set.""" + last: Int - """`orgClaimedInvitesByEntityId` exist.""" - orgClaimedInvitesByEntityIdExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `orgClaimedInvitesByReceiverId` relation.""" - orgClaimedInvitesByReceiverId: UserToManyOrgClaimedInviteFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """`orgClaimedInvitesByReceiverId` exist.""" - orgClaimedInvitesByReceiverIdExist: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `orgClaimedInvitesBySenderId` relation.""" - orgClaimedInvitesBySenderId: UserToManyOrgClaimedInviteFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ForeignKeyConstraintFilter - """`orgClaimedInvitesBySenderId` exist.""" - orgClaimedInvitesBySenderIdExist: Boolean + """The method to use when ordering `ForeignKeyConstraint`.""" + orderBy: [ForeignKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): ForeignKeyConstraintConnection! - """Filter by the object’s `auditLogsByActorId` relation.""" - auditLogsByActorId: UserToManyAuditLogFilter + """Reads and enables pagination through a set of `FullTextSearch`.""" + fullTextSearches( + """Only read the first `n` values of the set.""" + first: Int - """`auditLogsByActorId` exist.""" - auditLogsByActorIdExist: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `agentThreadsByEntityId` relation.""" - agentThreadsByEntityId: UserToManyAgentThreadFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """`agentThreadsByEntityId` exist.""" - agentThreadsByEntityIdExist: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `ownedAgentThreads` relation.""" - ownedAgentThreads: UserToManyAgentThreadFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """`ownedAgentThreads` exist.""" - ownedAgentThreadsExist: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: FullTextSearchFilter - """Filter by the object’s `ownedAgentMessages` relation.""" - ownedAgentMessages: UserToManyAgentMessageFilter + """The method to use when ordering `FullTextSearch`.""" + orderBy: [FullTextSearchOrderBy!] = [PRIMARY_KEY_ASC] + ): FullTextSearchConnection! - """`ownedAgentMessages` exist.""" - ownedAgentMessagesExist: Boolean + """Reads and enables pagination through a set of `Index`.""" + indices( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `ownedAgentTasks` relation.""" - ownedAgentTasks: UserToManyAgentTaskFilter + """Only read the last `n` values of the set.""" + last: Int - """`ownedAgentTasks` exist.""" - ownedAgentTasksExist: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """TSV search on the `search_tsv` column.""" - tsvSearchTsv: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """TRGM search on the `display_name` column.""" - trgmDisplayName: TrgmSearchInput + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Composite unified search. Provide a search string and it will be dispatched to - all text-compatible search algorithms (tsvector, BM25, pg_trgm) - simultaneously. Rows matching ANY algorithm are returned. All matching score - fields are populated. - """ - unifiedSearch: String -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: IndexFilter -""" -A filter to be used against String fields with pg_trgm support. All fields are combined with a logical ‘and.’ -""" -input StringTrgmFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """The method to use when ordering `Index`.""" + orderBy: [IndexOrderBy!] = [PRIMARY_KEY_ASC] + ): IndexConnection! - """Equal to the specified value.""" - equalTo: String + """Reads and enables pagination through a set of `Policy`.""" + policies( + """Only read the first `n` values of the set.""" + first: Int - """Not equal to the specified value.""" - notEqualTo: String + """Only read the last `n` values of the set.""" + last: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Included in the specified list.""" - in: [String!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not included in the specified list.""" - notIn: [String!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PolicyFilter - """Less than the specified value.""" - lessThan: String + """The method to use when ordering `Policy`.""" + orderBy: [PolicyOrderBy!] = [PRIMARY_KEY_ASC] + ): PolicyConnection! - """Less than or equal to the specified value.""" - lessThanOrEqualTo: String + """Reads and enables pagination through a set of `PrimaryKeyConstraint`.""" + primaryKeyConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Greater than the specified value.""" - greaterThan: String + """Only read the last `n` values of the set.""" + last: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Contains the specified string (case-sensitive).""" - includes: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Does not contain the specified string (case-sensitive).""" - notIncludes: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Contains the specified string (case-insensitive).""" - includesInsensitive: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PrimaryKeyConstraintFilter - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: String + """The method to use when ordering `PrimaryKeyConstraint`.""" + orderBy: [PrimaryKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): PrimaryKeyConstraintConnection! - """Starts with the specified string (case-sensitive).""" - startsWith: String + """Reads and enables pagination through a set of `SchemaGrant`.""" + schemaGrants( + """Only read the first `n` values of the set.""" + first: Int - """Does not start with the specified string (case-sensitive).""" - notStartsWith: String + """Only read the last `n` values of the set.""" + last: Int - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Ends with the specified string (case-sensitive).""" - endsWith: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Does not end with the specified string (case-sensitive).""" - notEndsWith: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SchemaGrantFilter - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: String + """The method to use when ordering `SchemaGrant`.""" + orderBy: [SchemaGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): SchemaGrantConnection! - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: String + """Reads and enables pagination through a set of `TableGrant`.""" + tableGrants( + """Only read the first `n` values of the set.""" + first: Int - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: String + """Only read the last `n` values of the set.""" + last: Int - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TableGrantFilter - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + """The method to use when ordering `TableGrant`.""" + orderBy: [TableGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): TableGrantConnection! - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: String + """Reads and enables pagination through a set of `TriggerFunction`.""" + triggerFunctions( + """Only read the first `n` values of the set.""" + first: Int - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: String + """Only read the last `n` values of the set.""" + last: Int - """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TriggerFunctionFilter - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + """The method to use when ordering `TriggerFunction`.""" + orderBy: [TriggerFunctionOrderBy!] = [PRIMARY_KEY_ASC] + ): TriggerFunctionConnection! - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String + """Reads and enables pagination through a set of `Trigger`.""" + triggers( + """Only read the first `n` values of the set.""" + first: Int - """ - Fuzzy matches using pg_trgm trigram similarity. Tolerates typos and misspellings. - """ - similarTo: TrgmSearchInput + """Only read the last `n` values of the set.""" + last: Int - """ - Fuzzy matches using pg_trgm word_similarity. Finds the best matching substring within the column value. - """ - wordSimilarTo: TrgmSearchInput -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -Input for pg_trgm fuzzy text matching. Provide a search value and optional similarity threshold. -""" -input TrgmSearchInput { - """The text to fuzzy-match against. Typos and misspellings are tolerated.""" - value: String! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Minimum similarity threshold (0.0 to 1.0). Higher = stricter matching. Default is 0.3. - """ - threshold: Float -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeImageFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TriggerFilter - """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeImage + """The method to use when ordering `Trigger`.""" + orderBy: [TriggerOrderBy!] = [PRIMARY_KEY_ASC] + ): TriggerConnection! - """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeImage + """Reads and enables pagination through a set of `UniqueConstraint`.""" + uniqueConstraints( + """Only read the first `n` values of the set.""" + first: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: ConstructiveInternalTypeImage + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeImage + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Included in the specified list.""" - in: [ConstructiveInternalTypeImage!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeImage!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Less than the specified value.""" - lessThan: ConstructiveInternalTypeImage + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: UniqueConstraintFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeImage + """The method to use when ordering `UniqueConstraint`.""" + orderBy: [UniqueConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): UniqueConstraintConnection! - """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeImage + """Reads and enables pagination through a set of `View`.""" + views( + """Only read the first `n` values of the set.""" + first: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeImage + """Only read the last `n` values of the set.""" + last: Int - """Contains the specified JSON.""" - contains: ConstructiveInternalTypeImage + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Contains the specified key.""" - containsKey: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Contains all of the specified keys.""" - containsAllKeys: [String!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Contains any of the specified keys.""" - containsAnyKeys: [String!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewFilter - """Contained by the specified JSON.""" - containedBy: ConstructiveInternalTypeImage -} + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewConnection! -""" -A filter to be used against FullText fields. All fields are combined with a logical ‘and.’ -""" -input FullTextFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Reads and enables pagination through a set of `ViewGrant`.""" + viewGrants( + """Only read the first `n` values of the set.""" + first: Int - """Equal to the specified value.""" - equalTo: FullText + """Only read the last `n` values of the set.""" + last: Int - """Not equal to the specified value.""" - notEqualTo: FullText + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: FullText + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: FullText + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Included in the specified list.""" - in: [FullText!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewGrantFilter - """Not included in the specified list.""" - notIn: [FullText!] + """The method to use when ordering `ViewGrant`.""" + orderBy: [ViewGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewGrantConnection! - """Performs a full text search on the field.""" - matches: String -} + """Reads and enables pagination through a set of `ViewRule`.""" + viewRules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `RoleType` object types. All fields are combined with a logical ‘and.’ -""" -input RoleTypeFilter { - """Filter by the object’s `id` field.""" - id: IntFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [RoleTypeFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [RoleTypeFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: RoleTypeFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewRuleFilter -""" -A filter to be used against many `Database` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyDatabaseFilter { - """Filters to entities where at least one related entity matches.""" - some: DatabaseFilter + """The method to use when ordering `ViewRule`.""" + orderBy: [ViewRuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewRuleConnection! - """Filters to entities where every related entity matches.""" - every: DatabaseFilter + """Reads and enables pagination through a set of `DefaultPrivilege`.""" + defaultPrivileges( + """Only read the first `n` values of the set.""" + first: Int - """Filters to entities where no related entity matches.""" - none: DatabaseFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `AppMembership` object types. All fields are combined with a logical ‘and.’ -""" -input AppMembershipFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DefaultPrivilegeFilter - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """The method to use when ordering `DefaultPrivilege`.""" + orderBy: [DefaultPrivilegeOrderBy!] = [PRIMARY_KEY_ASC] + ): DefaultPrivilegeConnection! - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter + """Reads and enables pagination through a set of `Enum`.""" + enums( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isBanned` field.""" - isBanned: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isDisabled` field.""" - isDisabled: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `isActive` field.""" - isActive: BooleanFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `isOwner` field.""" - isOwner: BooleanFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EnumFilter - """Filter by the object’s `isAdmin` field.""" - isAdmin: BooleanFilter + """The method to use when ordering `Enum`.""" + orderBy: [EnumOrderBy!] = [PRIMARY_KEY_ASC] + ): EnumConnection! - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Reads and enables pagination through a set of `EmbeddingChunk`.""" + embeddingChunks( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `granted` field.""" - granted: BitStringFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [AppMembershipFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [AppMembershipFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmbeddingChunkFilter - """Negates the expression.""" - not: AppMembershipFilter + """The method to use when ordering `EmbeddingChunk`.""" + orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] + ): EmbeddingChunkConnection! - """Filter by the object’s `actor` relation.""" - actor: UserFilter -} + """Reads and enables pagination through a set of `SpatialRelation`.""" + spatialRelations( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ -""" -input BooleanFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value.""" - equalTo: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Not equal to the specified value.""" - notEqualTo: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SpatialRelationFilter - """Included in the specified list.""" - in: [Boolean!] + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] + ): SpatialRelationConnection! - """Not included in the specified list.""" - notIn: [Boolean!] + """Reads and enables pagination through a set of `Function`.""" + functions( + """Only read the first `n` values of the set.""" + first: Int - """Less than the specified value.""" - lessThan: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than the specified value.""" - greaterThan: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Boolean -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ -""" -input BitStringFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: FunctionFilter - """Equal to the specified value.""" - equalTo: BitString + """The method to use when ordering `Function`.""" + orderBy: [FunctionOrderBy!] = [PRIMARY_KEY_ASC] + ): FunctionConnection! - """Not equal to the specified value.""" - notEqualTo: BitString + """Reads and enables pagination through a set of `DatabaseTransfer`.""" + databaseTransfers( + """Only read the first `n` values of the set.""" + first: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: BitString + """Only read the last `n` values of the set.""" + last: Int - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: BitString + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Included in the specified list.""" - in: [BitString!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not included in the specified list.""" - notIn: [BitString!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Less than the specified value.""" - lessThan: BitString + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DatabaseTransferFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: BitString + """The method to use when ordering `DatabaseTransfer`.""" + orderBy: [DatabaseTransferOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseTransferConnection! - """Greater than the specified value.""" - greaterThan: BitString + """Reads and enables pagination through a set of `Partition`.""" + partitions( + """Only read the first `n` values of the set.""" + first: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: BitString -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against many `AppAdminGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppAdminGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: AppAdminGrantFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where every related entity matches.""" - every: AppAdminGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where no related entity matches.""" - none: AppAdminGrantFilter -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against `AppAdminGrant` object types. All fields are combined with a logical ‘and.’ -""" -input AppAdminGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PartitionFilter - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """The method to use when ordering `Partition`.""" + orderBy: [PartitionOrderBy!] = [PRIMARY_KEY_ASC] + ): PartitionConnection! - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Reads and enables pagination through a set of `Api`.""" + apis( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [AppAdminGrantFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [AppAdminGrantFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiFilter - """Negates the expression.""" - not: AppAdminGrantFilter + """The method to use when ordering `Api`.""" + orderBy: [ApiOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiConnection! - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Reads and enables pagination through a set of `ApiModule`.""" + apiModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """A related `grantor` exists.""" - grantorExists: Boolean -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against many `AppOwnerGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppOwnerGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: AppOwnerGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where every related entity matches.""" - every: AppOwnerGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where no related entity matches.""" - none: AppOwnerGrantFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiModuleFilter -""" -A filter to be used against `AppOwnerGrant` object types. All fields are combined with a logical ‘and.’ -""" -input AppOwnerGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """The method to use when ordering `ApiModule`.""" + orderBy: [ApiModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiModuleConnection! - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Reads and enables pagination through a set of `ApiSchema`.""" + apiSchemas( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [AppOwnerGrantFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiSchemaFilter - """Checks for any expressions in this list.""" - or: [AppOwnerGrantFilter!] + """The method to use when ordering `ApiSchema`.""" + orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiSchemaConnection! - """Negates the expression.""" - not: AppOwnerGrantFilter + """Reads and enables pagination through a set of `Site`.""" + sites( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """A related `grantor` exists.""" - grantorExists: Boolean -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against many `AppGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: AppGrantFilter - - """Filters to entities where every related entity matches.""" - every: AppGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where no related entity matches.""" - none: AppGrantFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteFilter -""" -A filter to be used against `AppGrant` object types. All fields are combined with a logical ‘and.’ -""" -input AppGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """The method to use when ordering `Site`.""" + orderBy: [SiteOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteConnection! - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Reads and enables pagination through a set of `App`.""" + apps( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppFilter - """Checks for all expressions in this list.""" - and: [AppGrantFilter!] + """The method to use when ordering `App`.""" + orderBy: [AppOrderBy!] = [PRIMARY_KEY_ASC] + ): AppConnection! - """Checks for any expressions in this list.""" - or: [AppGrantFilter!] + """Reads and enables pagination through a set of `Domain`.""" + domains( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: AppGrantFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """A related `grantor` exists.""" - grantorExists: Boolean -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against many `OrgMembership` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgMembershipFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgMembershipFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DomainFilter - """Filters to entities where every related entity matches.""" - every: OrgMembershipFilter + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] + ): DomainConnection! - """Filters to entities where no related entity matches.""" - none: OrgMembershipFilter -} + """Reads and enables pagination through a set of `SiteMetadatum`.""" + siteMetadata( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `OrgMembership` object types. All fields are combined with a logical ‘and.’ -""" -input OrgMembershipFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteMetadatumFilter - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter + """The method to use when ordering `SiteMetadatum`.""" + orderBy: [SiteMetadatumOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteMetadatumConnection! - """Filter by the object’s `isBanned` field.""" - isBanned: BooleanFilter + """Reads and enables pagination through a set of `SiteModule`.""" + siteModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isDisabled` field.""" - isDisabled: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isActive` field.""" - isActive: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `isExternal` field.""" - isExternal: BooleanFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `isOwner` field.""" - isOwner: BooleanFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `isAdmin` field.""" - isAdmin: BooleanFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteModuleFilter - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """The method to use when ordering `SiteModule`.""" + orderBy: [SiteModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteModuleConnection! - """Filter by the object’s `granted` field.""" - granted: BitStringFilter + """Reads and enables pagination through a set of `SiteTheme`.""" + siteThemes( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `isReadOnly` field.""" - isReadOnly: BooleanFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [OrgMembershipFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteThemeFilter - """Checks for any expressions in this list.""" - or: [OrgMembershipFilter!] + """The method to use when ordering `SiteTheme`.""" + orderBy: [SiteThemeOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteThemeConnection! - """Negates the expression.""" - not: OrgMembershipFilter + """Reads a single `DatabaseSetting` that is related to this `Database`.""" + databaseSetting: DatabaseSetting - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Reads and enables pagination through a set of `ApiSetting`.""" + apiSettings( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `orgMemberProfileByMembershipId` relation.""" - orgMemberProfileByMembershipId: OrgMemberProfileFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """A related `orgMemberProfileByMembershipId` exists.""" - orgMemberProfileByMembershipIdExists: Boolean -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ -""" -input OrgMemberProfileFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiSettingFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """The method to use when ordering `ApiSetting`.""" + orderBy: [ApiSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiSettingConnection! - """Filter by the object’s `membershipId` field.""" - membershipId: UUIDFilter + """Reads a single `RlsSetting` that is related to this `Database`.""" + rlsSetting: RlsSetting - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Reads and enables pagination through a set of `CorsSetting`.""" + corsSettings( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `displayName` field.""" - displayName: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `email` field.""" - email: StringFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `title` field.""" - title: StringFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `bio` field.""" - bio: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CorsSettingFilter - """Filter by the object’s `profilePicture` field.""" - profilePicture: ConstructiveInternalTypeImageFilter + """The method to use when ordering `CorsSetting`.""" + orderBy: [CorsSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): CorsSettingConnection! - """Checks for all expressions in this list.""" - and: [OrgMemberProfileFilter!] + """Reads a single `PubkeySetting` that is related to this `Database`.""" + pubkeySetting: PubkeySetting - """Checks for any expressions in this list.""" - or: [OrgMemberProfileFilter!] + """Reads a single `WebauthnSetting` that is related to this `Database`.""" + webauthnSetting: WebauthnSetting - """Negates the expression.""" - not: OrgMemberProfileFilter + """ + Reads and enables pagination through a set of `ConnectedAccountsModule`. + """ + connectedAccountsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `membership` relation.""" - membership: OrgMembershipFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `OrgMembershipDefault` object types. All fields are combined with a logical ‘and.’ -""" -input OrgMembershipDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ConnectedAccountsModuleFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """The method to use when ordering `ConnectedAccountsModule`.""" + orderBy: [ConnectedAccountsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ConnectedAccountsModuleConnection! - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """Reads and enables pagination through a set of `CryptoAddressesModule`.""" + cryptoAddressesModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [OrgMembershipDefaultFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [OrgMembershipDefaultFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CryptoAddressesModuleFilter - """Negates the expression.""" - not: OrgMembershipDefaultFilter + """The method to use when ordering `CryptoAddressesModule`.""" + orderBy: [CryptoAddressesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAddressesModuleConnection! - """Filter by the object’s `entity` relation.""" - entity: UserFilter -} + """Reads and enables pagination through a set of `CryptoAuthModule`.""" + cryptoAuthModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `OrgMembershipSetting` object types. All fields are combined with a logical ‘and.’ -""" -input OrgMembershipSettingFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CryptoAuthModuleFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """The method to use when ordering `CryptoAuthModule`.""" + orderBy: [CryptoAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): CryptoAuthModuleConnection! - """Filter by the object’s `deleteMemberCascadeChildren` field.""" - deleteMemberCascadeChildren: BooleanFilter + """Reads and enables pagination through a set of `DefaultIdsModule`.""" + defaultIdsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createChildCascadeOwners` field.""" - createChildCascadeOwners: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createChildCascadeAdmins` field.""" - createChildCascadeAdmins: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createChildCascadeMembers` field.""" - createChildCascadeMembers: BooleanFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `allowExternalMembers` field.""" - allowExternalMembers: BooleanFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `inviteProfileAssignmentMode` field.""" - inviteProfileAssignmentMode: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DefaultIdsModuleFilter - """Filter by the object’s `populateMemberEmail` field.""" - populateMemberEmail: BooleanFilter + """The method to use when ordering `DefaultIdsModule`.""" + orderBy: [DefaultIdsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): DefaultIdsModuleConnection! - """Filter by the object’s `limitAllocationMode` field.""" - limitAllocationMode: StringFilter + """ + Reads and enables pagination through a set of `DenormalizedTableField`. + """ + denormalizedTableFields( + """Only read the first `n` values of the set.""" + first: Int - """Checks for all expressions in this list.""" - and: [OrgMembershipSettingFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Checks for any expressions in this list.""" - or: [OrgMembershipSettingFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: OrgMembershipSettingFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `entity` relation.""" - entity: UserFilter -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against many `OrgMember` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgMemberFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgMemberFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DenormalizedTableFieldFilter - """Filters to entities where every related entity matches.""" - every: OrgMemberFilter + """The method to use when ordering `DenormalizedTableField`.""" + orderBy: [DenormalizedTableFieldOrderBy!] = [PRIMARY_KEY_ASC] + ): DenormalizedTableFieldConnection! - """Filters to entities where no related entity matches.""" - none: OrgMemberFilter -} + """Reads and enables pagination through a set of `EmailsModule`.""" + emailsModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `OrgMember` object types. All fields are combined with a logical ‘and.’ -""" -input OrgMemberFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isAdmin` field.""" - isAdmin: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter - - """Checks for all expressions in this list.""" - and: [OrgMemberFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [OrgMemberFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmailsModuleFilter - """Negates the expression.""" - not: OrgMemberFilter + """The method to use when ordering `EmailsModule`.""" + orderBy: [EmailsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): EmailsModuleConnection! - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """ + Reads and enables pagination through a set of `EncryptedSecretsModule`. + """ + encryptedSecretsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entity` relation.""" - entity: UserFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against many `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgAdminGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgAdminGrantFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where every related entity matches.""" - every: OrgAdminGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where no related entity matches.""" - none: OrgAdminGrantFilter -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ -""" -input OrgAdminGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EncryptedSecretsModuleFilter - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """The method to use when ordering `EncryptedSecretsModule`.""" + orderBy: [EncryptedSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): EncryptedSecretsModuleConnection! - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Reads and enables pagination through a set of `InvitesModule`.""" + invitesModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [OrgAdminGrantFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: InvitesModuleFilter - """Checks for any expressions in this list.""" - or: [OrgAdminGrantFilter!] + """The method to use when ordering `InvitesModule`.""" + orderBy: [InvitesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): InvitesModuleConnection! - """Negates the expression.""" - not: OrgAdminGrantFilter + """Reads and enables pagination through a set of `LevelsModule`.""" + levelsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """A related `grantor` exists.""" - grantorExists: Boolean -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against many `OrgOwnerGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgOwnerGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgOwnerGrantFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: LevelsModuleFilter - """Filters to entities where every related entity matches.""" - every: OrgOwnerGrantFilter + """The method to use when ordering `LevelsModule`.""" + orderBy: [LevelsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): LevelsModuleConnection! - """Filters to entities where no related entity matches.""" - none: OrgOwnerGrantFilter -} + """Reads and enables pagination through a set of `LimitsModule`.""" + limitsModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `OrgOwnerGrant` object types. All fields are combined with a logical ‘and.’ -""" -input OrgOwnerGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: LimitsModuleFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """The method to use when ordering `LimitsModule`.""" + orderBy: [LimitsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): LimitsModuleConnection! - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Reads and enables pagination through a set of `MembershipTypesModule`.""" + membershipTypesModules( + """Only read the first `n` values of the set.""" + first: Int - """Checks for all expressions in this list.""" - and: [OrgOwnerGrantFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Checks for any expressions in this list.""" - or: [OrgOwnerGrantFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: OrgOwnerGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: MembershipTypesModuleFilter - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """The method to use when ordering `MembershipTypesModule`.""" + orderBy: [MembershipTypesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): MembershipTypesModuleConnection! - """A related `grantor` exists.""" - grantorExists: Boolean -} + """Reads and enables pagination through a set of `MembershipsModule`.""" + membershipsModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against many `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgMemberProfileFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgMemberProfileFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where every related entity matches.""" - every: OrgMemberProfileFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where no related entity matches.""" - none: OrgMemberProfileFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against many `OrgGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where every related entity matches.""" - every: OrgGrantFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: MembershipsModuleFilter - """Filters to entities where no related entity matches.""" - none: OrgGrantFilter -} + """The method to use when ordering `MembershipsModule`.""" + orderBy: [MembershipsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): MembershipsModuleConnection! -""" -A filter to be used against `OrgGrant` object types. All fields are combined with a logical ‘and.’ -""" -input OrgGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Reads and enables pagination through a set of `PermissionsModule`.""" + permissionsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PermissionsModuleFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """The method to use when ordering `PermissionsModule`.""" + orderBy: [PermissionsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): PermissionsModuleConnection! - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Reads and enables pagination through a set of `PhoneNumbersModule`.""" + phoneNumbersModules( + """Only read the first `n` values of the set.""" + first: Int - """Checks for all expressions in this list.""" - and: [OrgGrantFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Checks for any expressions in this list.""" - or: [OrgGrantFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: OrgGrantFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PhoneNumbersModuleFilter - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """The method to use when ordering `PhoneNumbersModule`.""" + orderBy: [PhoneNumbersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): PhoneNumbersModuleConnection! - """A related `grantor` exists.""" - grantorExists: Boolean -} + """Reads and enables pagination through a set of `ProfilesModule`.""" + profilesModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against many `OrgChartEdge` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgChartEdgeFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgChartEdgeFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where every related entity matches.""" - every: OrgChartEdgeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where no related entity matches.""" - none: OrgChartEdgeFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `OrgChartEdge` object types. All fields are combined with a logical ‘and.’ -""" -input OrgChartEdgeFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ProfilesModuleFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """The method to use when ordering `ProfilesModule`.""" + orderBy: [ProfilesModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ProfilesModuleConnection! - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Reads a single `RlsModule` that is related to this `Database`.""" + rlsModule: RlsModule - """Filter by the object’s `childId` field.""" - childId: UUIDFilter + """Reads and enables pagination through a set of `SecretsModule`.""" + secretsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `parentId` field.""" - parentId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `positionTitle` field.""" - positionTitle: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `positionLevel` field.""" - positionLevel: IntFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [OrgChartEdgeFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [OrgChartEdgeFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SecretsModuleFilter - """Negates the expression.""" - not: OrgChartEdgeFilter + """The method to use when ordering `SecretsModule`.""" + orderBy: [SecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SecretsModuleConnection! - """Filter by the object’s `child` relation.""" - child: UserFilter + """Reads and enables pagination through a set of `SessionsModule`.""" + sessionsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `parent` relation.""" - parent: UserFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """A related `parent` exists.""" - parentExists: Boolean -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against many `OrgChartEdgeGrant` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgChartEdgeGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgChartEdgeGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where every related entity matches.""" - every: OrgChartEdgeGrantFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SessionsModuleFilter - """Filters to entities where no related entity matches.""" - none: OrgChartEdgeGrantFilter -} + """The method to use when ordering `SessionsModule`.""" + orderBy: [SessionsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionsModuleConnection! -""" -A filter to be used against `OrgChartEdgeGrant` object types. All fields are combined with a logical ‘and.’ -""" -input OrgChartEdgeGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Reads and enables pagination through a set of `UserAuthModule`.""" + userAuthModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `childId` field.""" - childId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `parentId` field.""" - parentId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `grantorId` field.""" - grantorId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: UserAuthModuleFilter - """Filter by the object’s `positionTitle` field.""" - positionTitle: StringFilter + """The method to use when ordering `UserAuthModule`.""" + orderBy: [UserAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): UserAuthModuleConnection! - """Filter by the object’s `positionLevel` field.""" - positionLevel: IntFilter + """Reads and enables pagination through a set of `UsersModule`.""" + usersModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [OrgChartEdgeGrantFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [OrgChartEdgeGrantFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: OrgChartEdgeGrantFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `child` relation.""" - child: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: UsersModuleFilter - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """The method to use when ordering `UsersModule`.""" + orderBy: [UsersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): UsersModuleConnection! - """Filter by the object’s `grantor` relation.""" - grantor: UserFilter + """Reads a single `HierarchyModule` that is related to this `Database`.""" + hierarchyModule: HierarchyModule - """A related `grantor` exists.""" - grantorExists: Boolean + """Reads and enables pagination through a set of `SecureTableProvision`.""" + secureTableProvisions( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `parent` relation.""" - parent: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """A related `parent` exists.""" - parentExists: Boolean -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against many `OrgPermissionDefault` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgPermissionDefaultFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgPermissionDefaultFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where every related entity matches.""" - every: OrgPermissionDefaultFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where no related entity matches.""" - none: OrgPermissionDefaultFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SecureTableProvisionFilter -""" -A filter to be used against `OrgPermissionDefault` object types. All fields are combined with a logical ‘and.’ -""" -input OrgPermissionDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """The method to use when ordering `SecureTableProvision`.""" + orderBy: [SecureTableProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): SecureTableProvisionConnection! - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """Reads and enables pagination through a set of `RelationProvision`.""" + relationProvisions( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [OrgPermissionDefaultFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [OrgPermissionDefaultFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: OrgPermissionDefaultFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entity` relation.""" - entity: UserFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: RelationProvisionFilter -""" -A filter to be used against many `AppLimit` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppLimitFilter { - """Filters to entities where at least one related entity matches.""" - some: AppLimitFilter + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): RelationProvisionConnection! - """Filters to entities where every related entity matches.""" - every: AppLimitFilter + """Reads and enables pagination through a set of `Blueprint`.""" + blueprints( + """Only read the first `n` values of the set.""" + first: Int - """Filters to entities where no related entity matches.""" - none: AppLimitFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `AppLimit` object types. All fields are combined with a logical ‘and.’ -""" -input AppLimitFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `num` field.""" - num: BigIntFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: BlueprintFilter - """Filter by the object’s `max` field.""" - max: BigIntFilter + """The method to use when ordering `Blueprint`.""" + orderBy: [BlueprintOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintConnection! - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter + """Reads and enables pagination through a set of `BlueprintConstruction`.""" + blueprintConstructions( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `windowStart` field.""" - windowStart: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `windowDuration` field.""" - windowDuration: IntervalFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [AppLimitFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [AppLimitFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: AppLimitFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: BlueprintConstructionFilter - """Filter by the object’s `actor` relation.""" - actor: UserFilter -} + """The method to use when ordering `BlueprintConstruction`.""" + orderBy: [BlueprintConstructionOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintConstructionConnection! -""" -A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ -""" -input BigIntFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Reads and enables pagination through a set of `StorageModule`.""" + storageModules( + """Only read the first `n` values of the set.""" + first: Int - """Equal to the specified value.""" - equalTo: BigInt + """Only read the last `n` values of the set.""" + last: Int - """Not equal to the specified value.""" - notEqualTo: BigInt + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: BigInt + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: BigInt + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Included in the specified list.""" - in: [BigInt!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: StorageModuleFilter - """Not included in the specified list.""" - notIn: [BigInt!] + """The method to use when ordering `StorageModule`.""" + orderBy: [StorageModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): StorageModuleConnection! - """Less than the specified value.""" - lessThan: BigInt + """Reads and enables pagination through a set of `EntityTypeProvision`.""" + entityTypeProvisions( + """Only read the first `n` values of the set.""" + first: Int - """Less than or equal to the specified value.""" - lessThanOrEqualTo: BigInt + """Only read the last `n` values of the set.""" + last: Int - """Greater than the specified value.""" - greaterThan: BigInt + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: BigInt -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A signed eight-byte integer. The upper big integer values are greater than the -max value for a JavaScript number. Therefore all big integers will be output as -strings and not numbers. -""" -scalar BigInt + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ -""" -input IntervalFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EntityTypeProvisionFilter - """Equal to the specified value.""" - equalTo: IntervalInput + """The method to use when ordering `EntityTypeProvision`.""" + orderBy: [EntityTypeProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): EntityTypeProvisionConnection! - """Not equal to the specified value.""" - notEqualTo: IntervalInput + """Reads a single `RateLimitsModule` that is related to this `Database`.""" + rateLimitsModule: RateLimitsModule - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: IntervalInput + """Reads a single `DevicesModule` that is related to this `Database`.""" + devicesModule: DevicesModule - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: IntervalInput + """Reads and enables pagination through a set of `SessionSecretsModule`.""" + sessionSecretsModules( + """Only read the first `n` values of the set.""" + first: Int - """Included in the specified list.""" - in: [IntervalInput!] + """Only read the last `n` values of the set.""" + last: Int - """Not included in the specified list.""" - notIn: [IntervalInput!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than the specified value.""" - lessThan: IntervalInput + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Less than or equal to the specified value.""" - lessThanOrEqualTo: IntervalInput + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than the specified value.""" - greaterThan: IntervalInput + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SessionSecretsModuleFilter - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: IntervalInput -} + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleConnection! -""" -An interval of time that has passed where the smallest distinct unit is a second. -""" -input IntervalInput { """ - A quantity of seconds. This is the only non-integer field, as all the other - fields will dump their overflow into a smaller unit of time. Intervals don’t - have a smaller unit than seconds. + Reads and enables pagination through a set of `WebauthnCredentialsModule`. """ - seconds: Float - - """A quantity of minutes.""" - minutes: Int + webauthnCredentialsModules( + """Only read the first `n` values of the set.""" + first: Int - """A quantity of hours.""" - hours: Int + """Only read the last `n` values of the set.""" + last: Int - """A quantity of days.""" - days: Int + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """A quantity of months.""" - months: Int + """Read all values in the set before (above) this cursor.""" + before: Cursor - """A quantity of years.""" - years: Int -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgLimitFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgLimitFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: WebauthnCredentialsModuleFilter - """Filters to entities where every related entity matches.""" - every: OrgLimitFilter + """The method to use when ordering `WebauthnCredentialsModule`.""" + orderBy: [WebauthnCredentialsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnCredentialsModuleConnection! - """Filters to entities where no related entity matches.""" - none: OrgLimitFilter -} + """Reads and enables pagination through a set of `WebauthnAuthModule`.""" + webauthnAuthModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ -""" -input OrgLimitFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `num` field.""" - num: BigIntFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `max` field.""" - max: BigIntFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: WebauthnAuthModuleFilter - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter + """The method to use when ordering `WebauthnAuthModule`.""" + orderBy: [WebauthnAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): WebauthnAuthModuleConnection! - """Filter by the object’s `windowStart` field.""" - windowStart: DatetimeFilter + """ + Reads and enables pagination through a set of `IdentityProvidersModule`. + """ + identityProvidersModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `windowDuration` field.""" - windowDuration: IntervalFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [OrgLimitFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [OrgLimitFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: OrgLimitFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: IdentityProvidersModuleFilter - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleConnection! - """Filter by the object’s `entity` relation.""" - entity: UserFilter -} + """Reads and enables pagination through a set of `NotificationsModule`.""" + notificationsModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against many `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgLimitAggregateFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgLimitAggregateFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where every related entity matches.""" - every: OrgLimitAggregateFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where no related entity matches.""" - none: OrgLimitAggregateFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ -""" -input OrgLimitAggregateFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `name` field.""" - name: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: NotificationsModuleFilter - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """The method to use when ordering `NotificationsModule`.""" + orderBy: [NotificationsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): NotificationsModuleConnection! - """Filter by the object’s `num` field.""" - num: BigIntFilter + """Reads a single `PlansModule` that is related to this `Database`.""" + plansModule: PlansModule - """Filter by the object’s `max` field.""" - max: BigIntFilter + """Reads a single `BillingModule` that is related to this `Database`.""" + billingModule: BillingModule - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter + """ + Reads a single `BillingProviderModule` that is related to this `Database`. + """ + billingProviderModule: BillingProviderModule - """Filter by the object’s `windowStart` field.""" - windowStart: DatetimeFilter + """ + Reads and enables pagination through a set of `DatabaseProvisionModule`. + """ + databaseProvisionModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `windowDuration` field.""" - windowDuration: IntervalFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [OrgLimitAggregateFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [OrgLimitAggregateFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: OrgLimitAggregateFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DatabaseProvisionModuleFilter + + """The method to use when ordering `DatabaseProvisionModule`.""" + orderBy: [DatabaseProvisionModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): DatabaseProvisionModuleConnection! } -""" -A filter to be used against many `AppStep` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppStepFilter { - """Filters to entities where at least one related entity matches.""" - some: AppStepFilter +"""A connection to a list of `Schema` values.""" +type SchemaConnection { + """A list of `Schema` objects.""" + nodes: [Schema]! - """Filters to entities where every related entity matches.""" - every: AppStepFilter + """ + A list of edges which contains the `Schema` and cursor to aid in pagination. + """ + edges: [SchemaEdge]! - """Filters to entities where no related entity matches.""" - none: AppStepFilter + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `Schema` you could get from the connection.""" + totalCount: Int! } -""" -A filter to be used against `AppStep` object types. All fields are combined with a logical ‘and.’ -""" -input AppStepFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +type Schema { + id: UUID! + databaseId: UUID! + name: String! + schemaName: String! + label: String + description: String + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + isPublic: Boolean! + createdAt: Datetime + updatedAt: Datetime - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Reads a single `Database` that is related to this `Schema`.""" + database: Database - """Filter by the object’s `name` field.""" - name: StringFilter + """Reads and enables pagination through a set of `Table`.""" + tables( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `count` field.""" - count: IntFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [AppStepFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [AppStepFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TableFilter - """Negates the expression.""" - not: AppStepFilter + """The method to use when ordering `Table`.""" + orderBy: [TableOrderBy!] = [PRIMARY_KEY_ASC] + ): TableConnection! - """Filter by the object’s `actor` relation.""" - actor: UserFilter -} + """Reads and enables pagination through a set of `SchemaGrant`.""" + schemaGrants( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against many `AppAchievement` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppAchievementFilter { - """Filters to entities where at least one related entity matches.""" - some: AppAchievementFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where every related entity matches.""" - every: AppAchievementFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where no related entity matches.""" - none: AppAchievementFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `AppAchievement` object types. All fields are combined with a logical ‘and.’ -""" -input AppAchievementFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SchemaGrantFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """The method to use when ordering `SchemaGrant`.""" + orderBy: [SchemaGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): SchemaGrantConnection! - """Filter by the object’s `count` field.""" - count: IntFilter + """Reads and enables pagination through a set of `View`.""" + views( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [AppAchievementFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [AppAchievementFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: AppAchievementFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewFilter - """Filter by the object’s `actor` relation.""" - actor: UserFilter -} + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewConnection! -""" -A filter to be used against many `AppLevel` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppLevelFilter { - """Filters to entities where at least one related entity matches.""" - some: AppLevelFilter + """Reads and enables pagination through a set of `DefaultPrivilege`.""" + defaultPrivileges( + """Only read the first `n` values of the set.""" + first: Int - """Filters to entities where every related entity matches.""" - every: AppLevelFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where no related entity matches.""" - none: AppLevelFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against `AppLevel` object types. All fields are combined with a logical ‘and.’ -""" -input AppLevelFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `name` field.""" - name: StringFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `description` field.""" - description: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DefaultPrivilegeFilter - """Filter by the object’s `image` field.""" - image: ConstructiveInternalTypeImageFilter + """The method to use when ordering `DefaultPrivilege`.""" + orderBy: [DefaultPrivilegeOrderBy!] = [PRIMARY_KEY_ASC] + ): DefaultPrivilegeConnection! - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Reads and enables pagination through a set of `Enum`.""" + enums( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [AppLevelFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [AppLevelFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: AppLevelFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EnumFilter - """Filter by the object’s `owner` relation.""" - owner: UserFilter + """The method to use when ordering `Enum`.""" + orderBy: [EnumOrderBy!] = [PRIMARY_KEY_ASC] + ): EnumConnection! - """A related `owner` exists.""" - ownerExists: Boolean -} + """Reads and enables pagination through a set of `Function`.""" + functions( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against many `Email` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyEmailFilter { - """Filters to entities where at least one related entity matches.""" - some: EmailFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where every related entity matches.""" - every: EmailFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where no related entity matches.""" - none: EmailFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against `Email` object types. All fields are combined with a logical ‘and.’ -""" -input EmailFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: FunctionFilter - """Filter by the object’s `email` field.""" - email: ConstructiveInternalTypeEmailFilter + """The method to use when ordering `Function`.""" + orderBy: [FunctionOrderBy!] = [PRIMARY_KEY_ASC] + ): FunctionConnection! - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """Reads and enables pagination through a set of `ApiSchema`.""" + apiSchemas( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isPrimary` field.""" - isPrimary: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [EmailFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiSchemaFilter - """Checks for any expressions in this list.""" - or: [EmailFilter!] + """The method to use when ordering `ApiSchema`.""" + orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiSchemaConnection! - """Negates the expression.""" - not: EmailFilter + """Reads and enables pagination through a set of `SessionSecretsModule`.""" + sessionSecretsModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `owner` relation.""" - owner: UserFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeEmailFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Equal to the specified value.""" - equalTo: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Not equal to the specified value.""" - notEqualTo: String + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SessionSecretsModuleFilter + + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleConnection! """ - Not equal to the specified value, treating null like an ordinary value. + Reads and enables pagination through a set of `IdentityProvidersModule`. """ - distinctFrom: String - - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: String + identityProvidersModulesByPrivateSchemaId( + """Only read the first `n` values of the set.""" + first: Int - """Included in the specified list.""" - in: [String!] + """Only read the last `n` values of the set.""" + last: Int - """Not included in the specified list.""" - notIn: [String!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than the specified value.""" - lessThan: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Less than or equal to the specified value.""" - lessThanOrEqualTo: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than the specified value.""" - greaterThan: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: IdentityProvidersModuleFilter - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: String + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleConnection! - """Contains the specified string (case-sensitive).""" - includes: String + """ + Reads and enables pagination through a set of `IdentityProvidersModule`. + """ + identityProvidersModules( + """Only read the first `n` values of the set.""" + first: Int - """Does not contain the specified string (case-sensitive).""" - notIncludes: String + """Only read the last `n` values of the set.""" + last: Int - """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeEmail + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeEmail + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Starts with the specified string (case-sensitive).""" - startsWith: String + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Does not start with the specified string (case-sensitive).""" - notStartsWith: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: IdentityProvidersModuleFilter - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeEmail + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleConnection! +} - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeEmail +enum ObjectCategory { + CORE + MODULE + APP +} - """Ends with the specified string (case-sensitive).""" - endsWith: String - - """Does not end with the specified string (case-sensitive).""" - notEndsWith: String - - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeEmail - - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeEmail - - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: String +"""A connection to a list of `Table` values.""" +type TableConnection { + """A list of `Table` objects.""" + nodes: [Table]! """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + A list of edges which contains the `Table` and cursor to aid in pagination. """ - notLike: String + edges: [TableEdge]! - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: ConstructiveInternalTypeEmail + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: ConstructiveInternalTypeEmail + """The count of *all* `Table` you could get from the connection.""" + totalCount: Int! +} - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: ConstructiveInternalTypeEmail +type Table { + id: UUID! + databaseId: UUID! + schemaId: UUID! + name: String! + label: String + description: String + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + useRls: Boolean! + timestamps: Boolean! + peoplestamps: Boolean! + pluralName: String + singularName: String + tags: [String]! + inheritsId: UUID + createdAt: Datetime + updatedAt: Datetime - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: ConstructiveInternalTypeEmail + """Reads a single `Database` that is related to this `Table`.""" + database: Database - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: ConstructiveInternalTypeEmail + """Reads a single `Schema` that is related to this `Table`.""" + schema: Schema - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: ConstructiveInternalTypeEmail + """Reads a single `Table` that is related to this `Table`.""" + inherits: Table - """Included in the specified list (case-insensitive).""" - inInsensitive: [ConstructiveInternalTypeEmail!] + """Reads and enables pagination through a set of `CheckConstraint`.""" + checkConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [ConstructiveInternalTypeEmail!] + """Only read the last `n` values of the set.""" + last: Int - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: ConstructiveInternalTypeEmail + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: ConstructiveInternalTypeEmail + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: ConstructiveInternalTypeEmail + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: ConstructiveInternalTypeEmail -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CheckConstraintFilter -scalar ConstructiveInternalTypeEmail + """The method to use when ordering `CheckConstraint`.""" + orderBy: [CheckConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): CheckConstraintConnection! -""" -A filter to be used against many `PhoneNumber` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyPhoneNumberFilter { - """Filters to entities where at least one related entity matches.""" - some: PhoneNumberFilter + """Reads and enables pagination through a set of `Field`.""" + fields( + """Only read the first `n` values of the set.""" + first: Int - """Filters to entities where every related entity matches.""" - every: PhoneNumberFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where no related entity matches.""" - none: PhoneNumberFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against `PhoneNumber` object types. All fields are combined with a logical ‘and.’ -""" -input PhoneNumberFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `cc` field.""" - cc: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: FieldFilter - """Filter by the object’s `number` field.""" - number: StringFilter + """The method to use when ordering `Field`.""" + orderBy: [FieldOrderBy!] = [PRIMARY_KEY_ASC] + ): FieldConnection! - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """Reads and enables pagination through a set of `ForeignKeyConstraint`.""" + foreignKeyConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isPrimary` field.""" - isPrimary: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for all expressions in this list.""" - and: [PhoneNumberFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ForeignKeyConstraintFilter - """Checks for any expressions in this list.""" - or: [PhoneNumberFilter!] + """The method to use when ordering `ForeignKeyConstraint`.""" + orderBy: [ForeignKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): ForeignKeyConstraintConnection! - """Negates the expression.""" - not: PhoneNumberFilter + """Reads and enables pagination through a set of `FullTextSearch`.""" + fullTextSearches( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `owner` relation.""" - owner: UserFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against many `CryptoAddress` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyCryptoAddressFilter { - """Filters to entities where at least one related entity matches.""" - some: CryptoAddressFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where every related entity matches.""" - every: CryptoAddressFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where no related entity matches.""" - none: CryptoAddressFilter -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against `CryptoAddress` object types. All fields are combined with a logical ‘and.’ -""" -input CryptoAddressFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: FullTextSearchFilter - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """The method to use when ordering `FullTextSearch`.""" + orderBy: [FullTextSearchOrderBy!] = [PRIMARY_KEY_ASC] + ): FullTextSearchConnection! - """Filter by the object’s `address` field.""" - address: StringFilter + """Reads and enables pagination through a set of `Index`.""" + indices( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `isPrimary` field.""" - isPrimary: BooleanFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: IndexFilter - """Checks for all expressions in this list.""" - and: [CryptoAddressFilter!] + """The method to use when ordering `Index`.""" + orderBy: [IndexOrderBy!] = [PRIMARY_KEY_ASC] + ): IndexConnection! - """Checks for any expressions in this list.""" - or: [CryptoAddressFilter!] + """Reads and enables pagination through a set of `Policy`.""" + policies( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: CryptoAddressFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `owner` relation.""" - owner: UserFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against many `WebauthnCredential` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyWebauthnCredentialFilter { - """Filters to entities where at least one related entity matches.""" - some: WebauthnCredentialFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where every related entity matches.""" - every: WebauthnCredentialFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where no related entity matches.""" - none: WebauthnCredentialFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PolicyFilter -""" -A filter to be used against `WebauthnCredential` object types. All fields are combined with a logical ‘and.’ -""" -input WebauthnCredentialFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """The method to use when ordering `Policy`.""" + orderBy: [PolicyOrderBy!] = [PRIMARY_KEY_ASC] + ): PolicyConnection! - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Reads and enables pagination through a set of `PrimaryKeyConstraint`.""" + primaryKeyConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `credentialId` field.""" - credentialId: StringFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `publicKey` field.""" - publicKey: Base64EncodedBinaryFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `signCount` field.""" - signCount: BigIntFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `webauthnUserId` field.""" - webauthnUserId: StringFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `transports` field.""" - transports: StringListFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PrimaryKeyConstraintFilter - """Filter by the object’s `credentialDeviceType` field.""" - credentialDeviceType: StringFilter + """The method to use when ordering `PrimaryKeyConstraint`.""" + orderBy: [PrimaryKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): PrimaryKeyConstraintConnection! - """Filter by the object’s `backupEligible` field.""" - backupEligible: BooleanFilter + """Reads and enables pagination through a set of `TableGrant`.""" + tableGrants( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `backupState` field.""" - backupState: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `name` field.""" - name: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `lastUsedAt` field.""" - lastUsedAt: DatetimeFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TableGrantFilter - """Checks for all expressions in this list.""" - and: [WebauthnCredentialFilter!] + """The method to use when ordering `TableGrant`.""" + orderBy: [TableGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): TableGrantConnection! - """Checks for any expressions in this list.""" - or: [WebauthnCredentialFilter!] + """Reads and enables pagination through a set of `Trigger`.""" + triggers( + """Only read the first `n` values of the set.""" + first: Int - """Negates the expression.""" - not: WebauthnCredentialFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `owner` relation.""" - owner: UserFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against Base64EncodedBinary fields. All fields are combined with a logical ‘and.’ -""" -input Base64EncodedBinaryFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Equal to the specified value.""" - equalTo: Base64EncodedBinary + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Not equal to the specified value.""" - notEqualTo: Base64EncodedBinary + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: TriggerFilter - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Base64EncodedBinary + """The method to use when ordering `Trigger`.""" + orderBy: [TriggerOrderBy!] = [PRIMARY_KEY_ASC] + ): TriggerConnection! - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Base64EncodedBinary + """Reads and enables pagination through a set of `UniqueConstraint`.""" + uniqueConstraints( + """Only read the first `n` values of the set.""" + first: Int - """Included in the specified list.""" - in: [Base64EncodedBinary!] + """Only read the last `n` values of the set.""" + last: Int - """Not included in the specified list.""" - notIn: [Base64EncodedBinary!] -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""Binary data encoded using Base64""" -scalar Base64EncodedBinary + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -A filter to be used against many `AppInvite` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppInviteFilter { - """Filters to entities where at least one related entity matches.""" - some: AppInviteFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filters to entities where every related entity matches.""" - every: AppInviteFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: UniqueConstraintFilter - """Filters to entities where no related entity matches.""" - none: AppInviteFilter -} + """The method to use when ordering `UniqueConstraint`.""" + orderBy: [UniqueConstraintOrderBy!] = [PRIMARY_KEY_ASC] + ): UniqueConstraintConnection! -""" -A filter to be used against `AppInvite` object types. All fields are combined with a logical ‘and.’ -""" -input AppInviteFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Reads and enables pagination through a set of `View`.""" + views( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `email` field.""" - email: ConstructiveInternalTypeEmailFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `inviteToken` field.""" - inviteToken: StringFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `inviteValid` field.""" - inviteValid: BooleanFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `inviteLimit` field.""" - inviteLimit: IntFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewFilter - """Filter by the object’s `inviteCount` field.""" - inviteCount: IntFilter + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewConnection! - """Filter by the object’s `multiple` field.""" - multiple: BooleanFilter - - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter - - """Filter by the object’s `expiresAt` field.""" - expiresAt: DatetimeFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Reads and enables pagination through a set of `ViewTable`.""" + viewTables( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [AppInviteFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [AppInviteFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: AppInviteFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `sender` relation.""" - sender: UserFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewTableFilter -""" -A filter to be used against many `AppClaimedInvite` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAppClaimedInviteFilter { - """Filters to entities where at least one related entity matches.""" - some: AppClaimedInviteFilter + """The method to use when ordering `ViewTable`.""" + orderBy: [ViewTableOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewTableConnection! - """Filters to entities where every related entity matches.""" - every: AppClaimedInviteFilter + """Reads and enables pagination through a set of `EmbeddingChunk`.""" + embeddingChunksByChunksTableId( + """Only read the first `n` values of the set.""" + first: Int - """Filters to entities where no related entity matches.""" - none: AppClaimedInviteFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against `AppClaimedInvite` object types. All fields are combined with a logical ‘and.’ -""" -input AppClaimedInviteFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `receiverId` field.""" - receiverId: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmbeddingChunkFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """The method to use when ordering `EmbeddingChunk`.""" + orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] + ): EmbeddingChunkConnection! - """Checks for all expressions in this list.""" - and: [AppClaimedInviteFilter!] + """Reads and enables pagination through a set of `EmbeddingChunk`.""" + embeddingChunks( + """Only read the first `n` values of the set.""" + first: Int - """Checks for any expressions in this list.""" - or: [AppClaimedInviteFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Negates the expression.""" - not: AppClaimedInviteFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `receiver` relation.""" - receiver: UserFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """A related `receiver` exists.""" - receiverExists: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `sender` relation.""" - sender: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: EmbeddingChunkFilter - """A related `sender` exists.""" - senderExists: Boolean -} + """The method to use when ordering `EmbeddingChunk`.""" + orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] + ): EmbeddingChunkConnection! -""" -A filter to be used against many `OrgInvite` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgInviteFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgInviteFilter + """Reads and enables pagination through a set of `SpatialRelation`.""" + spatialRelationsByRefTableId( + """Only read the first `n` values of the set.""" + first: Int - """Filters to entities where every related entity matches.""" - every: OrgInviteFilter + """Only read the last `n` values of the set.""" + last: Int - """Filters to entities where no related entity matches.""" - none: OrgInviteFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -""" -A filter to be used against `OrgInvite` object types. All fields are combined with a logical ‘and.’ -""" -input OrgInviteFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `email` field.""" - email: ConstructiveInternalTypeEmailFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SpatialRelationFilter - """Filter by the object’s `receiverId` field.""" - receiverId: UUIDFilter + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] + ): SpatialRelationConnection! - """Filter by the object’s `inviteToken` field.""" - inviteToken: StringFilter + """Reads and enables pagination through a set of `SpatialRelation`.""" + spatialRelations( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `inviteValid` field.""" - inviteValid: BooleanFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `inviteLimit` field.""" - inviteLimit: IntFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `inviteCount` field.""" - inviteCount: IntFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `multiple` field.""" - multiple: BooleanFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `profileId` field.""" - profileId: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SpatialRelationFilter - """Filter by the object’s `expiresAt` field.""" - expiresAt: DatetimeFilter + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] + ): SpatialRelationConnection! - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Reads a single `Partition` that is related to this `Table`.""" + partition: Partition - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Reads and enables pagination through a set of `SecureTableProvision`.""" + secureTableProvisions( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [OrgInviteFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [OrgInviteFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: OrgInviteFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SecureTableProvisionFilter - """Filter by the object’s `receiver` relation.""" - receiver: UserFilter + """The method to use when ordering `SecureTableProvision`.""" + orderBy: [SecureTableProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): SecureTableProvisionConnection! - """A related `receiver` exists.""" - receiverExists: Boolean + """Reads and enables pagination through a set of `RelationProvision`.""" + relationProvisionsBySourceTableId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `sender` relation.""" - sender: UserFilter -} + """Only read the last `n` values of the set.""" + last: Int -""" -A filter to be used against many `OrgClaimedInvite` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyOrgClaimedInviteFilter { - """Filters to entities where at least one related entity matches.""" - some: OrgClaimedInviteFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filters to entities where every related entity matches.""" - every: OrgClaimedInviteFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filters to entities where no related entity matches.""" - none: OrgClaimedInviteFilter -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against `OrgClaimedInvite` object types. All fields are combined with a logical ‘and.’ -""" -input OrgClaimedInviteFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: RelationProvisionFilter - """Filter by the object’s `senderId` field.""" - senderId: UUIDFilter + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): RelationProvisionConnection! - """Filter by the object’s `receiverId` field.""" - receiverId: UUIDFilter + """Reads and enables pagination through a set of `RelationProvision`.""" + relationProvisionsByTargetTableId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for all expressions in this list.""" - and: [OrgClaimedInviteFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Checks for any expressions in this list.""" - or: [OrgClaimedInviteFilter!] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: RelationProvisionFilter - """Negates the expression.""" - not: OrgClaimedInviteFilter + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] + ): RelationProvisionConnection! - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """Reads and enables pagination through a set of `SessionSecretsModule`.""" + sessionSecretsModulesBySessionsTableId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `receiver` relation.""" - receiver: UserFilter + """Only read the last `n` values of the set.""" + last: Int - """A related `receiver` exists.""" - receiverExists: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `sender` relation.""" - sender: UserFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """A related `sender` exists.""" - senderExists: Boolean -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against many `AuditLog` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAuditLogFilter { - """Filters to entities where at least one related entity matches.""" - some: AuditLogFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SessionSecretsModuleFilter - """Filters to entities where every related entity matches.""" - every: AuditLogFilter + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleConnection! - """Filters to entities where no related entity matches.""" - none: AuditLogFilter -} + """Reads and enables pagination through a set of `SessionSecretsModule`.""" + sessionSecretsModules( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `AuditLog` object types. All fields are combined with a logical ‘and.’ -""" -input AuditLogFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `event` field.""" - event: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `origin` field.""" - origin: ConstructiveInternalTypeOriginFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `userAgent` field.""" - userAgent: StringFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SessionSecretsModuleFilter - """Filter by the object’s `ipAddress` field.""" - ipAddress: InternetAddressFilter + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleConnection! - """Filter by the object’s `success` field.""" - success: BooleanFilter + """ + Reads and enables pagination through a set of `IdentityProvidersModule`. + """ + identityProvidersModules( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Checks for all expressions in this list.""" - and: [AuditLogFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for any expressions in this list.""" - or: [AuditLogFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Negates the expression.""" - not: AuditLogFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `actor` relation.""" - actor: UserFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: IdentityProvidersModuleFilter - """A related `actor` exists.""" - actorExists: Boolean + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleConnection! } -""" -A filter to be used against ConstructiveInternalTypeOrigin fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeOriginFilter { +"""A connection to a list of `CheckConstraint` values.""" +type CheckConstraintConnection { + """A list of `CheckConstraint` objects.""" + nodes: [CheckConstraint]! + """ - Is null (if `true` is specified) or is not null (if `false` is specified). + A list of edges which contains the `CheckConstraint` and cursor to aid in pagination. """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeOrigin + edges: [CheckConstraintEdge]! - """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeOrigin + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Not equal to the specified value, treating null like an ordinary value. + The count of *all* `CheckConstraint` you could get from the connection. """ - distinctFrom: ConstructiveInternalTypeOrigin + totalCount: Int! +} - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeOrigin +type CheckConstraint { + id: UUID! + databaseId: UUID! + tableId: UUID! + name: String + type: String + fieldIds: [UUID]! + expr: JSON + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + createdAt: Datetime + updatedAt: Datetime - """Included in the specified list.""" - in: [ConstructiveInternalTypeOrigin!] + """Reads a single `Database` that is related to this `CheckConstraint`.""" + database: Database - """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeOrigin!] + """Reads a single `Table` that is related to this `CheckConstraint`.""" + table: Table +} - """Less than the specified value.""" - lessThan: ConstructiveInternalTypeOrigin +"""A `CheckConstraint` edge in the connection.""" +type CheckConstraintEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeOrigin + """The `CheckConstraint` at the end of the edge.""" + node: CheckConstraint +} - """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeOrigin +""" +A filter to be used against `CheckConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input CheckConstraintFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter + + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter + + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter + + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `type` field.""" + type: StringFilter + + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter + + """Filter by the object’s `expr` field.""" + expr: JSONFilter + + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter + + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter + + """Filter by the object’s `module` field.""" + module: StringFilter + + """Filter by the object’s `scope` field.""" + scope: IntFilter + + """Filter by the object’s `tags` field.""" + tags: StringListFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Checks for all expressions in this list.""" + and: [CheckConstraintFilter!] + + """Checks for any expressions in this list.""" + or: [CheckConstraintFilter!] + + """Negates the expression.""" + not: CheckConstraintFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter +} + +""" +A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ +""" +input UUIDFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean + + """Equal to the specified value.""" + equalTo: UUID + + """Not equal to the specified value.""" + notEqualTo: UUID + + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: UUID + + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: UUID + + """Included in the specified list.""" + in: [UUID!] + + """Not included in the specified list.""" + notIn: [UUID!] + + """Less than the specified value.""" + lessThan: UUID + + """Less than or equal to the specified value.""" + lessThanOrEqualTo: UUID + + """Greater than the specified value.""" + greaterThan: UUID """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeOrigin + greaterThanOrEqualTo: UUID +} + +""" +A filter to be used against String fields. All fields are combined with a logical ‘and.’ +""" +input StringFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean + + """Equal to the specified value.""" + equalTo: String + + """Not equal to the specified value.""" + notEqualTo: String + + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: String + + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: String + + """Included in the specified list.""" + in: [String!] + + """Not included in the specified list.""" + notIn: [String!] + + """Less than the specified value.""" + lessThan: String + + """Less than or equal to the specified value.""" + lessThanOrEqualTo: String + + """Greater than the specified value.""" + greaterThan: String + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: String """Contains the specified string (case-sensitive).""" - includes: ConstructiveInternalTypeOrigin + includes: String """Does not contain the specified string (case-sensitive).""" - notIncludes: ConstructiveInternalTypeOrigin + notIncludes: String """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeOrigin + includesInsensitive: String """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeOrigin + notIncludesInsensitive: String """Starts with the specified string (case-sensitive).""" - startsWith: ConstructiveInternalTypeOrigin + startsWith: String """Does not start with the specified string (case-sensitive).""" - notStartsWith: ConstructiveInternalTypeOrigin + notStartsWith: String """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeOrigin + startsWithInsensitive: String """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeOrigin + notStartsWithInsensitive: String """Ends with the specified string (case-sensitive).""" - endsWith: ConstructiveInternalTypeOrigin + endsWith: String """Does not end with the specified string (case-sensitive).""" - notEndsWith: ConstructiveInternalTypeOrigin + notEndsWith: String """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeOrigin + endsWithInsensitive: String """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeOrigin + notEndsWithInsensitive: String """ Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - like: ConstructiveInternalTypeOrigin + like: String """ Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - notLike: ConstructiveInternalTypeOrigin + notLike: String """ Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - likeInsensitive: ConstructiveInternalTypeOrigin + likeInsensitive: String """ Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - notLikeInsensitive: ConstructiveInternalTypeOrigin + notLikeInsensitive: String """Equal to the specified value (case-insensitive).""" equalToInsensitive: String @@ -8843,446 +9734,327 @@ input ConstructiveInternalTypeOriginFilter { greaterThanOrEqualToInsensitive: String } -scalar ConstructiveInternalTypeOrigin - """ -A filter to be used against InternetAddress fields. All fields are combined with a logical ‘and.’ +A filter to be used against UUID List fields. All fields are combined with a logical ‘and.’ """ -input InternetAddressFilter { +input UUIDListFilter { """ Is null (if `true` is specified) or is not null (if `false` is specified). """ isNull: Boolean """Equal to the specified value.""" - equalTo: InternetAddress + equalTo: [UUID] """Not equal to the specified value.""" - notEqualTo: InternetAddress + notEqualTo: [UUID] """ Not equal to the specified value, treating null like an ordinary value. """ - distinctFrom: InternetAddress + distinctFrom: [UUID] """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: InternetAddress - - """Included in the specified list.""" - in: [InternetAddress!] - - """Not included in the specified list.""" - notIn: [InternetAddress!] + notDistinctFrom: [UUID] """Less than the specified value.""" - lessThan: InternetAddress + lessThan: [UUID] """Less than or equal to the specified value.""" - lessThanOrEqualTo: InternetAddress + lessThanOrEqualTo: [UUID] """Greater than the specified value.""" - greaterThan: InternetAddress + greaterThan: [UUID] """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: InternetAddress + greaterThanOrEqualTo: [UUID] - """Contains the specified internet address.""" - contains: InternetAddress + """Contains the specified list of values.""" + contains: [UUID] - """Contains or equal to the specified internet address.""" - containsOrEqualTo: InternetAddress + """Contained by the specified list of values.""" + containedBy: [UUID] - """Contained by the specified internet address.""" - containedBy: InternetAddress + """Overlaps the specified list of values.""" + overlaps: [UUID] - """Contained by or equal to the specified internet address.""" - containedByOrEqualTo: InternetAddress + """Any array item is equal to the specified value.""" + anyEqualTo: UUID - """Contains or contained by the specified internet address.""" - containsOrContainedBy: InternetAddress -} + """Any array item is not equal to the specified value.""" + anyNotEqualTo: UUID -""" -A filter to be used against many `AgentThread` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAgentThreadFilter { - """Filters to entities where at least one related entity matches.""" - some: AgentThreadFilter + """Any array item is less than the specified value.""" + anyLessThan: UUID - """Filters to entities where every related entity matches.""" - every: AgentThreadFilter + """Any array item is less than or equal to the specified value.""" + anyLessThanOrEqualTo: UUID - """Filters to entities where no related entity matches.""" - none: AgentThreadFilter + """Any array item is greater than the specified value.""" + anyGreaterThan: UUID + + """Any array item is greater than or equal to the specified value.""" + anyGreaterThanOrEqualTo: UUID } """ -A filter to be used against `AgentThread` object types. All fields are combined with a logical ‘and.’ +A filter to be used against JSON fields. All fields are combined with a logical ‘and.’ """ -input AgentThreadFilter { - """Filter by the object’s `title` field.""" - title: StringFilter - - """Filter by the object’s `mode` field.""" - mode: StringFilter - - """Filter by the object’s `model` field.""" - model: StringFilter - - """Filter by the object’s `systemPrompt` field.""" - systemPrompt: StringFilter +input JSONFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Equal to the specified value.""" + equalTo: JSON - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Not equal to the specified value.""" + notEqualTo: JSON - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: JSON - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: JSON - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Included in the specified list.""" + in: [JSON!] - """Filter by the object’s `status` field.""" - status: StringFilter + """Not included in the specified list.""" + notIn: [JSON!] - """Checks for all expressions in this list.""" - and: [AgentThreadFilter!] + """Less than the specified value.""" + lessThan: JSON - """Checks for any expressions in this list.""" - or: [AgentThreadFilter!] + """Less than or equal to the specified value.""" + lessThanOrEqualTo: JSON - """Negates the expression.""" - not: AgentThreadFilter + """Greater than the specified value.""" + greaterThan: JSON - """Filter by the object’s `entity` relation.""" - entity: UserFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: JSON - """Filter by the object’s `owner` relation.""" - owner: UserFilter + """Contains the specified JSON.""" + contains: JSON - """Filter by the object’s `agentMessagesByThreadId` relation.""" - agentMessagesByThreadId: AgentThreadToManyAgentMessageFilter + """Contains the specified key.""" + containsKey: String - """`agentMessagesByThreadId` exist.""" - agentMessagesByThreadIdExist: Boolean + """Contains all of the specified keys.""" + containsAllKeys: [String!] - """Filter by the object’s `agentTasksByThreadId` relation.""" - agentTasksByThreadId: AgentThreadToManyAgentTaskFilter + """Contains any of the specified keys.""" + containsAnyKeys: [String!] - """`agentTasksByThreadId` exist.""" - agentTasksByThreadIdExist: Boolean + """Contained by the specified JSON.""" + containedBy: JSON } """ -A filter to be used against many `AgentMessage` object types. All fields are combined with a logical ‘and.’ +A filter to be used against ObjectCategory fields. All fields are combined with a logical ‘and.’ """ -input AgentThreadToManyAgentMessageFilter { - """Filters to entities where at least one related entity matches.""" - some: AgentMessageFilter +input ObjectCategoryFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filters to entities where every related entity matches.""" - every: AgentMessageFilter + """Equal to the specified value.""" + equalTo: ObjectCategory - """Filters to entities where no related entity matches.""" - none: AgentMessageFilter + """Not equal to the specified value.""" + notEqualTo: ObjectCategory + + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: ObjectCategory + + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ObjectCategory + + """Included in the specified list.""" + in: [ObjectCategory!] + + """Not included in the specified list.""" + notIn: [ObjectCategory!] + + """Less than the specified value.""" + lessThan: ObjectCategory + + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ObjectCategory + + """Greater than the specified value.""" + greaterThan: ObjectCategory + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ObjectCategory } """ -A filter to be used against `AgentMessage` object types. All fields are combined with a logical ‘and.’ +A filter to be used against Int fields. All fields are combined with a logical ‘and.’ """ -input AgentMessageFilter { - """Filter by the object’s `threadId` field.""" - threadId: UUIDFilter - - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter - - """Filter by the object’s `authorRole` field.""" - authorRole: StringFilter +input IntFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Equal to the specified value.""" + equalTo: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Not equal to the specified value.""" + notEqualTo: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Int - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Int - """Filter by the object’s `parts` field.""" - parts: JSONFilter + """Included in the specified list.""" + in: [Int!] - """Checks for all expressions in this list.""" - and: [AgentMessageFilter!] + """Not included in the specified list.""" + notIn: [Int!] - """Checks for any expressions in this list.""" - or: [AgentMessageFilter!] + """Less than the specified value.""" + lessThan: Int - """Negates the expression.""" - not: AgentMessageFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Int - """Filter by the object’s `owner` relation.""" - owner: UserFilter + """Greater than the specified value.""" + greaterThan: Int - """Filter by the object’s `thread` relation.""" - thread: AgentThreadFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Int } """ -A filter to be used against many `AgentTask` object types. All fields are combined with a logical ‘and.’ +A filter to be used against String List fields. All fields are combined with a logical ‘and.’ """ -input AgentThreadToManyAgentTaskFilter { - """Filters to entities where at least one related entity matches.""" - some: AgentTaskFilter +input StringListFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filters to entities where every related entity matches.""" - every: AgentTaskFilter + """Equal to the specified value.""" + equalTo: [String] - """Filters to entities where no related entity matches.""" - none: AgentTaskFilter -} + """Not equal to the specified value.""" + notEqualTo: [String] -""" -A filter to be used against `AgentTask` object types. All fields are combined with a logical ‘and.’ -""" -input AgentTaskFilter { - """Filter by the object’s `threadId` field.""" - threadId: UUIDFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: [String] - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: [String] - """Filter by the object’s `description` field.""" - description: StringFilter + """Less than the specified value.""" + lessThan: [String] - """Filter by the object’s `source` field.""" - source: StringFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: [String] - """Filter by the object’s `error` field.""" - error: StringFilter + """Greater than the specified value.""" + greaterThan: [String] - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: [String] - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Contains the specified list of values.""" + contains: [String] - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Contained by the specified list of values.""" + containedBy: [String] - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Overlaps the specified list of values.""" + overlaps: [String] - """Filter by the object’s `status` field.""" - status: StringFilter + """Any array item is equal to the specified value.""" + anyEqualTo: String - """Checks for all expressions in this list.""" - and: [AgentTaskFilter!] + """Any array item is not equal to the specified value.""" + anyNotEqualTo: String - """Checks for any expressions in this list.""" - or: [AgentTaskFilter!] + """Any array item is less than the specified value.""" + anyLessThan: String - """Negates the expression.""" - not: AgentTaskFilter + """Any array item is less than or equal to the specified value.""" + anyLessThanOrEqualTo: String - """Filter by the object’s `owner` relation.""" - owner: UserFilter + """Any array item is greater than the specified value.""" + anyGreaterThan: String - """Filter by the object’s `thread` relation.""" - thread: AgentThreadFilter + """Any array item is greater than or equal to the specified value.""" + anyGreaterThanOrEqualTo: String } """ -A filter to be used against many `AgentMessage` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAgentMessageFilter { - """Filters to entities where at least one related entity matches.""" - some: AgentMessageFilter - - """Filters to entities where every related entity matches.""" - every: AgentMessageFilter - - """Filters to entities where no related entity matches.""" - none: AgentMessageFilter -} - -""" -A filter to be used against many `AgentTask` object types. All fields are combined with a logical ‘and.’ -""" -input UserToManyAgentTaskFilter { - """Filters to entities where at least one related entity matches.""" - some: AgentTaskFilter - - """Filters to entities where every related entity matches.""" - every: AgentTaskFilter - - """Filters to entities where no related entity matches.""" - none: AgentTaskFilter -} - -""" -A filter to be used against many `Schema` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySchemaFilter { - """Filters to entities where at least one related entity matches.""" - some: SchemaFilter - - """Filters to entities where every related entity matches.""" - every: SchemaFilter - - """Filters to entities where no related entity matches.""" - none: SchemaFilter -} - -""" -A filter to be used against `Schema` object types. All fields are combined with a logical ‘and.’ +A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ """ -input SchemaFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `schemaName` field.""" - schemaName: StringFilter - - """Filter by the object’s `label` field.""" - label: StringFilter - - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter - - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter - - """Filter by the object’s `module` field.""" - module: StringFilter - - """Filter by the object’s `scope` field.""" - scope: IntFilter - - """Filter by the object’s `tags` field.""" - tags: StringListFilter - - """Filter by the object’s `isPublic` field.""" - isPublic: BooleanFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Checks for all expressions in this list.""" - and: [SchemaFilter!] - - """Checks for any expressions in this list.""" - or: [SchemaFilter!] - - """Negates the expression.""" - not: SchemaFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `tables` relation.""" - tables: SchemaToManyTableFilter - - """`tables` exist.""" - tablesExist: Boolean - - """Filter by the object’s `schemaGrants` relation.""" - schemaGrants: SchemaToManySchemaGrantFilter - - """`schemaGrants` exist.""" - schemaGrantsExist: Boolean - - """Filter by the object’s `views` relation.""" - views: SchemaToManyViewFilter - - """`views` exist.""" - viewsExist: Boolean - - """Filter by the object’s `defaultPrivileges` relation.""" - defaultPrivileges: SchemaToManyDefaultPrivilegeFilter - - """`defaultPrivileges` exist.""" - defaultPrivilegesExist: Boolean - - """Filter by the object’s `enums` relation.""" - enums: SchemaToManyEnumFilter - - """`enums` exist.""" - enumsExist: Boolean - - """Filter by the object’s `apiSchemas` relation.""" - apiSchemas: SchemaToManyApiSchemaFilter - - """`apiSchemas` exist.""" - apiSchemasExist: Boolean +input DatetimeFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `sessionSecretsModules` relation.""" - sessionSecretsModules: SchemaToManySessionSecretsModuleFilter + """Equal to the specified value.""" + equalTo: Datetime - """`sessionSecretsModules` exist.""" - sessionSecretsModulesExist: Boolean + """Not equal to the specified value.""" + notEqualTo: Datetime """ - Filter by the object’s `identityProvidersModulesByPrivateSchemaId` relation. + Not equal to the specified value, treating null like an ordinary value. """ - identityProvidersModulesByPrivateSchemaId: SchemaToManyIdentityProvidersModuleFilter + distinctFrom: Datetime - """`identityProvidersModulesByPrivateSchemaId` exist.""" - identityProvidersModulesByPrivateSchemaIdExist: Boolean + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Datetime - """Filter by the object’s `identityProvidersModules` relation.""" - identityProvidersModules: SchemaToManyIdentityProvidersModuleFilter + """Included in the specified list.""" + in: [Datetime!] - """`identityProvidersModules` exist.""" - identityProvidersModulesExist: Boolean -} + """Not included in the specified list.""" + notIn: [Datetime!] -""" -A filter to be used against many `Table` object types. All fields are combined with a logical ‘and.’ -""" -input SchemaToManyTableFilter { - """Filters to entities where at least one related entity matches.""" - some: TableFilter + """Less than the specified value.""" + lessThan: Datetime - """Filters to entities where every related entity matches.""" - every: TableFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Datetime - """Filters to entities where no related entity matches.""" - none: TableFilter + """Greater than the specified value.""" + greaterThan: Datetime + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Datetime } """ -A filter to be used against `Table` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Database` object types. All fields are combined with a logical ‘and.’ """ -input TableFilter { +input DatabaseFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `schemaHash` field.""" + schemaHash: StringFilter """Filter by the object’s `name` field.""" name: StringFilter @@ -9290,41 +10062,8 @@ input TableFilter { """Filter by the object’s `label` field.""" label: StringFilter - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter - - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter - - """Filter by the object’s `module` field.""" - module: StringFilter - - """Filter by the object’s `scope` field.""" - scope: IntFilter - - """Filter by the object’s `useRls` field.""" - useRls: BooleanFilter - - """Filter by the object’s `timestamps` field.""" - timestamps: BooleanFilter - - """Filter by the object’s `peoplestamps` field.""" - peoplestamps: BooleanFilter - - """Filter by the object’s `pluralName` field.""" - pluralName: StringFilter - - """Filter by the object’s `singularName` field.""" - singularName: StringFilter - - """Filter by the object’s `tags` field.""" - tags: StringListFilter - - """Filter by the object’s `inheritsId` field.""" - inheritsId: UUIDFilter + """Filter by the object’s `hash` field.""" + hash: UUIDFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -9333,552 +10072,504 @@ input TableFilter { updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [TableFilter!] + and: [DatabaseFilter!] """Checks for any expressions in this list.""" - or: [TableFilter!] + or: [DatabaseFilter!] """Negates the expression.""" - not: TableFilter + not: DatabaseFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """A related `owner` exists.""" + ownerExists: Boolean - """Filter by the object’s `inherits` relation.""" - inherits: TableFilter + """Filter by the object’s `schemas` relation.""" + schemas: DatabaseToManySchemaFilter - """A related `inherits` exists.""" - inheritsExists: Boolean + """`schemas` exist.""" + schemasExist: Boolean + + """Filter by the object’s `tables` relation.""" + tables: DatabaseToManyTableFilter + + """`tables` exist.""" + tablesExist: Boolean """Filter by the object’s `checkConstraints` relation.""" - checkConstraints: TableToManyCheckConstraintFilter + checkConstraints: DatabaseToManyCheckConstraintFilter """`checkConstraints` exist.""" checkConstraintsExist: Boolean """Filter by the object’s `fields` relation.""" - fields: TableToManyFieldFilter + fields: DatabaseToManyFieldFilter """`fields` exist.""" fieldsExist: Boolean """Filter by the object’s `foreignKeyConstraints` relation.""" - foreignKeyConstraints: TableToManyForeignKeyConstraintFilter + foreignKeyConstraints: DatabaseToManyForeignKeyConstraintFilter """`foreignKeyConstraints` exist.""" foreignKeyConstraintsExist: Boolean """Filter by the object’s `fullTextSearches` relation.""" - fullTextSearches: TableToManyFullTextSearchFilter + fullTextSearches: DatabaseToManyFullTextSearchFilter """`fullTextSearches` exist.""" fullTextSearchesExist: Boolean """Filter by the object’s `indices` relation.""" - indices: TableToManyIndexFilter + indices: DatabaseToManyIndexFilter """`indices` exist.""" indicesExist: Boolean """Filter by the object’s `policies` relation.""" - policies: TableToManyPolicyFilter + policies: DatabaseToManyPolicyFilter """`policies` exist.""" policiesExist: Boolean """Filter by the object’s `primaryKeyConstraints` relation.""" - primaryKeyConstraints: TableToManyPrimaryKeyConstraintFilter + primaryKeyConstraints: DatabaseToManyPrimaryKeyConstraintFilter """`primaryKeyConstraints` exist.""" primaryKeyConstraintsExist: Boolean + """Filter by the object’s `schemaGrants` relation.""" + schemaGrants: DatabaseToManySchemaGrantFilter + + """`schemaGrants` exist.""" + schemaGrantsExist: Boolean + """Filter by the object’s `tableGrants` relation.""" - tableGrants: TableToManyTableGrantFilter + tableGrants: DatabaseToManyTableGrantFilter """`tableGrants` exist.""" tableGrantsExist: Boolean + """Filter by the object’s `triggerFunctions` relation.""" + triggerFunctions: DatabaseToManyTriggerFunctionFilter + + """`triggerFunctions` exist.""" + triggerFunctionsExist: Boolean + """Filter by the object’s `triggers` relation.""" - triggers: TableToManyTriggerFilter + triggers: DatabaseToManyTriggerFilter """`triggers` exist.""" triggersExist: Boolean """Filter by the object’s `uniqueConstraints` relation.""" - uniqueConstraints: TableToManyUniqueConstraintFilter + uniqueConstraints: DatabaseToManyUniqueConstraintFilter """`uniqueConstraints` exist.""" uniqueConstraintsExist: Boolean """Filter by the object’s `views` relation.""" - views: TableToManyViewFilter + views: DatabaseToManyViewFilter """`views` exist.""" viewsExist: Boolean - """Filter by the object’s `viewTables` relation.""" - viewTables: TableToManyViewTableFilter + """Filter by the object’s `viewGrants` relation.""" + viewGrants: DatabaseToManyViewGrantFilter - """`viewTables` exist.""" - viewTablesExist: Boolean + """`viewGrants` exist.""" + viewGrantsExist: Boolean - """Filter by the object’s `embeddingChunksByChunksTableId` relation.""" - embeddingChunksByChunksTableId: TableToManyEmbeddingChunkFilter + """Filter by the object’s `viewRules` relation.""" + viewRules: DatabaseToManyViewRuleFilter - """`embeddingChunksByChunksTableId` exist.""" - embeddingChunksByChunksTableIdExist: Boolean + """`viewRules` exist.""" + viewRulesExist: Boolean + + """Filter by the object’s `defaultPrivileges` relation.""" + defaultPrivileges: DatabaseToManyDefaultPrivilegeFilter + + """`defaultPrivileges` exist.""" + defaultPrivilegesExist: Boolean + + """Filter by the object’s `enums` relation.""" + enums: DatabaseToManyEnumFilter + + """`enums` exist.""" + enumsExist: Boolean """Filter by the object’s `embeddingChunks` relation.""" - embeddingChunks: TableToManyEmbeddingChunkFilter + embeddingChunks: DatabaseToManyEmbeddingChunkFilter """`embeddingChunks` exist.""" embeddingChunksExist: Boolean - """Filter by the object’s `spatialRelationsByRefTableId` relation.""" - spatialRelationsByRefTableId: TableToManySpatialRelationFilter - - """`spatialRelationsByRefTableId` exist.""" - spatialRelationsByRefTableIdExist: Boolean - """Filter by the object’s `spatialRelations` relation.""" - spatialRelations: TableToManySpatialRelationFilter + spatialRelations: DatabaseToManySpatialRelationFilter """`spatialRelations` exist.""" spatialRelationsExist: Boolean - """Filter by the object’s `secureTableProvisions` relation.""" - secureTableProvisions: TableToManySecureTableProvisionFilter + """Filter by the object’s `functions` relation.""" + functions: DatabaseToManyFunctionFilter - """`secureTableProvisions` exist.""" - secureTableProvisionsExist: Boolean + """`functions` exist.""" + functionsExist: Boolean - """Filter by the object’s `relationProvisionsBySourceTableId` relation.""" - relationProvisionsBySourceTableId: TableToManyRelationProvisionFilter + """Filter by the object’s `databaseTransfers` relation.""" + databaseTransfers: DatabaseToManyDatabaseTransferFilter - """`relationProvisionsBySourceTableId` exist.""" - relationProvisionsBySourceTableIdExist: Boolean + """`databaseTransfers` exist.""" + databaseTransfersExist: Boolean - """Filter by the object’s `relationProvisionsByTargetTableId` relation.""" - relationProvisionsByTargetTableId: TableToManyRelationProvisionFilter + """Filter by the object’s `partitions` relation.""" + partitions: DatabaseToManyPartitionFilter - """`relationProvisionsByTargetTableId` exist.""" - relationProvisionsByTargetTableIdExist: Boolean + """`partitions` exist.""" + partitionsExist: Boolean - """ - Filter by the object’s `sessionSecretsModulesBySessionsTableId` relation. - """ - sessionSecretsModulesBySessionsTableId: TableToManySessionSecretsModuleFilter + """Filter by the object’s `apis` relation.""" + apis: DatabaseToManyApiFilter - """`sessionSecretsModulesBySessionsTableId` exist.""" - sessionSecretsModulesBySessionsTableIdExist: Boolean + """`apis` exist.""" + apisExist: Boolean - """Filter by the object’s `sessionSecretsModules` relation.""" - sessionSecretsModules: TableToManySessionSecretsModuleFilter + """Filter by the object’s `apiModules` relation.""" + apiModules: DatabaseToManyApiModuleFilter - """`sessionSecretsModules` exist.""" - sessionSecretsModulesExist: Boolean + """`apiModules` exist.""" + apiModulesExist: Boolean - """Filter by the object’s `identityProvidersModules` relation.""" - identityProvidersModules: TableToManyIdentityProvidersModuleFilter + """Filter by the object’s `apiSchemas` relation.""" + apiSchemas: DatabaseToManyApiSchemaFilter - """`identityProvidersModules` exist.""" - identityProvidersModulesExist: Boolean -} + """`apiSchemas` exist.""" + apiSchemasExist: Boolean -""" -A filter to be used against many `CheckConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyCheckConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: CheckConstraintFilter + """Filter by the object’s `sites` relation.""" + sites: DatabaseToManySiteFilter - """Filters to entities where every related entity matches.""" - every: CheckConstraintFilter + """`sites` exist.""" + sitesExist: Boolean - """Filters to entities where no related entity matches.""" - none: CheckConstraintFilter -} + """Filter by the object’s `apps` relation.""" + apps: DatabaseToManyAppFilter -""" -A filter to be used against many `Field` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyFieldFilter { - """Filters to entities where at least one related entity matches.""" - some: FieldFilter + """`apps` exist.""" + appsExist: Boolean - """Filters to entities where every related entity matches.""" - every: FieldFilter + """Filter by the object’s `domains` relation.""" + domains: DatabaseToManyDomainFilter - """Filters to entities where no related entity matches.""" - none: FieldFilter -} + """`domains` exist.""" + domainsExist: Boolean -""" -A filter to be used against `Field` object types. All fields are combined with a logical ‘and.’ -""" -input FieldFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `siteMetadata` relation.""" + siteMetadata: DatabaseToManySiteMetadatumFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """`siteMetadata` exist.""" + siteMetadataExist: Boolean - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `siteModules` relation.""" + siteModules: DatabaseToManySiteModuleFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """`siteModules` exist.""" + siteModulesExist: Boolean - """Filter by the object’s `label` field.""" - label: StringFilter + """Filter by the object’s `siteThemes` relation.""" + siteThemes: DatabaseToManySiteThemeFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """`siteThemes` exist.""" + siteThemesExist: Boolean - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """Filter by the object’s `databaseSetting` relation.""" + databaseSetting: DatabaseSettingFilter - """Filter by the object’s `isRequired` field.""" - isRequired: BooleanFilter + """A related `databaseSetting` exists.""" + databaseSettingExists: Boolean - """Filter by the object’s `apiRequired` field.""" - apiRequired: BooleanFilter + """Filter by the object’s `apiSettings` relation.""" + apiSettings: DatabaseToManyApiSettingFilter - """Filter by the object’s `defaultValue` field.""" - defaultValue: StringFilter + """`apiSettings` exist.""" + apiSettingsExist: Boolean - """Filter by the object’s `defaultValueAst` field.""" - defaultValueAst: JSONFilter + """Filter by the object’s `rlsSetting` relation.""" + rlsSetting: RlsSettingFilter - """Filter by the object’s `type` field.""" - type: StringFilter + """A related `rlsSetting` exists.""" + rlsSettingExists: Boolean - """Filter by the object’s `fieldOrder` field.""" - fieldOrder: IntFilter + """Filter by the object’s `corsSettings` relation.""" + corsSettings: DatabaseToManyCorsSettingFilter - """Filter by the object’s `regexp` field.""" - regexp: StringFilter + """`corsSettings` exist.""" + corsSettingsExist: Boolean - """Filter by the object’s `chk` field.""" - chk: JSONFilter + """Filter by the object’s `pubkeySetting` relation.""" + pubkeySetting: PubkeySettingFilter - """Filter by the object’s `chkExpr` field.""" - chkExpr: JSONFilter + """A related `pubkeySetting` exists.""" + pubkeySettingExists: Boolean - """Filter by the object’s `min` field.""" - min: FloatFilter + """Filter by the object’s `webauthnSetting` relation.""" + webauthnSetting: WebauthnSettingFilter - """Filter by the object’s `max` field.""" - max: FloatFilter + """A related `webauthnSetting` exists.""" + webauthnSettingExists: Boolean - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """Filter by the object’s `connectedAccountsModules` relation.""" + connectedAccountsModules: DatabaseToManyConnectedAccountsModuleFilter - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """`connectedAccountsModules` exist.""" + connectedAccountsModulesExist: Boolean - """Filter by the object’s `module` field.""" - module: StringFilter + """Filter by the object’s `cryptoAddressesModules` relation.""" + cryptoAddressesModules: DatabaseToManyCryptoAddressesModuleFilter - """Filter by the object’s `scope` field.""" - scope: IntFilter + """`cryptoAddressesModules` exist.""" + cryptoAddressesModulesExist: Boolean - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `cryptoAuthModules` relation.""" + cryptoAuthModules: DatabaseToManyCryptoAuthModuleFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """`cryptoAuthModules` exist.""" + cryptoAuthModulesExist: Boolean - """Checks for all expressions in this list.""" - and: [FieldFilter!] + """Filter by the object’s `defaultIdsModules` relation.""" + defaultIdsModules: DatabaseToManyDefaultIdsModuleFilter - """Checks for any expressions in this list.""" - or: [FieldFilter!] + """`defaultIdsModules` exist.""" + defaultIdsModulesExist: Boolean - """Negates the expression.""" - not: FieldFilter + """Filter by the object’s `denormalizedTableFields` relation.""" + denormalizedTableFields: DatabaseToManyDenormalizedTableFieldFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """`denormalizedTableFields` exist.""" + denormalizedTableFieldsExist: Boolean - """Filter by the object’s `table` relation.""" - table: TableFilter + """Filter by the object’s `emailsModules` relation.""" + emailsModules: DatabaseToManyEmailsModuleFilter - """Filter by the object’s `spatialRelations` relation.""" - spatialRelations: FieldToManySpatialRelationFilter + """`emailsModules` exist.""" + emailsModulesExist: Boolean - """`spatialRelations` exist.""" - spatialRelationsExist: Boolean + """Filter by the object’s `encryptedSecretsModules` relation.""" + encryptedSecretsModules: DatabaseToManyEncryptedSecretsModuleFilter - """Filter by the object’s `spatialRelationsByRefFieldId` relation.""" - spatialRelationsByRefFieldId: FieldToManySpatialRelationFilter - - """`spatialRelationsByRefFieldId` exist.""" - spatialRelationsByRefFieldIdExist: Boolean -} - -""" -A filter to be used against Float fields. All fields are combined with a logical ‘and.’ -""" -input FloatFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: Float - - """Not equal to the specified value.""" - notEqualTo: Float - - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: Float - - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: Float + """`encryptedSecretsModules` exist.""" + encryptedSecretsModulesExist: Boolean - """Included in the specified list.""" - in: [Float!] + """Filter by the object’s `invitesModules` relation.""" + invitesModules: DatabaseToManyInvitesModuleFilter - """Not included in the specified list.""" - notIn: [Float!] + """`invitesModules` exist.""" + invitesModulesExist: Boolean - """Less than the specified value.""" - lessThan: Float + """Filter by the object’s `levelsModules` relation.""" + levelsModules: DatabaseToManyLevelsModuleFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: Float + """`levelsModules` exist.""" + levelsModulesExist: Boolean - """Greater than the specified value.""" - greaterThan: Float + """Filter by the object’s `limitsModules` relation.""" + limitsModules: DatabaseToManyLimitsModuleFilter - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: Float -} + """`limitsModules` exist.""" + limitsModulesExist: Boolean -""" -A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ -""" -input FieldToManySpatialRelationFilter { - """Filters to entities where at least one related entity matches.""" - some: SpatialRelationFilter + """Filter by the object’s `membershipTypesModules` relation.""" + membershipTypesModules: DatabaseToManyMembershipTypesModuleFilter - """Filters to entities where every related entity matches.""" - every: SpatialRelationFilter + """`membershipTypesModules` exist.""" + membershipTypesModulesExist: Boolean - """Filters to entities where no related entity matches.""" - none: SpatialRelationFilter -} + """Filter by the object’s `membershipsModules` relation.""" + membershipsModules: DatabaseToManyMembershipsModuleFilter -""" -A filter to be used against `SpatialRelation` object types. All fields are combined with a logical ‘and.’ -""" -input SpatialRelationFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """`membershipsModules` exist.""" + membershipsModulesExist: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `permissionsModules` relation.""" + permissionsModules: DatabaseToManyPermissionsModuleFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """`permissionsModules` exist.""" + permissionsModulesExist: Boolean - """Filter by the object’s `fieldId` field.""" - fieldId: UUIDFilter + """Filter by the object’s `phoneNumbersModules` relation.""" + phoneNumbersModules: DatabaseToManyPhoneNumbersModuleFilter - """Filter by the object’s `refTableId` field.""" - refTableId: UUIDFilter + """`phoneNumbersModules` exist.""" + phoneNumbersModulesExist: Boolean - """Filter by the object’s `refFieldId` field.""" - refFieldId: UUIDFilter + """Filter by the object’s `profilesModules` relation.""" + profilesModules: DatabaseToManyProfilesModuleFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """`profilesModules` exist.""" + profilesModulesExist: Boolean - """Filter by the object’s `operator` field.""" - operator: StringFilter + """Filter by the object’s `rlsModule` relation.""" + rlsModule: RlsModuleFilter - """Filter by the object’s `paramName` field.""" - paramName: StringFilter + """A related `rlsModule` exists.""" + rlsModuleExists: Boolean - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Filter by the object’s `secretsModules` relation.""" + secretsModules: DatabaseToManySecretsModuleFilter - """Filter by the object’s `module` field.""" - module: StringFilter + """`secretsModules` exist.""" + secretsModulesExist: Boolean - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Filter by the object’s `sessionsModules` relation.""" + sessionsModules: DatabaseToManySessionsModuleFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """`sessionsModules` exist.""" + sessionsModulesExist: Boolean - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `userAuthModules` relation.""" + userAuthModules: DatabaseToManyUserAuthModuleFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """`userAuthModules` exist.""" + userAuthModulesExist: Boolean - """Checks for all expressions in this list.""" - and: [SpatialRelationFilter!] + """Filter by the object’s `usersModules` relation.""" + usersModules: DatabaseToManyUsersModuleFilter - """Checks for any expressions in this list.""" - or: [SpatialRelationFilter!] + """`usersModules` exist.""" + usersModulesExist: Boolean - """Negates the expression.""" - not: SpatialRelationFilter + """Filter by the object’s `hierarchyModule` relation.""" + hierarchyModule: HierarchyModuleFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """A related `hierarchyModule` exists.""" + hierarchyModuleExists: Boolean - """Filter by the object’s `field` relation.""" - field: FieldFilter + """Filter by the object’s `secureTableProvisions` relation.""" + secureTableProvisions: DatabaseToManySecureTableProvisionFilter - """Filter by the object’s `refField` relation.""" - refField: FieldFilter + """`secureTableProvisions` exist.""" + secureTableProvisionsExist: Boolean - """Filter by the object’s `refTable` relation.""" - refTable: TableFilter + """Filter by the object’s `relationProvisions` relation.""" + relationProvisions: DatabaseToManyRelationProvisionFilter - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """`relationProvisions` exist.""" + relationProvisionsExist: Boolean -""" -A filter to be used against many `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyForeignKeyConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: ForeignKeyConstraintFilter + """Filter by the object’s `blueprints` relation.""" + blueprints: DatabaseToManyBlueprintFilter - """Filters to entities where every related entity matches.""" - every: ForeignKeyConstraintFilter + """`blueprints` exist.""" + blueprintsExist: Boolean - """Filters to entities where no related entity matches.""" - none: ForeignKeyConstraintFilter -} + """Filter by the object’s `blueprintConstructions` relation.""" + blueprintConstructions: DatabaseToManyBlueprintConstructionFilter -""" -A filter to be used against `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input ForeignKeyConstraintFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """`blueprintConstructions` exist.""" + blueprintConstructionsExist: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `storageModules` relation.""" + storageModules: DatabaseToManyStorageModuleFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """`storageModules` exist.""" + storageModulesExist: Boolean - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `entityTypeProvisions` relation.""" + entityTypeProvisions: DatabaseToManyEntityTypeProvisionFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """`entityTypeProvisions` exist.""" + entityTypeProvisionsExist: Boolean - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """Filter by the object’s `rateLimitsModule` relation.""" + rateLimitsModule: RateLimitsModuleFilter - """Filter by the object’s `type` field.""" - type: StringFilter + """A related `rateLimitsModule` exists.""" + rateLimitsModuleExists: Boolean - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """Filter by the object’s `devicesModule` relation.""" + devicesModule: DevicesModuleFilter - """Filter by the object’s `refTableId` field.""" - refTableId: UUIDFilter + """A related `devicesModule` exists.""" + devicesModuleExists: Boolean - """Filter by the object’s `refFieldIds` field.""" - refFieldIds: UUIDListFilter + """Filter by the object’s `sessionSecretsModules` relation.""" + sessionSecretsModules: DatabaseToManySessionSecretsModuleFilter - """Filter by the object’s `deleteAction` field.""" - deleteAction: StringFilter + """`sessionSecretsModules` exist.""" + sessionSecretsModulesExist: Boolean - """Filter by the object’s `updateAction` field.""" - updateAction: StringFilter + """Filter by the object’s `webauthnCredentialsModules` relation.""" + webauthnCredentialsModules: DatabaseToManyWebauthnCredentialsModuleFilter - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """`webauthnCredentialsModules` exist.""" + webauthnCredentialsModulesExist: Boolean - """Filter by the object’s `module` field.""" - module: StringFilter + """Filter by the object’s `webauthnAuthModules` relation.""" + webauthnAuthModules: DatabaseToManyWebauthnAuthModuleFilter - """Filter by the object’s `scope` field.""" - scope: IntFilter + """`webauthnAuthModules` exist.""" + webauthnAuthModulesExist: Boolean - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """Filter by the object’s `identityProvidersModules` relation.""" + identityProvidersModules: DatabaseToManyIdentityProvidersModuleFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """`identityProvidersModules` exist.""" + identityProvidersModulesExist: Boolean - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `notificationsModules` relation.""" + notificationsModules: DatabaseToManyNotificationsModuleFilter - """Checks for all expressions in this list.""" - and: [ForeignKeyConstraintFilter!] + """`notificationsModules` exist.""" + notificationsModulesExist: Boolean - """Checks for any expressions in this list.""" - or: [ForeignKeyConstraintFilter!] + """Filter by the object’s `plansModule` relation.""" + plansModule: PlansModuleFilter - """Negates the expression.""" - not: ForeignKeyConstraintFilter + """A related `plansModule` exists.""" + plansModuleExists: Boolean - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `billingModule` relation.""" + billingModule: BillingModuleFilter - """Filter by the object’s `refTable` relation.""" - refTable: TableFilter + """A related `billingModule` exists.""" + billingModuleExists: Boolean - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `billingProviderModule` relation.""" + billingProviderModule: BillingProviderModuleFilter -""" -A filter to be used against many `FullTextSearch` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyFullTextSearchFilter { - """Filters to entities where at least one related entity matches.""" - some: FullTextSearchFilter + """A related `billingProviderModule` exists.""" + billingProviderModuleExists: Boolean - """Filters to entities where every related entity matches.""" - every: FullTextSearchFilter + """Filter by the object’s `databaseProvisionModules` relation.""" + databaseProvisionModules: DatabaseToManyDatabaseProvisionModuleFilter - """Filters to entities where no related entity matches.""" - none: FullTextSearchFilter + """`databaseProvisionModules` exist.""" + databaseProvisionModulesExist: Boolean } """ -A filter to be used against `FullTextSearch` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ """ -input FullTextSearchFilter { +input UserFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `username` field.""" + username: StringTrgmFilter - """Filter by the object’s `fieldId` field.""" - fieldId: UUIDFilter + """Filter by the object’s `displayName` field.""" + displayName: StringTrgmFilter - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """Filter by the object’s `profilePicture` field.""" + profilePicture: ConstructiveInternalTypeImageFilter - """Filter by the object’s `weights` field.""" - weights: StringListFilter + """Filter by the object’s `searchTsv` field.""" + searchTsv: FullTextFilter - """Filter by the object’s `langs` field.""" - langs: StringListFilter + """Filter by the object’s `type` field.""" + type: IntFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -9887,2722 +10578,2379 @@ input FullTextSearchFilter { updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [FullTextSearchFilter!] + and: [UserFilter!] """Checks for any expressions in this list.""" - or: [FullTextSearchFilter!] + or: [UserFilter!] """Negates the expression.""" - not: FullTextSearchFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: UserFilter - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `roleType` relation.""" + roleType: RoleTypeFilter -""" -A filter to be used against many `Index` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyIndexFilter { - """Filters to entities where at least one related entity matches.""" - some: IndexFilter + """Filter by the object’s `ownedDatabases` relation.""" + ownedDatabases: UserToManyDatabaseFilter - """Filters to entities where every related entity matches.""" - every: IndexFilter + """`ownedDatabases` exist.""" + ownedDatabasesExist: Boolean - """Filters to entities where no related entity matches.""" - none: IndexFilter -} + """Filter by the object’s `appMembershipByActorId` relation.""" + appMembershipByActorId: AppMembershipFilter -""" -A filter to be used against `Index` object types. All fields are combined with a logical ‘and.’ -""" -input IndexFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """A related `appMembershipByActorId` exists.""" + appMembershipByActorIdExists: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `appAdminGrantsByActorId` relation.""" + appAdminGrantsByActorId: UserToManyAppAdminGrantFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """`appAdminGrantsByActorId` exist.""" + appAdminGrantsByActorIdExist: Boolean - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `appAdminGrantsByGrantorId` relation.""" + appAdminGrantsByGrantorId: UserToManyAppAdminGrantFilter - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """`appAdminGrantsByGrantorId` exist.""" + appAdminGrantsByGrantorIdExist: Boolean - """Filter by the object’s `includeFieldIds` field.""" - includeFieldIds: UUIDListFilter + """Filter by the object’s `appOwnerGrantsByActorId` relation.""" + appOwnerGrantsByActorId: UserToManyAppOwnerGrantFilter - """Filter by the object’s `accessMethod` field.""" - accessMethod: StringFilter + """`appOwnerGrantsByActorId` exist.""" + appOwnerGrantsByActorIdExist: Boolean - """Filter by the object’s `indexParams` field.""" - indexParams: JSONFilter + """Filter by the object’s `appOwnerGrantsByGrantorId` relation.""" + appOwnerGrantsByGrantorId: UserToManyAppOwnerGrantFilter - """Filter by the object’s `whereClause` field.""" - whereClause: JSONFilter + """`appOwnerGrantsByGrantorId` exist.""" + appOwnerGrantsByGrantorIdExist: Boolean - """Filter by the object’s `isUnique` field.""" - isUnique: BooleanFilter + """Filter by the object’s `appGrantsByActorId` relation.""" + appGrantsByActorId: UserToManyAppGrantFilter - """Filter by the object’s `options` field.""" - options: JSONFilter + """`appGrantsByActorId` exist.""" + appGrantsByActorIdExist: Boolean - """Filter by the object’s `opClasses` field.""" - opClasses: StringListFilter + """Filter by the object’s `appGrantsByGrantorId` relation.""" + appGrantsByGrantorId: UserToManyAppGrantFilter - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """`appGrantsByGrantorId` exist.""" + appGrantsByGrantorIdExist: Boolean - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Filter by the object’s `orgMembershipsByActorId` relation.""" + orgMembershipsByActorId: UserToManyOrgMembershipFilter - """Filter by the object’s `module` field.""" - module: StringFilter + """`orgMembershipsByActorId` exist.""" + orgMembershipsByActorIdExist: Boolean - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Filter by the object’s `orgMembershipsByEntityId` relation.""" + orgMembershipsByEntityId: UserToManyOrgMembershipFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """`orgMembershipsByEntityId` exist.""" + orgMembershipsByEntityIdExist: Boolean - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `orgMembershipDefaultByEntityId` relation.""" + orgMembershipDefaultByEntityId: OrgMembershipDefaultFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """A related `orgMembershipDefaultByEntityId` exists.""" + orgMembershipDefaultByEntityIdExists: Boolean - """Checks for all expressions in this list.""" - and: [IndexFilter!] + """Filter by the object’s `orgMembershipSettingByEntityId` relation.""" + orgMembershipSettingByEntityId: OrgMembershipSettingFilter - """Checks for any expressions in this list.""" - or: [IndexFilter!] + """A related `orgMembershipSettingByEntityId` exists.""" + orgMembershipSettingByEntityIdExists: Boolean - """Negates the expression.""" - not: IndexFilter + """Filter by the object’s `orgMembersByActorId` relation.""" + orgMembersByActorId: UserToManyOrgMemberFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """`orgMembersByActorId` exist.""" + orgMembersByActorIdExist: Boolean - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `orgMembersByEntityId` relation.""" + orgMembersByEntityId: UserToManyOrgMemberFilter -""" -A filter to be used against many `Policy` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyPolicyFilter { - """Filters to entities where at least one related entity matches.""" - some: PolicyFilter + """`orgMembersByEntityId` exist.""" + orgMembersByEntityIdExist: Boolean - """Filters to entities where every related entity matches.""" - every: PolicyFilter + """Filter by the object’s `orgAdminGrantsByActorId` relation.""" + orgAdminGrantsByActorId: UserToManyOrgAdminGrantFilter - """Filters to entities where no related entity matches.""" - none: PolicyFilter -} + """`orgAdminGrantsByActorId` exist.""" + orgAdminGrantsByActorIdExist: Boolean -""" -A filter to be used against `Policy` object types. All fields are combined with a logical ‘and.’ -""" -input PolicyFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `orgAdminGrantsByEntityId` relation.""" + orgAdminGrantsByEntityId: UserToManyOrgAdminGrantFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """`orgAdminGrantsByEntityId` exist.""" + orgAdminGrantsByEntityIdExist: Boolean - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `orgAdminGrantsByGrantorId` relation.""" + orgAdminGrantsByGrantorId: UserToManyOrgAdminGrantFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """`orgAdminGrantsByGrantorId` exist.""" + orgAdminGrantsByGrantorIdExist: Boolean - """Filter by the object’s `granteeName` field.""" - granteeName: StringFilter + """Filter by the object’s `orgOwnerGrantsByActorId` relation.""" + orgOwnerGrantsByActorId: UserToManyOrgOwnerGrantFilter - """Filter by the object’s `privilege` field.""" - privilege: StringFilter + """`orgOwnerGrantsByActorId` exist.""" + orgOwnerGrantsByActorIdExist: Boolean - """Filter by the object’s `permissive` field.""" - permissive: BooleanFilter + """Filter by the object’s `orgOwnerGrantsByEntityId` relation.""" + orgOwnerGrantsByEntityId: UserToManyOrgOwnerGrantFilter - """Filter by the object’s `disabled` field.""" - disabled: BooleanFilter + """`orgOwnerGrantsByEntityId` exist.""" + orgOwnerGrantsByEntityIdExist: Boolean - """Filter by the object’s `policyType` field.""" - policyType: StringFilter - - """Filter by the object’s `data` field.""" - data: JSONFilter - - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter - - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter - - """Filter by the object’s `module` field.""" - module: StringFilter - - """Filter by the object’s `scope` field.""" - scope: IntFilter - - """Filter by the object’s `tags` field.""" - tags: StringListFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `orgOwnerGrantsByGrantorId` relation.""" + orgOwnerGrantsByGrantorId: UserToManyOrgOwnerGrantFilter - """Checks for all expressions in this list.""" - and: [PolicyFilter!] + """`orgOwnerGrantsByGrantorId` exist.""" + orgOwnerGrantsByGrantorIdExist: Boolean - """Checks for any expressions in this list.""" - or: [PolicyFilter!] + """Filter by the object’s `orgMemberProfilesByActorId` relation.""" + orgMemberProfilesByActorId: UserToManyOrgMemberProfileFilter - """Negates the expression.""" - not: PolicyFilter + """`orgMemberProfilesByActorId` exist.""" + orgMemberProfilesByActorIdExist: Boolean - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `orgMemberProfilesByEntityId` relation.""" + orgMemberProfilesByEntityId: UserToManyOrgMemberProfileFilter - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """`orgMemberProfilesByEntityId` exist.""" + orgMemberProfilesByEntityIdExist: Boolean -""" -A filter to be used against many `PrimaryKeyConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyPrimaryKeyConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: PrimaryKeyConstraintFilter + """Filter by the object’s `orgGrantsByActorId` relation.""" + orgGrantsByActorId: UserToManyOrgGrantFilter - """Filters to entities where every related entity matches.""" - every: PrimaryKeyConstraintFilter + """`orgGrantsByActorId` exist.""" + orgGrantsByActorIdExist: Boolean - """Filters to entities where no related entity matches.""" - none: PrimaryKeyConstraintFilter -} + """Filter by the object’s `orgGrantsByEntityId` relation.""" + orgGrantsByEntityId: UserToManyOrgGrantFilter -""" -A filter to be used against `PrimaryKeyConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input PrimaryKeyConstraintFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """`orgGrantsByEntityId` exist.""" + orgGrantsByEntityIdExist: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `orgGrantsByGrantorId` relation.""" + orgGrantsByGrantorId: UserToManyOrgGrantFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """`orgGrantsByGrantorId` exist.""" + orgGrantsByGrantorIdExist: Boolean - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `parentOrgChartEdges` relation.""" + parentOrgChartEdges: UserToManyOrgChartEdgeFilter - """Filter by the object’s `type` field.""" - type: StringFilter + """`parentOrgChartEdges` exist.""" + parentOrgChartEdgesExist: Boolean - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """Filter by the object’s `orgChartEdgesByEntityId` relation.""" + orgChartEdgesByEntityId: UserToManyOrgChartEdgeFilter - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """`orgChartEdgesByEntityId` exist.""" + orgChartEdgesByEntityIdExist: Boolean - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Filter by the object’s `childOrgChartEdges` relation.""" + childOrgChartEdges: UserToManyOrgChartEdgeFilter - """Filter by the object’s `module` field.""" - module: StringFilter + """`childOrgChartEdges` exist.""" + childOrgChartEdgesExist: Boolean - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Filter by the object’s `parentOrgChartEdgeGrants` relation.""" + parentOrgChartEdgeGrants: UserToManyOrgChartEdgeGrantFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """`parentOrgChartEdgeGrants` exist.""" + parentOrgChartEdgeGrantsExist: Boolean - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `orgChartEdgeGrantsByEntityId` relation.""" + orgChartEdgeGrantsByEntityId: UserToManyOrgChartEdgeGrantFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """`orgChartEdgeGrantsByEntityId` exist.""" + orgChartEdgeGrantsByEntityIdExist: Boolean - """Checks for all expressions in this list.""" - and: [PrimaryKeyConstraintFilter!] + """Filter by the object’s `orgChartEdgeGrantsByGrantorId` relation.""" + orgChartEdgeGrantsByGrantorId: UserToManyOrgChartEdgeGrantFilter - """Checks for any expressions in this list.""" - or: [PrimaryKeyConstraintFilter!] + """`orgChartEdgeGrantsByGrantorId` exist.""" + orgChartEdgeGrantsByGrantorIdExist: Boolean - """Negates the expression.""" - not: PrimaryKeyConstraintFilter + """Filter by the object’s `childOrgChartEdgeGrants` relation.""" + childOrgChartEdgeGrants: UserToManyOrgChartEdgeGrantFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """`childOrgChartEdgeGrants` exist.""" + childOrgChartEdgeGrantsExist: Boolean - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `orgPermissionDefaultsByEntityId` relation.""" + orgPermissionDefaultsByEntityId: UserToManyOrgPermissionDefaultFilter -""" -A filter to be used against many `TableGrant` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyTableGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: TableGrantFilter + """`orgPermissionDefaultsByEntityId` exist.""" + orgPermissionDefaultsByEntityIdExist: Boolean - """Filters to entities where every related entity matches.""" - every: TableGrantFilter + """Filter by the object’s `appLimitsByActorId` relation.""" + appLimitsByActorId: UserToManyAppLimitFilter - """Filters to entities where no related entity matches.""" - none: TableGrantFilter -} + """`appLimitsByActorId` exist.""" + appLimitsByActorIdExist: Boolean -""" -A filter to be used against `TableGrant` object types. All fields are combined with a logical ‘and.’ -""" -input TableGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `appLimitCreditsByActorId` relation.""" + appLimitCreditsByActorId: UserToManyAppLimitCreditFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """`appLimitCreditsByActorId` exist.""" + appLimitCreditsByActorIdExist: Boolean - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `orgLimitsByActorId` relation.""" + orgLimitsByActorId: UserToManyOrgLimitFilter - """Filter by the object’s `privilege` field.""" - privilege: StringFilter + """`orgLimitsByActorId` exist.""" + orgLimitsByActorIdExist: Boolean - """Filter by the object’s `granteeName` field.""" - granteeName: StringFilter + """Filter by the object’s `orgLimitsByEntityId` relation.""" + orgLimitsByEntityId: UserToManyOrgLimitFilter - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """`orgLimitsByEntityId` exist.""" + orgLimitsByEntityIdExist: Boolean - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Filter by the object’s `orgLimitCreditsByActorId` relation.""" + orgLimitCreditsByActorId: UserToManyOrgLimitCreditFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """`orgLimitCreditsByActorId` exist.""" + orgLimitCreditsByActorIdExist: Boolean - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `orgLimitCreditsByEntityId` relation.""" + orgLimitCreditsByEntityId: UserToManyOrgLimitCreditFilter - """Checks for all expressions in this list.""" - and: [TableGrantFilter!] + """`orgLimitCreditsByEntityId` exist.""" + orgLimitCreditsByEntityIdExist: Boolean - """Checks for any expressions in this list.""" - or: [TableGrantFilter!] + """Filter by the object’s `orgLimitAggregatesByEntityId` relation.""" + orgLimitAggregatesByEntityId: UserToManyOrgLimitAggregateFilter - """Negates the expression.""" - not: TableGrantFilter + """`orgLimitAggregatesByEntityId` exist.""" + orgLimitAggregatesByEntityIdExist: Boolean - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `appStepsByActorId` relation.""" + appStepsByActorId: UserToManyAppStepFilter - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """`appStepsByActorId` exist.""" + appStepsByActorIdExist: Boolean -""" -A filter to be used against many `Trigger` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyTriggerFilter { - """Filters to entities where at least one related entity matches.""" - some: TriggerFilter + """Filter by the object’s `appAchievementsByActorId` relation.""" + appAchievementsByActorId: UserToManyAppAchievementFilter - """Filters to entities where every related entity matches.""" - every: TriggerFilter + """`appAchievementsByActorId` exist.""" + appAchievementsByActorIdExist: Boolean - """Filters to entities where no related entity matches.""" - none: TriggerFilter -} + """Filter by the object’s `ownedAppLevels` relation.""" + ownedAppLevels: UserToManyAppLevelFilter -""" -A filter to be used against `Trigger` object types. All fields are combined with a logical ‘and.’ -""" -input TriggerFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """`ownedAppLevels` exist.""" + ownedAppLevelsExist: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `ownedEmails` relation.""" + ownedEmails: UserToManyEmailFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """`ownedEmails` exist.""" + ownedEmailsExist: Boolean - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `ownedPhoneNumbers` relation.""" + ownedPhoneNumbers: UserToManyPhoneNumberFilter - """Filter by the object’s `event` field.""" - event: StringFilter + """`ownedPhoneNumbers` exist.""" + ownedPhoneNumbersExist: Boolean - """Filter by the object’s `functionName` field.""" - functionName: StringFilter + """Filter by the object’s `ownedCryptoAddresses` relation.""" + ownedCryptoAddresses: UserToManyCryptoAddressFilter - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """`ownedCryptoAddresses` exist.""" + ownedCryptoAddressesExist: Boolean - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Filter by the object’s `ownedWebauthnCredentials` relation.""" + ownedWebauthnCredentials: UserToManyWebauthnCredentialFilter - """Filter by the object’s `module` field.""" - module: StringFilter + """`ownedWebauthnCredentials` exist.""" + ownedWebauthnCredentialsExist: Boolean - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Filter by the object’s `appInvitesBySenderId` relation.""" + appInvitesBySenderId: UserToManyAppInviteFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """`appInvitesBySenderId` exist.""" + appInvitesBySenderIdExist: Boolean - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `appClaimedInvitesByReceiverId` relation.""" + appClaimedInvitesByReceiverId: UserToManyAppClaimedInviteFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """`appClaimedInvitesByReceiverId` exist.""" + appClaimedInvitesByReceiverIdExist: Boolean - """Checks for all expressions in this list.""" - and: [TriggerFilter!] + """Filter by the object’s `appClaimedInvitesBySenderId` relation.""" + appClaimedInvitesBySenderId: UserToManyAppClaimedInviteFilter - """Checks for any expressions in this list.""" - or: [TriggerFilter!] + """`appClaimedInvitesBySenderId` exist.""" + appClaimedInvitesBySenderIdExist: Boolean - """Negates the expression.""" - not: TriggerFilter + """Filter by the object’s `orgInvitesByEntityId` relation.""" + orgInvitesByEntityId: UserToManyOrgInviteFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """`orgInvitesByEntityId` exist.""" + orgInvitesByEntityIdExist: Boolean - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `orgInvitesByReceiverId` relation.""" + orgInvitesByReceiverId: UserToManyOrgInviteFilter -""" -A filter to be used against many `UniqueConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyUniqueConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: UniqueConstraintFilter + """`orgInvitesByReceiverId` exist.""" + orgInvitesByReceiverIdExist: Boolean - """Filters to entities where every related entity matches.""" - every: UniqueConstraintFilter + """Filter by the object’s `orgInvitesBySenderId` relation.""" + orgInvitesBySenderId: UserToManyOrgInviteFilter - """Filters to entities where no related entity matches.""" - none: UniqueConstraintFilter -} + """`orgInvitesBySenderId` exist.""" + orgInvitesBySenderIdExist: Boolean -""" -A filter to be used against `UniqueConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input UniqueConstraintFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `orgClaimedInvitesByEntityId` relation.""" + orgClaimedInvitesByEntityId: UserToManyOrgClaimedInviteFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """`orgClaimedInvitesByEntityId` exist.""" + orgClaimedInvitesByEntityIdExist: Boolean - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `orgClaimedInvitesByReceiverId` relation.""" + orgClaimedInvitesByReceiverId: UserToManyOrgClaimedInviteFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """`orgClaimedInvitesByReceiverId` exist.""" + orgClaimedInvitesByReceiverIdExist: Boolean - """Filter by the object’s `description` field.""" - description: StringFilter + """Filter by the object’s `orgClaimedInvitesBySenderId` relation.""" + orgClaimedInvitesBySenderId: UserToManyOrgClaimedInviteFilter - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """`orgClaimedInvitesBySenderId` exist.""" + orgClaimedInvitesBySenderIdExist: Boolean - """Filter by the object’s `type` field.""" - type: StringFilter + """Filter by the object’s `auditLogsByActorId` relation.""" + auditLogsByActorId: UserToManyAuditLogFilter - """Filter by the object’s `fieldIds` field.""" - fieldIds: UUIDListFilter + """`auditLogsByActorId` exist.""" + auditLogsByActorIdExist: Boolean - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Filter by the object’s `agentThreadsByEntityId` relation.""" + agentThreadsByEntityId: UserToManyAgentThreadFilter - """Filter by the object’s `module` field.""" - module: StringFilter + """`agentThreadsByEntityId` exist.""" + agentThreadsByEntityIdExist: Boolean - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Filter by the object’s `ownedAgentThreads` relation.""" + ownedAgentThreads: UserToManyAgentThreadFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """`ownedAgentThreads` exist.""" + ownedAgentThreadsExist: Boolean - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `ownedAgentMessages` relation.""" + ownedAgentMessages: UserToManyAgentMessageFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """`ownedAgentMessages` exist.""" + ownedAgentMessagesExist: Boolean - """Checks for all expressions in this list.""" - and: [UniqueConstraintFilter!] + """Filter by the object’s `ownedAgentTasks` relation.""" + ownedAgentTasks: UserToManyAgentTaskFilter - """Checks for any expressions in this list.""" - or: [UniqueConstraintFilter!] + """`ownedAgentTasks` exist.""" + ownedAgentTasksExist: Boolean - """Negates the expression.""" - not: UniqueConstraintFilter + """TSV search on the `search_tsv` column.""" + tsvSearchTsv: String - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """TRGM search on the `display_name` column.""" + trgmDisplayName: TrgmSearchInput - """Filter by the object’s `table` relation.""" - table: TableFilter + """ + Composite unified search. Provide a search string and it will be dispatched to + all text-compatible search algorithms (tsvector, BM25, pg_trgm) + simultaneously. Rows matching ANY algorithm are returned. All matching score + fields are populated. + """ + unifiedSearch: String } """ -A filter to be used against many `View` object types. All fields are combined with a logical ‘and.’ +A filter to be used against String fields with pg_trgm support. All fields are combined with a logical ‘and.’ """ -input TableToManyViewFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewFilter +input StringTrgmFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filters to entities where every related entity matches.""" - every: ViewFilter + """Equal to the specified value.""" + equalTo: String - """Filters to entities where no related entity matches.""" - none: ViewFilter -} + """Not equal to the specified value.""" + notEqualTo: String -""" -A filter to be used against `View` object types. All fields are combined with a logical ‘and.’ -""" -input ViewFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: String - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: String - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Included in the specified list.""" + in: [String!] - """Filter by the object’s `name` field.""" - name: StringFilter + """Not included in the specified list.""" + notIn: [String!] - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Less than the specified value.""" + lessThan: String - """Filter by the object’s `viewType` field.""" - viewType: StringFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: String - """Filter by the object’s `data` field.""" - data: JSONFilter + """Greater than the specified value.""" + greaterThan: String - """Filter by the object’s `filterType` field.""" - filterType: StringFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: String - """Filter by the object’s `filterData` field.""" - filterData: JSONFilter + """Contains the specified string (case-sensitive).""" + includes: String - """Filter by the object’s `securityInvoker` field.""" - securityInvoker: BooleanFilter + """Does not contain the specified string (case-sensitive).""" + notIncludes: String - """Filter by the object’s `isReadOnly` field.""" - isReadOnly: BooleanFilter + """Contains the specified string (case-insensitive).""" + includesInsensitive: String - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: String - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Starts with the specified string (case-sensitive).""" + startsWith: String - """Filter by the object’s `module` field.""" - module: StringFilter + """Does not start with the specified string (case-sensitive).""" + notStartsWith: String - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: String - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: String - """Checks for all expressions in this list.""" - and: [ViewFilter!] + """Ends with the specified string (case-sensitive).""" + endsWith: String - """Checks for any expressions in this list.""" - or: [ViewFilter!] + """Does not end with the specified string (case-sensitive).""" + notEndsWith: String - """Negates the expression.""" - not: ViewFilter + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: String - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: String - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter - - """Filter by the object’s `table` relation.""" - table: TableFilter - - """A related `table` exists.""" - tableExists: Boolean - - """Filter by the object’s `viewTables` relation.""" - viewTables: ViewToManyViewTableFilter - - """`viewTables` exist.""" - viewTablesExist: Boolean - - """Filter by the object’s `viewGrants` relation.""" - viewGrants: ViewToManyViewGrantFilter + """ + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + like: String - """`viewGrants` exist.""" - viewGrantsExist: Boolean + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: String - """Filter by the object’s `viewRules` relation.""" - viewRules: ViewToManyViewRuleFilter + """ + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + likeInsensitive: String - """`viewRules` exist.""" - viewRulesExist: Boolean -} + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: String -""" -A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ -""" -input ViewToManyViewTableFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewTableFilter + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String - """Filters to entities where every related entity matches.""" - every: ViewTableFilter + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String - """Filters to entities where no related entity matches.""" - none: ViewTableFilter -} + """ + Not equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + distinctFromInsensitive: String -""" -A filter to be used against `ViewTable` object types. All fields are combined with a logical ‘and.’ -""" -input ViewTableFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: String - """Filter by the object’s `viewId` field.""" - viewId: UUIDFilter + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] - """Filter by the object’s `joinOrder` field.""" - joinOrder: IntFilter + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String - """Checks for all expressions in this list.""" - and: [ViewTableFilter!] + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String - """Checks for any expressions in this list.""" - or: [ViewTableFilter!] + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String - """Negates the expression.""" - not: ViewTableFilter + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String - """Filter by the object’s `table` relation.""" - table: TableFilter + """ + Fuzzy matches using pg_trgm trigram similarity. Tolerates typos and misspellings. + """ + similarTo: TrgmSearchInput - """Filter by the object’s `view` relation.""" - view: ViewFilter + """ + Fuzzy matches using pg_trgm word_similarity. Finds the best matching substring within the column value. + """ + wordSimilarTo: TrgmSearchInput } """ -A filter to be used against many `ViewGrant` object types. All fields are combined with a logical ‘and.’ +Input for pg_trgm fuzzy text matching. Provide a search value and optional similarity threshold. """ -input ViewToManyViewGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewGrantFilter - - """Filters to entities where every related entity matches.""" - every: ViewGrantFilter +input TrgmSearchInput { + """The text to fuzzy-match against. Typos and misspellings are tolerated.""" + value: String! - """Filters to entities where no related entity matches.""" - none: ViewGrantFilter + """ + Minimum similarity threshold (0.0 to 1.0). Higher = stricter matching. Default is 0.3. + """ + threshold: Float } """ -A filter to be used against `ViewGrant` object types. All fields are combined with a logical ‘and.’ +A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ """ -input ViewGrantFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +input ConstructiveInternalTypeImageFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeImage - """Filter by the object’s `viewId` field.""" - viewId: UUIDFilter + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeImage - """Filter by the object’s `granteeName` field.""" - granteeName: StringFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: ConstructiveInternalTypeImage - """Filter by the object’s `privilege` field.""" - privilege: StringFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeImage - """Filter by the object’s `withGrantOption` field.""" - withGrantOption: BooleanFilter + """Included in the specified list.""" + in: [ConstructiveInternalTypeImage!] - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeImage!] - """Checks for all expressions in this list.""" - and: [ViewGrantFilter!] + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeImage - """Checks for any expressions in this list.""" - or: [ViewGrantFilter!] + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeImage - """Negates the expression.""" - not: ViewGrantFilter + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeImage - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeImage - """Filter by the object’s `view` relation.""" - view: ViewFilter -} + """Contains the specified JSON.""" + contains: ConstructiveInternalTypeImage -""" -A filter to be used against many `ViewRule` object types. All fields are combined with a logical ‘and.’ -""" -input ViewToManyViewRuleFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewRuleFilter + """Contains the specified key.""" + containsKey: String - """Filters to entities where every related entity matches.""" - every: ViewRuleFilter + """Contains all of the specified keys.""" + containsAllKeys: [String!] - """Filters to entities where no related entity matches.""" - none: ViewRuleFilter + """Contains any of the specified keys.""" + containsAnyKeys: [String!] + + """Contained by the specified JSON.""" + containedBy: ConstructiveInternalTypeImage } """ -A filter to be used against `ViewRule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against FullText fields. All fields are combined with a logical ‘and.’ """ -input ViewRuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `viewId` field.""" - viewId: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter +input FullTextFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `event` field.""" - event: StringFilter + """Equal to the specified value.""" + equalTo: FullText - """Filter by the object’s `action` field.""" - action: StringFilter + """Not equal to the specified value.""" + notEqualTo: FullText - """Checks for all expressions in this list.""" - and: [ViewRuleFilter!] + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: FullText - """Checks for any expressions in this list.""" - or: [ViewRuleFilter!] + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: FullText - """Negates the expression.""" - not: ViewRuleFilter + """Included in the specified list.""" + in: [FullText!] - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Not included in the specified list.""" + notIn: [FullText!] - """Filter by the object’s `view` relation.""" - view: ViewFilter + """Performs a full text search on the field.""" + matches: String } """ -A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `RoleType` object types. All fields are combined with a logical ‘and.’ """ -input TableToManyViewTableFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewTableFilter +input RoleTypeFilter { + """Filter by the object’s `id` field.""" + id: IntFilter - """Filters to entities where every related entity matches.""" - every: ViewTableFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filters to entities where no related entity matches.""" - none: ViewTableFilter + """Checks for all expressions in this list.""" + and: [RoleTypeFilter!] + + """Checks for any expressions in this list.""" + or: [RoleTypeFilter!] + + """Negates the expression.""" + not: RoleTypeFilter } """ -A filter to be used against many `EmbeddingChunk` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Database` object types. All fields are combined with a logical ‘and.’ """ -input TableToManyEmbeddingChunkFilter { +input UserToManyDatabaseFilter { """Filters to entities where at least one related entity matches.""" - some: EmbeddingChunkFilter + some: DatabaseFilter """Filters to entities where every related entity matches.""" - every: EmbeddingChunkFilter + every: DatabaseFilter """Filters to entities where no related entity matches.""" - none: EmbeddingChunkFilter + none: DatabaseFilter } """ -A filter to be used against `EmbeddingChunk` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppMembership` object types. All fields are combined with a logical ‘and.’ """ -input EmbeddingChunkFilter { +input AppMembershipFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter - - """Filter by the object’s `embeddingFieldId` field.""" - embeddingFieldId: UUIDFilter - - """Filter by the object’s `chunksTableId` field.""" - chunksTableId: UUIDFilter - - """Filter by the object’s `chunksTableName` field.""" - chunksTableName: StringFilter - - """Filter by the object’s `contentFieldName` field.""" - contentFieldName: StringFilter - - """Filter by the object’s `dimensions` field.""" - dimensions: IntFilter - - """Filter by the object’s `metric` field.""" - metric: StringFilter - - """Filter by the object’s `chunkSize` field.""" - chunkSize: IntFilter - - """Filter by the object’s `chunkOverlap` field.""" - chunkOverlap: IntFilter - - """Filter by the object’s `chunkStrategy` field.""" - chunkStrategy: StringFilter - - """Filter by the object’s `metadataFields` field.""" - metadataFields: JSONFilter - - """Filter by the object’s `enqueueChunkingJob` field.""" - enqueueChunkingJob: BooleanFilter - - """Filter by the object’s `chunkingTaskName` field.""" - chunkingTaskName: StringFilter - - """Filter by the object’s `parentFkFieldId` field.""" - parentFkFieldId: UUIDFilter - """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter """Filter by the object’s `updatedAt` field.""" updatedAt: DatetimeFilter - """Checks for all expressions in this list.""" - and: [EmbeddingChunkFilter!] + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter - """Checks for any expressions in this list.""" - or: [EmbeddingChunkFilter!] + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """Negates the expression.""" - not: EmbeddingChunkFilter + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """Filter by the object’s `chunksTable` relation.""" - chunksTable: TableFilter + """Filter by the object’s `isBanned` field.""" + isBanned: BooleanFilter - """A related `chunksTable` exists.""" - chunksTableExists: Boolean + """Filter by the object’s `isDisabled` field.""" + isDisabled: BooleanFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """Filter by the object’s `embeddingField` relation.""" - embeddingField: FieldFilter + """Filter by the object’s `isActive` field.""" + isActive: BooleanFilter - """A related `embeddingField` exists.""" - embeddingFieldExists: Boolean + """Filter by the object’s `isOwner` field.""" + isOwner: BooleanFilter - """Filter by the object’s `parentFkField` relation.""" - parentFkField: FieldFilter + """Filter by the object’s `isAdmin` field.""" + isAdmin: BooleanFilter - """A related `parentFkField` exists.""" - parentFkFieldExists: Boolean + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `granted` field.""" + granted: BitStringFilter -""" -A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManySpatialRelationFilter { - """Filters to entities where at least one related entity matches.""" - some: SpatialRelationFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filters to entities where every related entity matches.""" - every: SpatialRelationFilter + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter - """Filters to entities where no related entity matches.""" - none: SpatialRelationFilter -} + """Checks for all expressions in this list.""" + and: [AppMembershipFilter!] -""" -A filter to be used against many `SecureTableProvision` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManySecureTableProvisionFilter { - """Filters to entities where at least one related entity matches.""" - some: SecureTableProvisionFilter + """Checks for any expressions in this list.""" + or: [AppMembershipFilter!] - """Filters to entities where every related entity matches.""" - every: SecureTableProvisionFilter + """Negates the expression.""" + not: AppMembershipFilter - """Filters to entities where no related entity matches.""" - none: SecureTableProvisionFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter } """ -A filter to be used against `SecureTableProvision` object types. All fields are combined with a logical ‘and.’ +A filter to be used against Boolean fields. All fields are combined with a logical ‘and.’ """ -input SecureTableProvisionFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter - - """Filter by the object’s `tableName` field.""" - tableName: StringFilter - - """Filter by the object’s `nodes` field.""" - nodes: JSONFilter - - """Filter by the object’s `useRls` field.""" - useRls: BooleanFilter +input BooleanFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `fields` field.""" - fields: JSONListFilter + """Equal to the specified value.""" + equalTo: Boolean - """Filter by the object’s `grants` field.""" - grants: JSONFilter + """Not equal to the specified value.""" + notEqualTo: Boolean - """Filter by the object’s `policies` field.""" - policies: JSONFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Boolean - """Filter by the object’s `outFields` field.""" - outFields: UUIDListFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Boolean - """Checks for all expressions in this list.""" - and: [SecureTableProvisionFilter!] + """Included in the specified list.""" + in: [Boolean!] - """Checks for any expressions in this list.""" - or: [SecureTableProvisionFilter!] + """Not included in the specified list.""" + notIn: [Boolean!] - """Negates the expression.""" - not: SecureTableProvisionFilter + """Less than the specified value.""" + lessThan: Boolean - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Boolean - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Greater than the specified value.""" + greaterThan: Boolean - """Filter by the object’s `table` relation.""" - table: TableFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Boolean } """ -A filter to be used against JSON List fields. All fields are combined with a logical ‘and.’ +A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ """ -input JSONListFilter { +input BitStringFilter { """ Is null (if `true` is specified) or is not null (if `false` is specified). """ isNull: Boolean """Equal to the specified value.""" - equalTo: [JSON] + equalTo: BitString """Not equal to the specified value.""" - notEqualTo: [JSON] + notEqualTo: BitString """ Not equal to the specified value, treating null like an ordinary value. """ - distinctFrom: [JSON] + distinctFrom: BitString """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: [JSON] + notDistinctFrom: BitString + + """Included in the specified list.""" + in: [BitString!] + + """Not included in the specified list.""" + notIn: [BitString!] """Less than the specified value.""" - lessThan: [JSON] + lessThan: BitString """Less than or equal to the specified value.""" - lessThanOrEqualTo: [JSON] + lessThanOrEqualTo: BitString """Greater than the specified value.""" - greaterThan: [JSON] + greaterThan: BitString """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: [JSON] - - """Contains the specified list of values.""" - contains: [JSON] + greaterThanOrEqualTo: BitString +} - """Contained by the specified list of values.""" - containedBy: [JSON] - - """Overlaps the specified list of values.""" - overlaps: [JSON] - - """Any array item is equal to the specified value.""" - anyEqualTo: JSON - - """Any array item is not equal to the specified value.""" - anyNotEqualTo: JSON - - """Any array item is less than the specified value.""" - anyLessThan: JSON - - """Any array item is less than or equal to the specified value.""" - anyLessThanOrEqualTo: JSON - - """Any array item is greater than the specified value.""" - anyGreaterThan: JSON - - """Any array item is greater than or equal to the specified value.""" - anyGreaterThanOrEqualTo: JSON -} - -""" -A filter to be used against many `RelationProvision` object types. All fields are combined with a logical ‘and.’ -""" -input TableToManyRelationProvisionFilter { - """Filters to entities where at least one related entity matches.""" - some: RelationProvisionFilter +""" +A filter to be used against many `AppAdminGrant` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyAppAdminGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: AppAdminGrantFilter """Filters to entities where every related entity matches.""" - every: RelationProvisionFilter + every: AppAdminGrantFilter """Filters to entities where no related entity matches.""" - none: RelationProvisionFilter + none: AppAdminGrantFilter } """ -A filter to be used against `RelationProvision` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppAdminGrant` object types. All fields are combined with a logical ‘and.’ """ -input RelationProvisionFilter { +input AppAdminGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `relationType` field.""" - relationType: StringFilter - - """Filter by the object’s `sourceTableId` field.""" - sourceTableId: UUIDFilter - - """Filter by the object’s `targetTableId` field.""" - targetTableId: UUIDFilter - - """Filter by the object’s `fieldName` field.""" - fieldName: StringFilter - - """Filter by the object’s `deleteAction` field.""" - deleteAction: StringFilter - - """Filter by the object’s `isRequired` field.""" - isRequired: BooleanFilter - - """Filter by the object’s `apiRequired` field.""" - apiRequired: BooleanFilter - - """Filter by the object’s `junctionTableId` field.""" - junctionTableId: UUIDFilter - - """Filter by the object’s `junctionTableName` field.""" - junctionTableName: StringFilter - - """Filter by the object’s `junctionSchemaId` field.""" - junctionSchemaId: UUIDFilter - - """Filter by the object’s `sourceFieldName` field.""" - sourceFieldName: StringFilter - - """Filter by the object’s `targetFieldName` field.""" - targetFieldName: StringFilter - - """Filter by the object’s `useCompositeKey` field.""" - useCompositeKey: BooleanFilter - - """Filter by the object’s `createIndex` field.""" - createIndex: BooleanFilter - - """Filter by the object’s `exposeInApi` field.""" - exposeInApi: BooleanFilter - - """Filter by the object’s `nodes` field.""" - nodes: JSONFilter - - """Filter by the object’s `grants` field.""" - grants: JSONFilter - - """Filter by the object’s `policies` field.""" - policies: JSONFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `outFieldId` field.""" - outFieldId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `outJunctionTableId` field.""" - outJunctionTableId: UUIDFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `outSourceFieldId` field.""" - outSourceFieldId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `outTargetFieldId` field.""" - outTargetFieldId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [RelationProvisionFilter!] + and: [AppAdminGrantFilter!] """Checks for any expressions in this list.""" - or: [RelationProvisionFilter!] + or: [AppAdminGrantFilter!] """Negates the expression.""" - not: RelationProvisionFilter + not: AppAdminGrantFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filter by the object’s `sourceTable` relation.""" - sourceTable: TableFilter + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter - """Filter by the object’s `targetTable` relation.""" - targetTable: TableFilter + """A related `grantor` exists.""" + grantorExists: Boolean } """ -A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppOwnerGrant` object types. All fields are combined with a logical ‘and.’ """ -input TableToManySessionSecretsModuleFilter { +input UserToManyAppOwnerGrantFilter { """Filters to entities where at least one related entity matches.""" - some: SessionSecretsModuleFilter + some: AppOwnerGrantFilter """Filters to entities where every related entity matches.""" - every: SessionSecretsModuleFilter + every: AppOwnerGrantFilter """Filters to entities where no related entity matches.""" - none: SessionSecretsModuleFilter + none: AppOwnerGrantFilter } """ -A filter to be used against `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppOwnerGrant` object types. All fields are combined with a logical ‘and.’ """ -input SessionSecretsModuleFilter { +input AppOwnerGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `sessionsTableId` field.""" - sessionsTableId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [SessionSecretsModuleFilter!] + and: [AppOwnerGrantFilter!] """Checks for any expressions in this list.""" - or: [SessionSecretsModuleFilter!] + or: [AppOwnerGrantFilter!] """Negates the expression.""" - not: SessionSecretsModuleFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: AppOwnerGrantFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filter by the object’s `sessionsTable` relation.""" - sessionsTable: TableFilter + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """A related `grantor` exists.""" + grantorExists: Boolean } """ -A filter to be used against many `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppGrant` object types. All fields are combined with a logical ‘and.’ """ -input TableToManyIdentityProvidersModuleFilter { +input UserToManyAppGrantFilter { """Filters to entities where at least one related entity matches.""" - some: IdentityProvidersModuleFilter + some: AppGrantFilter """Filters to entities where every related entity matches.""" - every: IdentityProvidersModuleFilter + every: AppGrantFilter """Filters to entities where no related entity matches.""" - none: IdentityProvidersModuleFilter + none: AppGrantFilter } """ -A filter to be used against `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppGrant` object types. All fields are combined with a logical ‘and.’ """ -input IdentityProvidersModuleFilter { +input AppGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [IdentityProvidersModuleFilter!] + and: [AppGrantFilter!] """Checks for any expressions in this list.""" - or: [IdentityProvidersModuleFilter!] + or: [AppGrantFilter!] """Negates the expression.""" - not: IdentityProvidersModuleFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: AppGrantFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """A related `grantor` exists.""" + grantorExists: Boolean } """ -A filter to be used against many `SchemaGrant` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgMembership` object types. All fields are combined with a logical ‘and.’ """ -input SchemaToManySchemaGrantFilter { +input UserToManyOrgMembershipFilter { """Filters to entities where at least one related entity matches.""" - some: SchemaGrantFilter + some: OrgMembershipFilter """Filters to entities where every related entity matches.""" - every: SchemaGrantFilter + every: OrgMembershipFilter """Filters to entities where no related entity matches.""" - none: SchemaGrantFilter + none: OrgMembershipFilter } """ -A filter to be used against `SchemaGrant` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgMembership` object types. All fields are combined with a logical ‘and.’ """ -input SchemaGrantFilter { +input OrgMembershipFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `granteeName` field.""" - granteeName: StringFilter - """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter """Filter by the object’s `updatedAt` field.""" updatedAt: DatetimeFilter - """Checks for all expressions in this list.""" - and: [SchemaGrantFilter!] - - """Checks for any expressions in this list.""" - or: [SchemaGrantFilter!] - - """Negates the expression.""" - not: SchemaGrantFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter -} + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter -""" -A filter to be used against many `View` object types. All fields are combined with a logical ‘and.’ -""" -input SchemaToManyViewFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewFilter + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """Filters to entities where every related entity matches.""" - every: ViewFilter + """Filter by the object’s `isBanned` field.""" + isBanned: BooleanFilter - """Filters to entities where no related entity matches.""" - none: ViewFilter -} + """Filter by the object’s `isDisabled` field.""" + isDisabled: BooleanFilter -""" -A filter to be used against many `DefaultPrivilege` object types. All fields are combined with a logical ‘and.’ -""" -input SchemaToManyDefaultPrivilegeFilter { - """Filters to entities where at least one related entity matches.""" - some: DefaultPrivilegeFilter + """Filter by the object’s `isActive` field.""" + isActive: BooleanFilter - """Filters to entities where every related entity matches.""" - every: DefaultPrivilegeFilter + """Filter by the object’s `isExternal` field.""" + isExternal: BooleanFilter - """Filters to entities where no related entity matches.""" - none: DefaultPrivilegeFilter -} + """Filter by the object’s `isOwner` field.""" + isOwner: BooleanFilter -""" -A filter to be used against `DefaultPrivilege` object types. All fields are combined with a logical ‘and.’ -""" -input DefaultPrivilegeFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `isAdmin` field.""" + isAdmin: BooleanFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `granted` field.""" + granted: BitStringFilter - """Filter by the object’s `objectType` field.""" - objectType: StringFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `privilege` field.""" - privilege: StringFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `granteeName` field.""" - granteeName: StringFilter + """Filter by the object’s `isReadOnly` field.""" + isReadOnly: BooleanFilter - """Filter by the object’s `isGrant` field.""" - isGrant: BooleanFilter + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter """Checks for all expressions in this list.""" - and: [DefaultPrivilegeFilter!] + and: [OrgMembershipFilter!] """Checks for any expressions in this list.""" - or: [DefaultPrivilegeFilter!] + or: [OrgMembershipFilter!] """Negates the expression.""" - not: DefaultPrivilegeFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: OrgMembershipFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter -} + """Filter by the object’s `actor` relation.""" + actor: UserFilter -""" -A filter to be used against many `Enum` object types. All fields are combined with a logical ‘and.’ -""" -input SchemaToManyEnumFilter { - """Filters to entities where at least one related entity matches.""" - some: EnumFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Filters to entities where every related entity matches.""" - every: EnumFilter + """Filter by the object’s `orgMemberProfileByMembershipId` relation.""" + orgMemberProfileByMembershipId: OrgMemberProfileFilter - """Filters to entities where no related entity matches.""" - none: EnumFilter + """A related `orgMemberProfileByMembershipId` exists.""" + orgMemberProfileByMembershipIdExists: Boolean } """ -A filter to be used against `Enum` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ """ -input EnumFilter { +input OrgMemberProfileFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `label` field.""" - label: StringFilter + """Filter by the object’s `membershipId` field.""" + membershipId: UUIDFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `values` field.""" - values: StringListFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `smartTags` field.""" - smartTags: JSONFilter + """Filter by the object’s `displayName` field.""" + displayName: StringFilter - """Filter by the object’s `category` field.""" - category: ObjectCategoryFilter + """Filter by the object’s `email` field.""" + email: StringFilter - """Filter by the object’s `module` field.""" - module: StringFilter + """Filter by the object’s `title` field.""" + title: StringFilter - """Filter by the object’s `scope` field.""" - scope: IntFilter + """Filter by the object’s `bio` field.""" + bio: StringFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """Filter by the object’s `profilePicture` field.""" + profilePicture: ConstructiveInternalTypeImageFilter """Checks for all expressions in this list.""" - and: [EnumFilter!] + and: [OrgMemberProfileFilter!] """Checks for any expressions in this list.""" - or: [EnumFilter!] + or: [OrgMemberProfileFilter!] """Negates the expression.""" - not: EnumFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter -} + not: OrgMemberProfileFilter -""" -A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ -""" -input SchemaToManyApiSchemaFilter { - """Filters to entities where at least one related entity matches.""" - some: ApiSchemaFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filters to entities where every related entity matches.""" - every: ApiSchemaFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Filters to entities where no related entity matches.""" - none: ApiSchemaFilter + """Filter by the object’s `membership` relation.""" + membership: OrgMembershipFilter } """ -A filter to be used against `ApiSchema` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgMembershipDefault` object types. All fields are combined with a logical ‘and.’ """ -input ApiSchemaFilter { +input OrgMembershipDefaultFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `apiId` field.""" - apiId: UUIDFilter + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter + + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter + + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter + + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter """Checks for all expressions in this list.""" - and: [ApiSchemaFilter!] + and: [OrgMembershipDefaultFilter!] """Checks for any expressions in this list.""" - or: [ApiSchemaFilter!] + or: [OrgMembershipDefaultFilter!] """Negates the expression.""" - not: ApiSchemaFilter - - """Filter by the object’s `api` relation.""" - api: ApiFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: OrgMembershipDefaultFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter } """ -A filter to be used against `Api` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgMembershipSetting` object types. All fields are combined with a logical ‘and.’ """ -input ApiFilter { +input OrgMembershipSettingFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `dbname` field.""" - dbname: StringFilter + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter - """Filter by the object’s `roleName` field.""" - roleName: StringFilter + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """Filter by the object’s `anonRole` field.""" - anonRole: StringFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `isPublic` field.""" - isPublic: BooleanFilter + """Filter by the object’s `deleteMemberCascadeChildren` field.""" + deleteMemberCascadeChildren: BooleanFilter - """Checks for all expressions in this list.""" - and: [ApiFilter!] + """Filter by the object’s `createChildCascadeOwners` field.""" + createChildCascadeOwners: BooleanFilter - """Checks for any expressions in this list.""" - or: [ApiFilter!] + """Filter by the object’s `createChildCascadeAdmins` field.""" + createChildCascadeAdmins: BooleanFilter - """Negates the expression.""" - not: ApiFilter + """Filter by the object’s `createChildCascadeMembers` field.""" + createChildCascadeMembers: BooleanFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `allowExternalMembers` field.""" + allowExternalMembers: BooleanFilter - """Filter by the object’s `apiModules` relation.""" - apiModules: ApiToManyApiModuleFilter + """Filter by the object’s `inviteProfileAssignmentMode` field.""" + inviteProfileAssignmentMode: StringFilter - """`apiModules` exist.""" - apiModulesExist: Boolean + """Filter by the object’s `populateMemberEmail` field.""" + populateMemberEmail: BooleanFilter - """Filter by the object’s `apiSchemas` relation.""" - apiSchemas: ApiToManyApiSchemaFilter + """Filter by the object’s `limitAllocationMode` field.""" + limitAllocationMode: StringFilter - """`apiSchemas` exist.""" - apiSchemasExist: Boolean + """Checks for all expressions in this list.""" + and: [OrgMembershipSettingFilter!] - """Filter by the object’s `domains` relation.""" - domains: ApiToManyDomainFilter + """Checks for any expressions in this list.""" + or: [OrgMembershipSettingFilter!] - """`domains` exist.""" - domainsExist: Boolean + """Negates the expression.""" + not: OrgMembershipSettingFilter + + """Filter by the object’s `entity` relation.""" + entity: UserFilter } """ -A filter to be used against many `ApiModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgMember` object types. All fields are combined with a logical ‘and.’ """ -input ApiToManyApiModuleFilter { +input UserToManyOrgMemberFilter { """Filters to entities where at least one related entity matches.""" - some: ApiModuleFilter + some: OrgMemberFilter """Filters to entities where every related entity matches.""" - every: ApiModuleFilter + every: OrgMemberFilter """Filters to entities where no related entity matches.""" - none: ApiModuleFilter + none: OrgMemberFilter } """ -A filter to be used against `ApiModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgMember` object types. All fields are combined with a logical ‘and.’ """ -input ApiModuleFilter { +input OrgMemberFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `isAdmin` field.""" + isAdmin: BooleanFilter - """Filter by the object’s `apiId` field.""" - apiId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter """Checks for all expressions in this list.""" - and: [ApiModuleFilter!] + and: [OrgMemberFilter!] """Checks for any expressions in this list.""" - or: [ApiModuleFilter!] + or: [OrgMemberFilter!] """Negates the expression.""" - not: ApiModuleFilter + not: OrgMemberFilter - """Filter by the object’s `api` relation.""" - api: ApiFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter } """ -A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ """ -input ApiToManyApiSchemaFilter { +input UserToManyOrgAdminGrantFilter { """Filters to entities where at least one related entity matches.""" - some: ApiSchemaFilter + some: OrgAdminGrantFilter """Filters to entities where every related entity matches.""" - every: ApiSchemaFilter + every: OrgAdminGrantFilter """Filters to entities where no related entity matches.""" - none: ApiSchemaFilter + none: OrgAdminGrantFilter } """ -A filter to be used against many `Domain` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgAdminGrant` object types. All fields are combined with a logical ‘and.’ """ -input ApiToManyDomainFilter { +input OrgAdminGrantFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter + + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter + + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter + + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter + + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Checks for all expressions in this list.""" + and: [OrgAdminGrantFilter!] + + """Checks for any expressions in this list.""" + or: [OrgAdminGrantFilter!] + + """Negates the expression.""" + not: OrgAdminGrantFilter + + """Filter by the object’s `actor` relation.""" + actor: UserFilter + + """Filter by the object’s `entity` relation.""" + entity: UserFilter + + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter + + """A related `grantor` exists.""" + grantorExists: Boolean +} + +""" +A filter to be used against many `OrgOwnerGrant` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyOrgOwnerGrantFilter { """Filters to entities where at least one related entity matches.""" - some: DomainFilter + some: OrgOwnerGrantFilter """Filters to entities where every related entity matches.""" - every: DomainFilter + every: OrgOwnerGrantFilter """Filters to entities where no related entity matches.""" - none: DomainFilter + none: OrgOwnerGrantFilter } """ -A filter to be used against `Domain` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgOwnerGrant` object types. All fields are combined with a logical ‘and.’ """ -input DomainFilter { +input OrgOwnerGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `apiId` field.""" - apiId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `siteId` field.""" - siteId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `subdomain` field.""" - subdomain: ConstructiveInternalTypeHostnameFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `domain` field.""" - domain: ConstructiveInternalTypeHostnameFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [DomainFilter!] + and: [OrgOwnerGrantFilter!] """Checks for any expressions in this list.""" - or: [DomainFilter!] + or: [OrgOwnerGrantFilter!] """Negates the expression.""" - not: DomainFilter - - """Filter by the object’s `api` relation.""" - api: ApiFilter + not: OrgOwnerGrantFilter - """A related `api` exists.""" - apiExists: Boolean + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Filter by the object’s `site` relation.""" - site: SiteFilter + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter - """A related `site` exists.""" - siteExists: Boolean + """A related `grantor` exists.""" + grantorExists: Boolean } """ -A filter to be used against ConstructiveInternalTypeHostname fields. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgMemberProfile` object types. All fields are combined with a logical ‘and.’ """ -input ConstructiveInternalTypeHostnameFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean +input UserToManyOrgMemberProfileFilter { + """Filters to entities where at least one related entity matches.""" + some: OrgMemberProfileFilter - """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeHostname + """Filters to entities where every related entity matches.""" + every: OrgMemberProfileFilter - """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeHostname + """Filters to entities where no related entity matches.""" + none: OrgMemberProfileFilter +} - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: ConstructiveInternalTypeHostname +""" +A filter to be used against many `OrgGrant` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyOrgGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: OrgGrantFilter - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeHostname + """Filters to entities where every related entity matches.""" + every: OrgGrantFilter - """Included in the specified list.""" - in: [ConstructiveInternalTypeHostname!] + """Filters to entities where no related entity matches.""" + none: OrgGrantFilter +} - """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeHostname!] +""" +A filter to be used against `OrgGrant` object types. All fields are combined with a logical ‘and.’ +""" +input OrgGrantFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Less than the specified value.""" - lessThan: ConstructiveInternalTypeHostname + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeHostname + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeHostname + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeHostname + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Contains the specified string (case-sensitive).""" - includes: ConstructiveInternalTypeHostname + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Does not contain the specified string (case-sensitive).""" - notIncludes: ConstructiveInternalTypeHostname + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeHostname + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeHostname + """Checks for all expressions in this list.""" + and: [OrgGrantFilter!] - """Starts with the specified string (case-sensitive).""" - startsWith: ConstructiveInternalTypeHostname + """Checks for any expressions in this list.""" + or: [OrgGrantFilter!] - """Does not start with the specified string (case-sensitive).""" - notStartsWith: ConstructiveInternalTypeHostname + """Negates the expression.""" + not: OrgGrantFilter - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeHostname + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeHostname + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Ends with the specified string (case-sensitive).""" - endsWith: ConstructiveInternalTypeHostname + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter - """Does not end with the specified string (case-sensitive).""" - notEndsWith: ConstructiveInternalTypeHostname + """A related `grantor` exists.""" + grantorExists: Boolean +} - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeHostname +""" +A filter to be used against many `OrgChartEdge` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyOrgChartEdgeFilter { + """Filters to entities where at least one related entity matches.""" + some: OrgChartEdgeFilter - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeHostname + """Filters to entities where every related entity matches.""" + every: OrgChartEdgeFilter - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: ConstructiveInternalTypeHostname + """Filters to entities where no related entity matches.""" + none: OrgChartEdgeFilter +} - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: ConstructiveInternalTypeHostname +""" +A filter to be used against `OrgChartEdge` object types. All fields are combined with a logical ‘and.’ +""" +input OrgChartEdgeFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: ConstructiveInternalTypeHostname + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: ConstructiveInternalTypeHostname + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + """Filter by the object’s `childId` field.""" + childId: UUIDFilter - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: String + """Filter by the object’s `parentId` field.""" + parentId: UUIDFilter - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: String + """Filter by the object’s `positionTitle` field.""" + positionTitle: StringFilter - """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + """Filter by the object’s `positionLevel` field.""" + positionLevel: IntFilter - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] + """Checks for all expressions in this list.""" + and: [OrgChartEdgeFilter!] - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + """Checks for any expressions in this list.""" + or: [OrgChartEdgeFilter!] - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + """Negates the expression.""" + not: OrgChartEdgeFilter - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + """Filter by the object’s `child` relation.""" + child: UserFilter - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String + """Filter by the object’s `entity` relation.""" + entity: UserFilter + + """Filter by the object’s `parent` relation.""" + parent: UserFilter + + """A related `parent` exists.""" + parentExists: Boolean } -scalar ConstructiveInternalTypeHostname +""" +A filter to be used against many `OrgChartEdgeGrant` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyOrgChartEdgeGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: OrgChartEdgeGrantFilter + + """Filters to entities where every related entity matches.""" + every: OrgChartEdgeGrantFilter + + """Filters to entities where no related entity matches.""" + none: OrgChartEdgeGrantFilter +} """ -A filter to be used against `Site` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgChartEdgeGrant` object types. All fields are combined with a logical ‘and.’ """ -input SiteFilter { +input OrgChartEdgeGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `title` field.""" - title: StringFilter + """Filter by the object’s `childId` field.""" + childId: UUIDFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """Filter by the object’s `parentId` field.""" + parentId: UUIDFilter - """Filter by the object’s `ogImage` field.""" - ogImage: ConstructiveInternalTypeImageFilter + """Filter by the object’s `grantorId` field.""" + grantorId: UUIDFilter - """Filter by the object’s `favicon` field.""" - favicon: ConstructiveInternalTypeAttachmentFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `appleTouchIcon` field.""" - appleTouchIcon: ConstructiveInternalTypeImageFilter + """Filter by the object’s `positionTitle` field.""" + positionTitle: StringFilter - """Filter by the object’s `logo` field.""" - logo: ConstructiveInternalTypeImageFilter + """Filter by the object’s `positionLevel` field.""" + positionLevel: IntFilter - """Filter by the object’s `dbname` field.""" - dbname: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [SiteFilter!] + and: [OrgChartEdgeGrantFilter!] """Checks for any expressions in this list.""" - or: [SiteFilter!] + or: [OrgChartEdgeGrantFilter!] """Negates the expression.""" - not: SiteFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `app` relation.""" - app: AppFilter + not: OrgChartEdgeGrantFilter - """A related `app` exists.""" - appExists: Boolean + """Filter by the object’s `child` relation.""" + child: UserFilter - """Filter by the object’s `domains` relation.""" - domains: SiteToManyDomainFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """`domains` exist.""" - domainsExist: Boolean + """Filter by the object’s `grantor` relation.""" + grantor: UserFilter - """Filter by the object’s `siteMetadata` relation.""" - siteMetadata: SiteToManySiteMetadatumFilter + """A related `grantor` exists.""" + grantorExists: Boolean - """`siteMetadata` exist.""" - siteMetadataExist: Boolean + """Filter by the object’s `parent` relation.""" + parent: UserFilter - """Filter by the object’s `siteModules` relation.""" - siteModules: SiteToManySiteModuleFilter + """A related `parent` exists.""" + parentExists: Boolean +} - """`siteModules` exist.""" - siteModulesExist: Boolean +""" +A filter to be used against many `OrgPermissionDefault` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyOrgPermissionDefaultFilter { + """Filters to entities where at least one related entity matches.""" + some: OrgPermissionDefaultFilter - """Filter by the object’s `siteThemes` relation.""" - siteThemes: SiteToManySiteThemeFilter + """Filters to entities where every related entity matches.""" + every: OrgPermissionDefaultFilter - """`siteThemes` exist.""" - siteThemesExist: Boolean + """Filters to entities where no related entity matches.""" + none: OrgPermissionDefaultFilter } """ -A filter to be used against ConstructiveInternalTypeAttachment fields. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgPermissionDefault` object types. All fields are combined with a logical ‘and.’ """ -input ConstructiveInternalTypeAttachmentFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeAttachment +input OrgPermissionDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeAttachment + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: ConstructiveInternalTypeAttachment + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeAttachment + """Checks for all expressions in this list.""" + and: [OrgPermissionDefaultFilter!] - """Included in the specified list.""" - in: [ConstructiveInternalTypeAttachment!] + """Checks for any expressions in this list.""" + or: [OrgPermissionDefaultFilter!] - """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeAttachment!] + """Negates the expression.""" + not: OrgPermissionDefaultFilter - """Less than the specified value.""" - lessThan: ConstructiveInternalTypeAttachment + """Filter by the object’s `entity` relation.""" + entity: UserFilter +} - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeAttachment +""" +A filter to be used against many `AppLimit` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyAppLimitFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitFilter - """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeAttachment + """Filters to entities where every related entity matches.""" + every: AppLimitFilter - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeAttachment + """Filters to entities where no related entity matches.""" + none: AppLimitFilter +} - """Contains the specified string (case-sensitive).""" - includes: ConstructiveInternalTypeAttachment +""" +A filter to be used against `AppLimit` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Does not contain the specified string (case-sensitive).""" - notIncludes: ConstructiveInternalTypeAttachment + """Filter by the object’s `name` field.""" + name: StringFilter - """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeAttachment + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeAttachment + """Filter by the object’s `num` field.""" + num: BigIntFilter - """Starts with the specified string (case-sensitive).""" - startsWith: ConstructiveInternalTypeAttachment + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Does not start with the specified string (case-sensitive).""" - notStartsWith: ConstructiveInternalTypeAttachment + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeAttachment + """Filter by the object’s `windowStart` field.""" + windowStart: DatetimeFilter - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeAttachment + """Filter by the object’s `windowDuration` field.""" + windowDuration: IntervalFilter - """Ends with the specified string (case-sensitive).""" - endsWith: ConstructiveInternalTypeAttachment + """Filter by the object’s `planMax` field.""" + planMax: BigIntFilter - """Does not end with the specified string (case-sensitive).""" - notEndsWith: ConstructiveInternalTypeAttachment + """Filter by the object’s `purchasedCredits` field.""" + purchasedCredits: BigIntFilter - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeAttachment + """Filter by the object’s `periodCredits` field.""" + periodCredits: BigIntFilter - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeAttachment + """Checks for all expressions in this list.""" + and: [AppLimitFilter!] - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: ConstructiveInternalTypeAttachment + """Checks for any expressions in this list.""" + or: [AppLimitFilter!] - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: ConstructiveInternalTypeAttachment + """Negates the expression.""" + not: AppLimitFilter - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: ConstructiveInternalTypeAttachment + """Filter by the object’s `actor` relation.""" + actor: UserFilter +} +""" +A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ +""" +input BigIntFilter { """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - notLikeInsensitive: ConstructiveInternalTypeAttachment + isNull: Boolean - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + """Equal to the specified value.""" + equalTo: BigInt - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + """Not equal to the specified value.""" + notEqualTo: BigInt """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). + Not equal to the specified value, treating null like an ordinary value. """ - distinctFromInsensitive: String + distinctFrom: BigInt - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: String + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: BigInt - """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + """Included in the specified list.""" + in: [BigInt!] - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] + """Not included in the specified list.""" + notIn: [BigInt!] - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + """Less than the specified value.""" + lessThan: BigInt - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + """Less than or equal to the specified value.""" + lessThanOrEqualTo: BigInt - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + """Greater than the specified value.""" + greaterThan: BigInt - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: BigInt } -scalar ConstructiveInternalTypeAttachment - """ -A filter to be used against `App` object types. All fields are combined with a logical ‘and.’ +A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers. """ -input AppFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `siteId` field.""" - siteId: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `appImage` field.""" - appImage: ConstructiveInternalTypeImageFilter - - """Filter by the object’s `appStoreLink` field.""" - appStoreLink: ConstructiveInternalTypeUrlFilter - - """Filter by the object’s `appStoreId` field.""" - appStoreId: StringFilter - - """Filter by the object’s `appIdPrefix` field.""" - appIdPrefix: StringFilter - - """Filter by the object’s `playStoreLink` field.""" - playStoreLink: ConstructiveInternalTypeUrlFilter - - """Checks for all expressions in this list.""" - and: [AppFilter!] - - """Checks for any expressions in this list.""" - or: [AppFilter!] - - """Negates the expression.""" - not: AppFilter - - """Filter by the object’s `site` relation.""" - site: SiteFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter -} +scalar BigInt """ -A filter to be used against ConstructiveInternalTypeUrl fields. All fields are combined with a logical ‘and.’ +A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ """ -input ConstructiveInternalTypeUrlFilter { +input IntervalFilter { """ Is null (if `true` is specified) or is not null (if `false` is specified). """ isNull: Boolean """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeUrl + equalTo: IntervalInput """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeUrl + notEqualTo: IntervalInput """ Not equal to the specified value, treating null like an ordinary value. """ - distinctFrom: ConstructiveInternalTypeUrl + distinctFrom: IntervalInput """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeUrl + notDistinctFrom: IntervalInput """Included in the specified list.""" - in: [ConstructiveInternalTypeUrl!] + in: [IntervalInput!] """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeUrl!] + notIn: [IntervalInput!] """Less than the specified value.""" - lessThan: ConstructiveInternalTypeUrl + lessThan: IntervalInput """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeUrl + lessThanOrEqualTo: IntervalInput """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeUrl + greaterThan: IntervalInput """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeUrl + greaterThanOrEqualTo: IntervalInput +} - """Contains the specified string (case-sensitive).""" - includes: ConstructiveInternalTypeUrl +""" +An interval of time that has passed where the smallest distinct unit is a second. +""" +input IntervalInput { + """ + A quantity of seconds. This is the only non-integer field, as all the other + fields will dump their overflow into a smaller unit of time. Intervals don’t + have a smaller unit than seconds. + """ + seconds: Float - """Does not contain the specified string (case-sensitive).""" - notIncludes: ConstructiveInternalTypeUrl + """A quantity of minutes.""" + minutes: Int - """Contains the specified string (case-insensitive).""" - includesInsensitive: ConstructiveInternalTypeUrl + """A quantity of hours.""" + hours: Int - """Does not contain the specified string (case-insensitive).""" - notIncludesInsensitive: ConstructiveInternalTypeUrl + """A quantity of days.""" + days: Int - """Starts with the specified string (case-sensitive).""" - startsWith: ConstructiveInternalTypeUrl + """A quantity of months.""" + months: Int - """Does not start with the specified string (case-sensitive).""" - notStartsWith: ConstructiveInternalTypeUrl + """A quantity of years.""" + years: Int +} - """Starts with the specified string (case-insensitive).""" - startsWithInsensitive: ConstructiveInternalTypeUrl +""" +A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyAppLimitCreditFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitCreditFilter - """Does not start with the specified string (case-insensitive).""" - notStartsWithInsensitive: ConstructiveInternalTypeUrl + """Filters to entities where every related entity matches.""" + every: AppLimitCreditFilter - """Ends with the specified string (case-sensitive).""" - endsWith: ConstructiveInternalTypeUrl + """Filters to entities where no related entity matches.""" + none: AppLimitCreditFilter +} - """Does not end with the specified string (case-sensitive).""" - notEndsWith: ConstructiveInternalTypeUrl +""" +A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCreditFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Ends with the specified string (case-insensitive).""" - endsWithInsensitive: ConstructiveInternalTypeUrl + """Filter by the object’s `defaultLimitId` field.""" + defaultLimitId: UUIDFilter - """Does not end with the specified string (case-insensitive).""" - notEndsWithInsensitive: ConstructiveInternalTypeUrl + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """ - Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - like: ConstructiveInternalTypeUrl + """Filter by the object’s `amount` field.""" + amount: BigIntFilter - """ - Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLike: ConstructiveInternalTypeUrl + """Filter by the object’s `creditType` field.""" + creditType: StringFilter - """ - Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - likeInsensitive: ConstructiveInternalTypeUrl + """Filter by the object’s `reason` field.""" + reason: StringFilter - """ - Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. - """ - notLikeInsensitive: ConstructiveInternalTypeUrl + """Checks for all expressions in this list.""" + and: [AppLimitCreditFilter!] - """Equal to the specified value (case-insensitive).""" - equalToInsensitive: String + """Checks for any expressions in this list.""" + or: [AppLimitCreditFilter!] - """Not equal to the specified value (case-insensitive).""" - notEqualToInsensitive: String + """Negates the expression.""" + not: AppLimitCreditFilter - """ - Not equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - distinctFromInsensitive: String + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """ - Equal to the specified value, treating null like an ordinary value (case-insensitive). - """ - notDistinctFromInsensitive: String + """A related `actor` exists.""" + actorExists: Boolean - """Included in the specified list (case-insensitive).""" - inInsensitive: [String!] + """Filter by the object’s `defaultLimit` relation.""" + defaultLimit: AppLimitDefaultFilter +} - """Not included in the specified list (case-insensitive).""" - notInInsensitive: [String!] +""" +A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Less than the specified value (case-insensitive).""" - lessThanInsensitive: String + """Filter by the object’s `name` field.""" + name: StringFilter - """Less than or equal to the specified value (case-insensitive).""" - lessThanOrEqualToInsensitive: String + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Greater than the specified value (case-insensitive).""" - greaterThanInsensitive: String + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """Greater than or equal to the specified value (case-insensitive).""" - greaterThanOrEqualToInsensitive: String -} + """Checks for all expressions in this list.""" + and: [AppLimitDefaultFilter!] -scalar ConstructiveInternalTypeUrl + """Checks for any expressions in this list.""" + or: [AppLimitDefaultFilter!] + + """Negates the expression.""" + not: AppLimitDefaultFilter + + """Filter by the object’s `appLimitCreditsByDefaultLimitId` relation.""" + appLimitCreditsByDefaultLimitId: AppLimitDefaultToManyAppLimitCreditFilter + + """`appLimitCreditsByDefaultLimitId` exist.""" + appLimitCreditsByDefaultLimitIdExist: Boolean + + """ + Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. + """ + appLimitCreditCodeItemsByDefaultLimitId: AppLimitDefaultToManyAppLimitCreditCodeItemFilter + + """`appLimitCreditCodeItemsByDefaultLimitId` exist.""" + appLimitCreditCodeItemsByDefaultLimitIdExist: Boolean +} """ -A filter to be used against many `Domain` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ """ -input SiteToManyDomainFilter { +input AppLimitDefaultToManyAppLimitCreditFilter { """Filters to entities where at least one related entity matches.""" - some: DomainFilter + some: AppLimitCreditFilter """Filters to entities where every related entity matches.""" - every: DomainFilter + every: AppLimitCreditFilter """Filters to entities where no related entity matches.""" - none: DomainFilter + none: AppLimitCreditFilter } """ -A filter to be used against many `SiteMetadatum` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ """ -input SiteToManySiteMetadatumFilter { +input AppLimitDefaultToManyAppLimitCreditCodeItemFilter { """Filters to entities where at least one related entity matches.""" - some: SiteMetadatumFilter + some: AppLimitCreditCodeItemFilter """Filters to entities where every related entity matches.""" - every: SiteMetadatumFilter + every: AppLimitCreditCodeItemFilter """Filters to entities where no related entity matches.""" - none: SiteMetadatumFilter + none: AppLimitCreditCodeItemFilter } """ -A filter to be used against `SiteMetadatum` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ """ -input SiteMetadatumFilter { +input AppLimitCreditCodeItemFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `siteId` field.""" - siteId: UUIDFilter + """Filter by the object’s `creditCodeId` field.""" + creditCodeId: UUIDFilter - """Filter by the object’s `title` field.""" - title: StringFilter + """Filter by the object’s `defaultLimitId` field.""" + defaultLimitId: UUIDFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """Filter by the object’s `amount` field.""" + amount: BigIntFilter - """Filter by the object’s `ogImage` field.""" - ogImage: ConstructiveInternalTypeImageFilter + """Filter by the object’s `creditType` field.""" + creditType: StringFilter """Checks for all expressions in this list.""" - and: [SiteMetadatumFilter!] + and: [AppLimitCreditCodeItemFilter!] """Checks for any expressions in this list.""" - or: [SiteMetadatumFilter!] + or: [AppLimitCreditCodeItemFilter!] """Negates the expression.""" - not: SiteMetadatumFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `site` relation.""" - site: SiteFilter -} - -""" -A filter to be used against many `SiteModule` object types. All fields are combined with a logical ‘and.’ -""" -input SiteToManySiteModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: SiteModuleFilter + not: AppLimitCreditCodeItemFilter - """Filters to entities where every related entity matches.""" - every: SiteModuleFilter + """Filter by the object’s `creditCode` relation.""" + creditCode: AppLimitCreditCodeFilter - """Filters to entities where no related entity matches.""" - none: SiteModuleFilter + """Filter by the object’s `defaultLimit` relation.""" + defaultLimit: AppLimitDefaultFilter } """ -A filter to be used against `SiteModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ """ -input SiteModuleFilter { +input AppLimitCreditCodeFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `code` field.""" + code: StringFilter - """Filter by the object’s `siteId` field.""" - siteId: UUIDFilter + """Filter by the object’s `maxRedemptions` field.""" + maxRedemptions: IntFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `currentRedemptions` field.""" + currentRedemptions: IntFilter + + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [SiteModuleFilter!] + and: [AppLimitCreditCodeFilter!] """Checks for any expressions in this list.""" - or: [SiteModuleFilter!] + or: [AppLimitCreditCodeFilter!] """Negates the expression.""" - not: SiteModuleFilter + not: AppLimitCreditCodeFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """ + Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. + """ + appLimitCreditCodeItemsByCreditCodeId: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter - """Filter by the object’s `site` relation.""" - site: SiteFilter + """`appLimitCreditCodeItemsByCreditCodeId` exist.""" + appLimitCreditCodeItemsByCreditCodeIdExist: Boolean + + """ + Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. + """ + appLimitCreditRedemptionsByCreditCodeId: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter + + """`appLimitCreditRedemptionsByCreditCodeId` exist.""" + appLimitCreditRedemptionsByCreditCodeIdExist: Boolean } """ -A filter to be used against many `SiteTheme` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ """ -input SiteToManySiteThemeFilter { +input AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { """Filters to entities where at least one related entity matches.""" - some: SiteThemeFilter + some: AppLimitCreditCodeItemFilter """Filters to entities where every related entity matches.""" - every: SiteThemeFilter + every: AppLimitCreditCodeItemFilter """Filters to entities where no related entity matches.""" - none: SiteThemeFilter + none: AppLimitCreditCodeItemFilter } """ -A filter to be used against `SiteTheme` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ """ -input SiteThemeFilter { +input AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + """Filters to entities where at least one related entity matches.""" + some: AppLimitCreditRedemptionFilter + + """Filters to entities where every related entity matches.""" + every: AppLimitCreditRedemptionFilter + + """Filters to entities where no related entity matches.""" + none: AppLimitCreditRedemptionFilter +} + +""" +A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ +""" +input AppLimitCreditRedemptionFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `siteId` field.""" - siteId: UUIDFilter + """Filter by the object’s `creditCodeId` field.""" + creditCodeId: UUIDFilter - """Filter by the object’s `theme` field.""" - theme: JSONFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter """Checks for all expressions in this list.""" - and: [SiteThemeFilter!] + and: [AppLimitCreditRedemptionFilter!] """Checks for any expressions in this list.""" - or: [SiteThemeFilter!] + or: [AppLimitCreditRedemptionFilter!] """Negates the expression.""" - not: SiteThemeFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: AppLimitCreditRedemptionFilter - """Filter by the object’s `site` relation.""" - site: SiteFilter + """Filter by the object’s `creditCode` relation.""" + creditCode: AppLimitCreditCodeFilter } """ -A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ """ -input SchemaToManySessionSecretsModuleFilter { +input UserToManyOrgLimitFilter { """Filters to entities where at least one related entity matches.""" - some: SessionSecretsModuleFilter + some: OrgLimitFilter """Filters to entities where every related entity matches.""" - every: SessionSecretsModuleFilter + every: OrgLimitFilter """Filters to entities where no related entity matches.""" - none: SessionSecretsModuleFilter + none: OrgLimitFilter } """ -A filter to be used against many `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgLimit` object types. All fields are combined with a logical ‘and.’ """ -input SchemaToManyIdentityProvidersModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: IdentityProvidersModuleFilter +input OrgLimitFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filters to entities where every related entity matches.""" - every: IdentityProvidersModuleFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filters to entities where no related entity matches.""" - none: IdentityProvidersModuleFilter -} + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter -""" -A filter to be used against many `Table` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyTableFilter { - """Filters to entities where at least one related entity matches.""" - some: TableFilter - - """Filters to entities where every related entity matches.""" - every: TableFilter + """Filter by the object’s `num` field.""" + num: BigIntFilter - """Filters to entities where no related entity matches.""" - none: TableFilter -} + """Filter by the object’s `max` field.""" + max: BigIntFilter -""" -A filter to be used against many `CheckConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyCheckConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: CheckConstraintFilter + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """Filters to entities where every related entity matches.""" - every: CheckConstraintFilter + """Filter by the object’s `windowStart` field.""" + windowStart: DatetimeFilter - """Filters to entities where no related entity matches.""" - none: CheckConstraintFilter -} + """Filter by the object’s `windowDuration` field.""" + windowDuration: IntervalFilter -""" -A filter to be used against many `Field` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyFieldFilter { - """Filters to entities where at least one related entity matches.""" - some: FieldFilter + """Filter by the object’s `planMax` field.""" + planMax: BigIntFilter - """Filters to entities where every related entity matches.""" - every: FieldFilter + """Filter by the object’s `purchasedCredits` field.""" + purchasedCredits: BigIntFilter - """Filters to entities where no related entity matches.""" - none: FieldFilter -} + """Filter by the object’s `periodCredits` field.""" + periodCredits: BigIntFilter -""" -A filter to be used against many `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyForeignKeyConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: ForeignKeyConstraintFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filters to entities where every related entity matches.""" - every: ForeignKeyConstraintFilter + """Checks for all expressions in this list.""" + and: [OrgLimitFilter!] - """Filters to entities where no related entity matches.""" - none: ForeignKeyConstraintFilter -} + """Checks for any expressions in this list.""" + or: [OrgLimitFilter!] -""" -A filter to be used against many `FullTextSearch` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyFullTextSearchFilter { - """Filters to entities where at least one related entity matches.""" - some: FullTextSearchFilter + """Negates the expression.""" + not: OrgLimitFilter - """Filters to entities where every related entity matches.""" - every: FullTextSearchFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filters to entities where no related entity matches.""" - none: FullTextSearchFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter } """ -A filter to be used against many `Index` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyIndexFilter { +input UserToManyOrgLimitCreditFilter { """Filters to entities where at least one related entity matches.""" - some: IndexFilter + some: OrgLimitCreditFilter """Filters to entities where every related entity matches.""" - every: IndexFilter + every: OrgLimitCreditFilter """Filters to entities where no related entity matches.""" - none: IndexFilter + none: OrgLimitCreditFilter } """ -A filter to be used against many `Policy` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyPolicyFilter { - """Filters to entities where at least one related entity matches.""" - some: PolicyFilter +input OrgLimitCreditFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filters to entities where every related entity matches.""" - every: PolicyFilter + """Filter by the object’s `defaultLimitId` field.""" + defaultLimitId: UUIDFilter - """Filters to entities where no related entity matches.""" - none: PolicyFilter -} + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter -""" -A filter to be used against many `PrimaryKeyConstraint` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyPrimaryKeyConstraintFilter { - """Filters to entities where at least one related entity matches.""" - some: PrimaryKeyConstraintFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filters to entities where every related entity matches.""" - every: PrimaryKeyConstraintFilter + """Filter by the object’s `amount` field.""" + amount: BigIntFilter - """Filters to entities where no related entity matches.""" - none: PrimaryKeyConstraintFilter -} + """Filter by the object’s `creditType` field.""" + creditType: StringFilter -""" -A filter to be used against many `SchemaGrant` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySchemaGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: SchemaGrantFilter + """Filter by the object’s `reason` field.""" + reason: StringFilter - """Filters to entities where every related entity matches.""" - every: SchemaGrantFilter + """Checks for all expressions in this list.""" + and: [OrgLimitCreditFilter!] - """Filters to entities where no related entity matches.""" - none: SchemaGrantFilter -} + """Checks for any expressions in this list.""" + or: [OrgLimitCreditFilter!] -""" -A filter to be used against many `TableGrant` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyTableGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: TableGrantFilter + """Negates the expression.""" + not: OrgLimitCreditFilter - """Filters to entities where every related entity matches.""" - every: TableGrantFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filters to entities where no related entity matches.""" - none: TableGrantFilter -} + """A related `actor` exists.""" + actorExists: Boolean -""" -A filter to be used against many `TriggerFunction` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyTriggerFunctionFilter { - """Filters to entities where at least one related entity matches.""" - some: TriggerFunctionFilter + """Filter by the object’s `defaultLimit` relation.""" + defaultLimit: OrgLimitDefaultFilter - """Filters to entities where every related entity matches.""" - every: TriggerFunctionFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Filters to entities where no related entity matches.""" - none: TriggerFunctionFilter + """A related `entity` exists.""" + entityExists: Boolean } """ -A filter to be used against `TriggerFunction` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ """ -input TriggerFunctionFilter { +input OrgLimitDefaultFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - """Filter by the object’s `name` field.""" name: StringFilter - """Filter by the object’s `code` field.""" - code: StringFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter """Checks for all expressions in this list.""" - and: [TriggerFunctionFilter!] + and: [OrgLimitDefaultFilter!] """Checks for any expressions in this list.""" - or: [TriggerFunctionFilter!] + or: [OrgLimitDefaultFilter!] """Negates the expression.""" - not: TriggerFunctionFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter -} - -""" -A filter to be used against many `Trigger` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyTriggerFilter { - """Filters to entities where at least one related entity matches.""" - some: TriggerFilter + not: OrgLimitDefaultFilter - """Filters to entities where every related entity matches.""" - every: TriggerFilter + """Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation.""" + orgLimitCreditsByDefaultLimitId: OrgLimitDefaultToManyOrgLimitCreditFilter - """Filters to entities where no related entity matches.""" - none: TriggerFilter + """`orgLimitCreditsByDefaultLimitId` exist.""" + orgLimitCreditsByDefaultLimitIdExist: Boolean } """ -A filter to be used against many `UniqueConstraint` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyUniqueConstraintFilter { +input OrgLimitDefaultToManyOrgLimitCreditFilter { """Filters to entities where at least one related entity matches.""" - some: UniqueConstraintFilter + some: OrgLimitCreditFilter """Filters to entities where every related entity matches.""" - every: UniqueConstraintFilter + every: OrgLimitCreditFilter """Filters to entities where no related entity matches.""" - none: UniqueConstraintFilter + none: OrgLimitCreditFilter } """ -A filter to be used against many `View` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyViewFilter { +input UserToManyOrgLimitAggregateFilter { """Filters to entities where at least one related entity matches.""" - some: ViewFilter + some: OrgLimitAggregateFilter """Filters to entities where every related entity matches.""" - every: ViewFilter + every: OrgLimitAggregateFilter """Filters to entities where no related entity matches.""" - none: ViewFilter + none: OrgLimitAggregateFilter } """ -A filter to be used against many `ViewGrant` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyViewGrantFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewGrantFilter - - """Filters to entities where every related entity matches.""" - every: ViewGrantFilter - - """Filters to entities where no related entity matches.""" - none: ViewGrantFilter -} +input OrgLimitAggregateFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -""" -A filter to be used against many `ViewRule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyViewRuleFilter { - """Filters to entities where at least one related entity matches.""" - some: ViewRuleFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filters to entities where every related entity matches.""" - every: ViewRuleFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filters to entities where no related entity matches.""" - none: ViewRuleFilter -} + """Filter by the object’s `num` field.""" + num: BigIntFilter -""" -A filter to be used against many `DefaultPrivilege` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyDefaultPrivilegeFilter { - """Filters to entities where at least one related entity matches.""" - some: DefaultPrivilegeFilter + """Filter by the object’s `max` field.""" + max: BigIntFilter - """Filters to entities where every related entity matches.""" - every: DefaultPrivilegeFilter + """Filter by the object’s `softMax` field.""" + softMax: BigIntFilter - """Filters to entities where no related entity matches.""" - none: DefaultPrivilegeFilter -} + """Filter by the object’s `windowStart` field.""" + windowStart: DatetimeFilter -""" -A filter to be used against many `Enum` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyEnumFilter { - """Filters to entities where at least one related entity matches.""" - some: EnumFilter + """Filter by the object’s `windowDuration` field.""" + windowDuration: IntervalFilter - """Filters to entities where every related entity matches.""" - every: EnumFilter + """Filter by the object’s `planMax` field.""" + planMax: BigIntFilter - """Filters to entities where no related entity matches.""" - none: EnumFilter -} + """Filter by the object’s `purchasedCredits` field.""" + purchasedCredits: BigIntFilter -""" -A filter to be used against many `EmbeddingChunk` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyEmbeddingChunkFilter { - """Filters to entities where at least one related entity matches.""" - some: EmbeddingChunkFilter + """Filter by the object’s `periodCredits` field.""" + periodCredits: BigIntFilter - """Filters to entities where every related entity matches.""" - every: EmbeddingChunkFilter + """Filter by the object’s `reserved` field.""" + reserved: BigIntFilter - """Filters to entities where no related entity matches.""" - none: EmbeddingChunkFilter -} + """Checks for all expressions in this list.""" + and: [OrgLimitAggregateFilter!] -""" -A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySpatialRelationFilter { - """Filters to entities where at least one related entity matches.""" - some: SpatialRelationFilter + """Checks for any expressions in this list.""" + or: [OrgLimitAggregateFilter!] - """Filters to entities where every related entity matches.""" - every: SpatialRelationFilter + """Negates the expression.""" + not: OrgLimitAggregateFilter - """Filters to entities where no related entity matches.""" - none: SpatialRelationFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter } """ -A filter to be used against many `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppStep` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyDatabaseTransferFilter { +input UserToManyAppStepFilter { """Filters to entities where at least one related entity matches.""" - some: DatabaseTransferFilter + some: AppStepFilter """Filters to entities where every related entity matches.""" - every: DatabaseTransferFilter + every: AppStepFilter """Filters to entities where no related entity matches.""" - none: DatabaseTransferFilter + none: AppStepFilter } """ -A filter to be used against `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppStep` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseTransferFilter { +input AppStepFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `targetOwnerId` field.""" - targetOwnerId: UUIDFilter - - """Filter by the object’s `sourceApproved` field.""" - sourceApproved: BooleanFilter - - """Filter by the object’s `targetApproved` field.""" - targetApproved: BooleanFilter - - """Filter by the object’s `sourceApprovedAt` field.""" - sourceApprovedAt: DatetimeFilter - - """Filter by the object’s `targetApprovedAt` field.""" - targetApprovedAt: DatetimeFilter - - """Filter by the object’s `status` field.""" - status: StringFilter - - """Filter by the object’s `initiatedBy` field.""" - initiatedBy: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `notes` field.""" - notes: StringFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `expiresAt` field.""" - expiresAt: DatetimeFilter + """Filter by the object’s `count` field.""" + count: IntFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -12610,1563 +12958,1424 @@ input DatabaseTransferFilter { """Filter by the object’s `updatedAt` field.""" updatedAt: DatetimeFilter - """Filter by the object’s `completedAt` field.""" - completedAt: DatetimeFilter - """Checks for all expressions in this list.""" - and: [DatabaseTransferFilter!] + and: [AppStepFilter!] """Checks for any expressions in this list.""" - or: [DatabaseTransferFilter!] + or: [AppStepFilter!] """Negates the expression.""" - not: DatabaseTransferFilter + not: AppStepFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter } """ -A filter to be used against many `Api` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppAchievement` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyApiFilter { +input UserToManyAppAchievementFilter { """Filters to entities where at least one related entity matches.""" - some: ApiFilter + some: AppAchievementFilter """Filters to entities where every related entity matches.""" - every: ApiFilter + every: AppAchievementFilter """Filters to entities where no related entity matches.""" - none: ApiFilter + none: AppAchievementFilter } """ -A filter to be used against many `ApiModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppAchievement` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyApiModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: ApiModuleFilter +input AppAchievementFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filters to entities where every related entity matches.""" - every: ApiModuleFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filters to entities where no related entity matches.""" - none: ApiModuleFilter -} + """Filter by the object’s `name` field.""" + name: StringFilter -""" -A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyApiSchemaFilter { - """Filters to entities where at least one related entity matches.""" - some: ApiSchemaFilter + """Filter by the object’s `count` field.""" + count: IntFilter - """Filters to entities where every related entity matches.""" - every: ApiSchemaFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filters to entities where no related entity matches.""" - none: ApiSchemaFilter -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -""" -A filter to be used against many `Site` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySiteFilter { - """Filters to entities where at least one related entity matches.""" - some: SiteFilter + """Checks for all expressions in this list.""" + and: [AppAchievementFilter!] - """Filters to entities where every related entity matches.""" - every: SiteFilter + """Checks for any expressions in this list.""" + or: [AppAchievementFilter!] - """Filters to entities where no related entity matches.""" - none: SiteFilter + """Negates the expression.""" + not: AppAchievementFilter + + """Filter by the object’s `actor` relation.""" + actor: UserFilter } """ -A filter to be used against many `App` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppLevel` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyAppFilter { +input UserToManyAppLevelFilter { """Filters to entities where at least one related entity matches.""" - some: AppFilter + some: AppLevelFilter """Filters to entities where every related entity matches.""" - every: AppFilter + every: AppLevelFilter """Filters to entities where no related entity matches.""" - none: AppFilter + none: AppLevelFilter } """ -A filter to be used against many `Domain` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppLevel` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyDomainFilter { - """Filters to entities where at least one related entity matches.""" - some: DomainFilter +input AppLevelFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filters to entities where every related entity matches.""" - every: DomainFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filters to entities where no related entity matches.""" - none: DomainFilter -} + """Filter by the object’s `description` field.""" + description: StringFilter -""" -A filter to be used against many `SiteMetadatum` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySiteMetadatumFilter { - """Filters to entities where at least one related entity matches.""" - some: SiteMetadatumFilter + """Filter by the object’s `image` field.""" + image: ConstructiveInternalTypeImageFilter - """Filters to entities where every related entity matches.""" - every: SiteMetadatumFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filters to entities where no related entity matches.""" - none: SiteMetadatumFilter -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -""" -A filter to be used against many `SiteModule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySiteModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: SiteModuleFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filters to entities where every related entity matches.""" - every: SiteModuleFilter + """Checks for all expressions in this list.""" + and: [AppLevelFilter!] - """Filters to entities where no related entity matches.""" - none: SiteModuleFilter -} + """Checks for any expressions in this list.""" + or: [AppLevelFilter!] -""" -A filter to be used against many `SiteTheme` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySiteThemeFilter { - """Filters to entities where at least one related entity matches.""" - some: SiteThemeFilter + """Negates the expression.""" + not: AppLevelFilter - """Filters to entities where every related entity matches.""" - every: SiteThemeFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter - """Filters to entities where no related entity matches.""" - none: SiteThemeFilter + """A related `owner` exists.""" + ownerExists: Boolean } """ -A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Email` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyConnectedAccountsModuleFilter { +input UserToManyEmailFilter { """Filters to entities where at least one related entity matches.""" - some: ConnectedAccountsModuleFilter + some: EmailFilter """Filters to entities where every related entity matches.""" - every: ConnectedAccountsModuleFilter + every: EmailFilter """Filters to entities where no related entity matches.""" - none: ConnectedAccountsModuleFilter + none: EmailFilter } """ -A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Email` object types. All fields are combined with a logical ‘and.’ """ -input ConnectedAccountsModuleFilter { +input EmailFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `email` field.""" + email: ConstructiveInternalTypeEmailFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """Filter by the object’s `ownerTableId` field.""" - ownerTableId: UUIDFilter + """Filter by the object’s `isPrimary` field.""" + isPrimary: BooleanFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [ConnectedAccountsModuleFilter!] + and: [EmailFilter!] """Checks for any expressions in this list.""" - or: [ConnectedAccountsModuleFilter!] + or: [EmailFilter!] """Negates the expression.""" - not: ConnectedAccountsModuleFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `ownerTable` relation.""" - ownerTable: TableFilter - - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter - - """Filter by the object’s `table` relation.""" - table: TableFilter -} - -""" -A filter to be used against many `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyCryptoAddressesModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: CryptoAddressesModuleFilter - - """Filters to entities where every related entity matches.""" - every: CryptoAddressesModuleFilter + not: EmailFilter - """Filters to entities where no related entity matches.""" - none: CryptoAddressesModuleFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter } """ -A filter to be used against `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ """ -input CryptoAddressesModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter - - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter - - """Filter by the object’s `ownerTableId` field.""" - ownerTableId: UUIDFilter +input ConstructiveInternalTypeEmailFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Equal to the specified value.""" + equalTo: String - """Filter by the object’s `cryptoNetwork` field.""" - cryptoNetwork: StringFilter + """Not equal to the specified value.""" + notEqualTo: String - """Checks for all expressions in this list.""" - and: [CryptoAddressesModuleFilter!] + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: String - """Checks for any expressions in this list.""" - or: [CryptoAddressesModuleFilter!] + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: String - """Negates the expression.""" - not: CryptoAddressesModuleFilter + """Included in the specified list.""" + in: [String!] - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Not included in the specified list.""" + notIn: [String!] - """Filter by the object’s `ownerTable` relation.""" - ownerTable: TableFilter + """Less than the specified value.""" + lessThan: String - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: String - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Greater than the specified value.""" + greaterThan: String - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: String -""" -A filter to be used against many `CryptoAuthModule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyCryptoAuthModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: CryptoAuthModuleFilter + """Contains the specified string (case-sensitive).""" + includes: String - """Filters to entities where every related entity matches.""" - every: CryptoAuthModuleFilter + """Does not contain the specified string (case-sensitive).""" + notIncludes: String - """Filters to entities where no related entity matches.""" - none: CryptoAuthModuleFilter -} + """Contains the specified string (case-insensitive).""" + includesInsensitive: ConstructiveInternalTypeEmail -""" -A filter to be used against `CryptoAuthModule` object types. All fields are combined with a logical ‘and.’ -""" -input CryptoAuthModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Starts with the specified string (case-sensitive).""" + startsWith: String - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Does not start with the specified string (case-sensitive).""" + notStartsWith: String - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `secretsTableId` field.""" - secretsTableId: UUIDFilter + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `sessionsTableId` field.""" - sessionsTableId: UUIDFilter + """Ends with the specified string (case-sensitive).""" + endsWith: String - """Filter by the object’s `sessionCredentialsTableId` field.""" - sessionCredentialsTableId: UUIDFilter + """Does not end with the specified string (case-sensitive).""" + notEndsWith: String - """Filter by the object’s `addressesTableId` field.""" - addressesTableId: UUIDFilter + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `userField` field.""" - userField: StringFilter + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `cryptoNetwork` field.""" - cryptoNetwork: StringFilter + """ + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + like: String - """Filter by the object’s `signInRequestChallenge` field.""" - signInRequestChallenge: StringFilter + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: String - """Filter by the object’s `signInRecordFailure` field.""" - signInRecordFailure: StringFilter + """ + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + likeInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `signUpWithKey` field.""" - signUpWithKey: StringFilter + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `signInWithChallenge` field.""" - signInWithChallenge: StringFilter + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: ConstructiveInternalTypeEmail - """Checks for all expressions in this list.""" - and: [CryptoAuthModuleFilter!] + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: ConstructiveInternalTypeEmail - """Checks for any expressions in this list.""" - or: [CryptoAuthModuleFilter!] + """ + Not equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + distinctFromInsensitive: ConstructiveInternalTypeEmail - """Negates the expression.""" - not: CryptoAuthModuleFilter + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Included in the specified list (case-insensitive).""" + inInsensitive: [ConstructiveInternalTypeEmail!] - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [ConstructiveInternalTypeEmail!] - """Filter by the object’s `secretsTable` relation.""" - secretsTable: TableFilter + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `sessionCredentialsTable` relation.""" - sessionCredentialsTable: TableFilter + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `sessionsTable` relation.""" - sessionsTable: TableFilter + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: ConstructiveInternalTypeEmail - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: ConstructiveInternalTypeEmail } +scalar ConstructiveInternalTypeEmail + """ -A filter to be used against many `DefaultIdsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `PhoneNumber` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyDefaultIdsModuleFilter { +input UserToManyPhoneNumberFilter { """Filters to entities where at least one related entity matches.""" - some: DefaultIdsModuleFilter + some: PhoneNumberFilter """Filters to entities where every related entity matches.""" - every: DefaultIdsModuleFilter + every: PhoneNumberFilter """Filters to entities where no related entity matches.""" - none: DefaultIdsModuleFilter + none: PhoneNumberFilter } """ -A filter to be used against `DefaultIdsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `PhoneNumber` object types. All fields are combined with a logical ‘and.’ """ -input DefaultIdsModuleFilter { +input PhoneNumberFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter + + """Filter by the object’s `cc` field.""" + cc: StringFilter + + """Filter by the object’s `number` field.""" + number: StringFilter + + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter + + """Filter by the object’s `isPrimary` field.""" + isPrimary: BooleanFilter + + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [DefaultIdsModuleFilter!] + and: [PhoneNumberFilter!] """Checks for any expressions in this list.""" - or: [DefaultIdsModuleFilter!] + or: [PhoneNumberFilter!] """Negates the expression.""" - not: DefaultIdsModuleFilter + not: PhoneNumberFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter } """ -A filter to be used against many `DenormalizedTableField` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `CryptoAddress` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyDenormalizedTableFieldFilter { +input UserToManyCryptoAddressFilter { """Filters to entities where at least one related entity matches.""" - some: DenormalizedTableFieldFilter + some: CryptoAddressFilter """Filters to entities where every related entity matches.""" - every: DenormalizedTableFieldFilter + every: CryptoAddressFilter """Filters to entities where no related entity matches.""" - none: DenormalizedTableFieldFilter + none: CryptoAddressFilter } """ -A filter to be used against `DenormalizedTableField` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `CryptoAddress` object types. All fields are combined with a logical ‘and.’ """ -input DenormalizedTableFieldFilter { +input CryptoAddressFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter - - """Filter by the object’s `fieldId` field.""" - fieldId: UUIDFilter - - """Filter by the object’s `setIds` field.""" - setIds: UUIDListFilter - - """Filter by the object’s `refTableId` field.""" - refTableId: UUIDFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filter by the object’s `refFieldId` field.""" - refFieldId: UUIDFilter + """Filter by the object’s `address` field.""" + address: StringFilter - """Filter by the object’s `refIds` field.""" - refIds: UUIDListFilter + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """Filter by the object’s `useUpdates` field.""" - useUpdates: BooleanFilter + """Filter by the object’s `isPrimary` field.""" + isPrimary: BooleanFilter - """Filter by the object’s `updateDefaults` field.""" - updateDefaults: BooleanFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `funcName` field.""" - funcName: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `funcOrder` field.""" - funcOrder: IntFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [DenormalizedTableFieldFilter!] + and: [CryptoAddressFilter!] """Checks for any expressions in this list.""" - or: [DenormalizedTableFieldFilter!] + or: [CryptoAddressFilter!] """Negates the expression.""" - not: DenormalizedTableFieldFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `field` relation.""" - field: FieldFilter - - """Filter by the object’s `refField` relation.""" - refField: FieldFilter - - """Filter by the object’s `refTable` relation.""" - refTable: TableFilter + not: CryptoAddressFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter } """ -A filter to be used against many `EmailsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `WebauthnCredential` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyEmailsModuleFilter { +input UserToManyWebauthnCredentialFilter { """Filters to entities where at least one related entity matches.""" - some: EmailsModuleFilter + some: WebauthnCredentialFilter """Filters to entities where every related entity matches.""" - every: EmailsModuleFilter + every: WebauthnCredentialFilter """Filters to entities where no related entity matches.""" - none: EmailsModuleFilter + none: WebauthnCredentialFilter } """ -A filter to be used against `EmailsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `WebauthnCredential` object types. All fields are combined with a logical ‘and.’ """ -input EmailsModuleFilter { +input WebauthnCredentialFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `credentialId` field.""" + credentialId: StringFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `publicKey` field.""" + publicKey: Base64EncodedBinaryFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `signCount` field.""" + signCount: BigIntFilter - """Filter by the object’s `ownerTableId` field.""" - ownerTableId: UUIDFilter + """Filter by the object’s `webauthnUserId` field.""" + webauthnUserId: StringFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `transports` field.""" + transports: StringListFilter + + """Filter by the object’s `credentialDeviceType` field.""" + credentialDeviceType: StringFilter + + """Filter by the object’s `backupEligible` field.""" + backupEligible: BooleanFilter + + """Filter by the object’s `backupState` field.""" + backupState: BooleanFilter + + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `lastUsedAt` field.""" + lastUsedAt: DatetimeFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [EmailsModuleFilter!] + and: [WebauthnCredentialFilter!] """Checks for any expressions in this list.""" - or: [EmailsModuleFilter!] + or: [WebauthnCredentialFilter!] """Negates the expression.""" - not: EmailsModuleFilter + not: WebauthnCredentialFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter +} - """Filter by the object’s `ownerTable` relation.""" - ownerTable: TableFilter +""" +A filter to be used against Base64EncodedBinary fields. All fields are combined with a logical ‘and.’ +""" +input Base64EncodedBinaryFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Equal to the specified value.""" + equalTo: Base64EncodedBinary - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Not equal to the specified value.""" + notEqualTo: Base64EncodedBinary - """Filter by the object’s `table` relation.""" - table: TableFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Base64EncodedBinary + + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Base64EncodedBinary + + """Included in the specified list.""" + in: [Base64EncodedBinary!] + + """Not included in the specified list.""" + notIn: [Base64EncodedBinary!] } +"""Binary data encoded using Base64""" +scalar Base64EncodedBinary + """ -A filter to be used against many `EncryptedSecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppInvite` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyEncryptedSecretsModuleFilter { +input UserToManyAppInviteFilter { """Filters to entities where at least one related entity matches.""" - some: EncryptedSecretsModuleFilter + some: AppInviteFilter """Filters to entities where every related entity matches.""" - every: EncryptedSecretsModuleFilter + every: AppInviteFilter """Filters to entities where no related entity matches.""" - none: EncryptedSecretsModuleFilter + none: AppInviteFilter } """ -A filter to be used against `EncryptedSecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppInvite` object types. All fields are combined with a logical ‘and.’ """ -input EncryptedSecretsModuleFilter { +input AppInviteFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `email` field.""" + email: ConstructiveInternalTypeEmailFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `inviteToken` field.""" + inviteToken: StringFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `inviteValid` field.""" + inviteValid: BooleanFilter + + """Filter by the object’s `inviteLimit` field.""" + inviteLimit: IntFilter + + """Filter by the object’s `inviteCount` field.""" + inviteCount: IntFilter + + """Filter by the object’s `multiple` field.""" + multiple: BooleanFilter + + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter + + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [EncryptedSecretsModuleFilter!] + and: [AppInviteFilter!] """Checks for any expressions in this list.""" - or: [EncryptedSecretsModuleFilter!] + or: [AppInviteFilter!] """Negates the expression.""" - not: EncryptedSecretsModuleFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + not: AppInviteFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """Filter by the object’s `sender` relation.""" + sender: UserFilter } """ -A filter to be used against many `InvitesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AppClaimedInvite` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyInvitesModuleFilter { +input UserToManyAppClaimedInviteFilter { """Filters to entities where at least one related entity matches.""" - some: InvitesModuleFilter + some: AppClaimedInviteFilter """Filters to entities where every related entity matches.""" - every: InvitesModuleFilter + every: AppClaimedInviteFilter """Filters to entities where no related entity matches.""" - none: InvitesModuleFilter + none: AppClaimedInviteFilter } """ -A filter to be used against `InvitesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AppClaimedInvite` object types. All fields are combined with a logical ‘and.’ """ -input InvitesModuleFilter { +input AppClaimedInviteFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter - - """Filter by the object’s `emailsTableId` field.""" - emailsTableId: UUIDFilter - - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter - - """Filter by the object’s `invitesTableId` field.""" - invitesTableId: UUIDFilter - - """Filter by the object’s `claimedInvitesTableId` field.""" - claimedInvitesTableId: UUIDFilter - - """Filter by the object’s `invitesTableName` field.""" - invitesTableName: StringFilter - - """Filter by the object’s `claimedInvitesTableName` field.""" - claimedInvitesTableName: StringFilter - - """Filter by the object’s `submitInviteCodeFunction` field.""" - submitInviteCodeFunction: StringFilter + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Filter by the object’s `receiverId` field.""" + receiverId: UUIDFilter - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [InvitesModuleFilter!] + and: [AppClaimedInviteFilter!] """Checks for any expressions in this list.""" - or: [InvitesModuleFilter!] + or: [AppClaimedInviteFilter!] """Negates the expression.""" - not: InvitesModuleFilter - - """Filter by the object’s `claimedInvitesTable` relation.""" - claimedInvitesTable: TableFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `emailsTable` relation.""" - emailsTable: TableFilter - - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter - - """A related `entityTable` exists.""" - entityTableExists: Boolean + not: AppClaimedInviteFilter - """Filter by the object’s `invitesTable` relation.""" - invitesTable: TableFilter + """Filter by the object’s `receiver` relation.""" + receiver: UserFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """A related `receiver` exists.""" + receiverExists: Boolean - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `sender` relation.""" + sender: UserFilter - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter + """A related `sender` exists.""" + senderExists: Boolean } """ -A filter to be used against many `LevelsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgInvite` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyLevelsModuleFilter { +input UserToManyOrgInviteFilter { """Filters to entities where at least one related entity matches.""" - some: LevelsModuleFilter + some: OrgInviteFilter """Filters to entities where every related entity matches.""" - every: LevelsModuleFilter + every: OrgInviteFilter """Filters to entities where no related entity matches.""" - none: LevelsModuleFilter + none: OrgInviteFilter } """ -A filter to be used against `LevelsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgInvite` object types. All fields are combined with a logical ‘and.’ """ -input LevelsModuleFilter { +input OrgInviteFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter - - """Filter by the object’s `stepsTableId` field.""" - stepsTableId: UUIDFilter - - """Filter by the object’s `stepsTableName` field.""" - stepsTableName: StringFilter - - """Filter by the object’s `achievementsTableId` field.""" - achievementsTableId: UUIDFilter - - """Filter by the object’s `achievementsTableName` field.""" - achievementsTableName: StringFilter - - """Filter by the object’s `levelsTableId` field.""" - levelsTableId: UUIDFilter - - """Filter by the object’s `levelsTableName` field.""" - levelsTableName: StringFilter - - """Filter by the object’s `levelRequirementsTableId` field.""" - levelRequirementsTableId: UUIDFilter - - """Filter by the object’s `levelRequirementsTableName` field.""" - levelRequirementsTableName: StringFilter - - """Filter by the object’s `completedStep` field.""" - completedStep: StringFilter - - """Filter by the object’s `incompletedStep` field.""" - incompletedStep: StringFilter + """Filter by the object’s `email` field.""" + email: ConstructiveInternalTypeEmailFilter - """Filter by the object’s `tgAchievement` field.""" - tgAchievement: StringFilter + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """Filter by the object’s `tgAchievementToggle` field.""" - tgAchievementToggle: StringFilter + """Filter by the object’s `receiverId` field.""" + receiverId: UUIDFilter - """Filter by the object’s `tgAchievementToggleBoolean` field.""" - tgAchievementToggleBoolean: StringFilter + """Filter by the object’s `inviteToken` field.""" + inviteToken: StringFilter - """Filter by the object’s `tgAchievementBoolean` field.""" - tgAchievementBoolean: StringFilter + """Filter by the object’s `inviteValid` field.""" + inviteValid: BooleanFilter - """Filter by the object’s `upsertAchievement` field.""" - upsertAchievement: StringFilter + """Filter by the object’s `inviteLimit` field.""" + inviteLimit: IntFilter - """Filter by the object’s `tgUpdateAchievements` field.""" - tgUpdateAchievements: StringFilter + """Filter by the object’s `inviteCount` field.""" + inviteCount: IntFilter - """Filter by the object’s `stepsRequired` field.""" - stepsRequired: StringFilter + """Filter by the object’s `multiple` field.""" + multiple: BooleanFilter - """Filter by the object’s `levelAchieved` field.""" - levelAchieved: StringFilter + """Filter by the object’s `profileId` field.""" + profileId: UUIDFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `actorTableId` field.""" - actorTableId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter """Checks for all expressions in this list.""" - and: [LevelsModuleFilter!] + and: [OrgInviteFilter!] """Checks for any expressions in this list.""" - or: [LevelsModuleFilter!] + or: [OrgInviteFilter!] """Negates the expression.""" - not: LevelsModuleFilter - - """Filter by the object’s `achievementsTable` relation.""" - achievementsTable: TableFilter - - """Filter by the object’s `actorTable` relation.""" - actorTable: TableFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter - - """A related `entityTable` exists.""" - entityTableExists: Boolean - - """Filter by the object’s `levelRequirementsTable` relation.""" - levelRequirementsTable: TableFilter + not: OrgInviteFilter - """Filter by the object’s `levelsTable` relation.""" - levelsTable: TableFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Filter by the object’s `receiver` relation.""" + receiver: UserFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """A related `receiver` exists.""" + receiverExists: Boolean - """Filter by the object’s `stepsTable` relation.""" - stepsTable: TableFilter + """Filter by the object’s `sender` relation.""" + sender: UserFilter } """ -A filter to be used against many `LimitsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `OrgClaimedInvite` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyLimitsModuleFilter { +input UserToManyOrgClaimedInviteFilter { """Filters to entities where at least one related entity matches.""" - some: LimitsModuleFilter + some: OrgClaimedInviteFilter """Filters to entities where every related entity matches.""" - every: LimitsModuleFilter + every: OrgClaimedInviteFilter """Filters to entities where no related entity matches.""" - none: LimitsModuleFilter + none: OrgClaimedInviteFilter } """ -A filter to be used against `LimitsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `OrgClaimedInvite` object types. All fields are combined with a logical ‘and.’ """ -input LimitsModuleFilter { +input OrgClaimedInviteFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter - - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter - - """Filter by the object’s `tableName` field.""" - tableName: StringFilter - - """Filter by the object’s `defaultTableId` field.""" - defaultTableId: UUIDFilter - - """Filter by the object’s `defaultTableName` field.""" - defaultTableName: StringFilter - - """Filter by the object’s `limitIncrementFunction` field.""" - limitIncrementFunction: StringFilter - - """Filter by the object’s `limitDecrementFunction` field.""" - limitDecrementFunction: StringFilter - - """Filter by the object’s `limitIncrementTrigger` field.""" - limitIncrementTrigger: StringFilter - - """Filter by the object’s `limitDecrementTrigger` field.""" - limitDecrementTrigger: StringFilter - - """Filter by the object’s `limitUpdateTrigger` field.""" - limitUpdateTrigger: StringFilter - - """Filter by the object’s `limitCheckFunction` field.""" - limitCheckFunction: StringFilter - - """Filter by the object’s `aggregateTableId` field.""" - aggregateTableId: UUIDFilter + """Filter by the object’s `senderId` field.""" + senderId: UUIDFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Filter by the object’s `receiverId` field.""" + receiverId: UUIDFilter - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `actorTableId` field.""" - actorTableId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter """Checks for all expressions in this list.""" - and: [LimitsModuleFilter!] + and: [OrgClaimedInviteFilter!] """Checks for any expressions in this list.""" - or: [LimitsModuleFilter!] + or: [OrgClaimedInviteFilter!] """Negates the expression.""" - not: LimitsModuleFilter - - """Filter by the object’s `actorTable` relation.""" - actorTable: TableFilter - - """Filter by the object’s `aggregateTable` relation.""" - aggregateTable: TableFilter - - """A related `aggregateTable` exists.""" - aggregateTableExists: Boolean - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `defaultTable` relation.""" - defaultTable: TableFilter + not: OrgClaimedInviteFilter - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """A related `entityTable` exists.""" - entityTableExists: Boolean + """Filter by the object’s `receiver` relation.""" + receiver: UserFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """A related `receiver` exists.""" + receiverExists: Boolean - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `sender` relation.""" + sender: UserFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """A related `sender` exists.""" + senderExists: Boolean } """ -A filter to be used against many `MembershipTypesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AuditLog` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyMembershipTypesModuleFilter { +input UserToManyAuditLogFilter { """Filters to entities where at least one related entity matches.""" - some: MembershipTypesModuleFilter + some: AuditLogFilter """Filters to entities where every related entity matches.""" - every: MembershipTypesModuleFilter + every: AuditLogFilter """Filters to entities where no related entity matches.""" - none: MembershipTypesModuleFilter + none: AuditLogFilter } """ -A filter to be used against `MembershipTypesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AuditLog` object types. All fields are combined with a logical ‘and.’ """ -input MembershipTypesModuleFilter { +input AuditLogFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `event` field.""" + event: StringFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `origin` field.""" + origin: ConstructiveInternalTypeOriginFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `userAgent` field.""" + userAgent: StringFilter + + """Filter by the object’s `ipAddress` field.""" + ipAddress: InternetAddressFilter + + """Filter by the object’s `success` field.""" + success: BooleanFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [MembershipTypesModuleFilter!] + and: [AuditLogFilter!] """Checks for any expressions in this list.""" - or: [MembershipTypesModuleFilter!] + or: [AuditLogFilter!] """Negates the expression.""" - not: MembershipTypesModuleFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + not: AuditLogFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `actor` relation.""" + actor: UserFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """A related `actor` exists.""" + actorExists: Boolean } """ -A filter to be used against many `MembershipsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against ConstructiveInternalTypeOrigin fields. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyMembershipsModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: MembershipsModuleFilter +input ConstructiveInternalTypeOriginFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filters to entities where every related entity matches.""" - every: MembershipsModuleFilter + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeOrigin - """Filters to entities where no related entity matches.""" - none: MembershipsModuleFilter -} + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeOrigin -""" -A filter to be used against `MembershipsModule` object types. All fields are combined with a logical ‘and.’ -""" -input MembershipsModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: ConstructiveInternalTypeOrigin - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeOrigin - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Included in the specified list.""" + in: [ConstructiveInternalTypeOrigin!] - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeOrigin!] - """Filter by the object’s `membershipsTableId` field.""" - membershipsTableId: UUIDFilter + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeOrigin - """Filter by the object’s `membershipsTableName` field.""" - membershipsTableName: StringFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeOrigin - """Filter by the object’s `membersTableId` field.""" - membersTableId: UUIDFilter + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeOrigin - """Filter by the object’s `membersTableName` field.""" - membersTableName: StringFilter + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeOrigin - """Filter by the object’s `membershipDefaultsTableId` field.""" - membershipDefaultsTableId: UUIDFilter + """Contains the specified string (case-sensitive).""" + includes: ConstructiveInternalTypeOrigin - """Filter by the object’s `membershipDefaultsTableName` field.""" - membershipDefaultsTableName: StringFilter - - """Filter by the object’s `membershipSettingsTableId` field.""" - membershipSettingsTableId: UUIDFilter - - """Filter by the object’s `membershipSettingsTableName` field.""" - membershipSettingsTableName: StringFilter - - """Filter by the object’s `grantsTableId` field.""" - grantsTableId: UUIDFilter - - """Filter by the object’s `grantsTableName` field.""" - grantsTableName: StringFilter - - """Filter by the object’s `actorTableId` field.""" - actorTableId: UUIDFilter + """Does not contain the specified string (case-sensitive).""" + notIncludes: ConstructiveInternalTypeOrigin - """Filter by the object’s `limitsTableId` field.""" - limitsTableId: UUIDFilter + """Contains the specified string (case-insensitive).""" + includesInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `defaultLimitsTableId` field.""" - defaultLimitsTableId: UUIDFilter + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `permissionsTableId` field.""" - permissionsTableId: UUIDFilter + """Starts with the specified string (case-sensitive).""" + startsWith: ConstructiveInternalTypeOrigin - """Filter by the object’s `defaultPermissionsTableId` field.""" - defaultPermissionsTableId: UUIDFilter + """Does not start with the specified string (case-sensitive).""" + notStartsWith: ConstructiveInternalTypeOrigin - """Filter by the object’s `sprtTableId` field.""" - sprtTableId: UUIDFilter + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `adminGrantsTableId` field.""" - adminGrantsTableId: UUIDFilter + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `adminGrantsTableName` field.""" - adminGrantsTableName: StringFilter + """Ends with the specified string (case-sensitive).""" + endsWith: ConstructiveInternalTypeOrigin - """Filter by the object’s `ownerGrantsTableId` field.""" - ownerGrantsTableId: UUIDFilter + """Does not end with the specified string (case-sensitive).""" + notEndsWith: ConstructiveInternalTypeOrigin - """Filter by the object’s `ownerGrantsTableName` field.""" - ownerGrantsTableName: StringFilter + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """ + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + like: ConstructiveInternalTypeOrigin - """Filter by the object’s `entityTableOwnerId` field.""" - entityTableOwnerId: UUIDFilter + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: ConstructiveInternalTypeOrigin - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """ + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + likeInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `actorMaskCheck` field.""" - actorMaskCheck: StringFilter + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: ConstructiveInternalTypeOrigin - """Filter by the object’s `actorPermCheck` field.""" - actorPermCheck: StringFilter + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String - """Filter by the object’s `entityIdsByMask` field.""" - entityIdsByMask: StringFilter + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String - """Filter by the object’s `entityIdsByPerm` field.""" - entityIdsByPerm: StringFilter + """ + Not equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + distinctFromInsensitive: String - """Filter by the object’s `entityIdsFunction` field.""" - entityIdsFunction: StringFilter + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: String - """Filter by the object’s `memberProfilesTableId` field.""" - memberProfilesTableId: UUIDFilter + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] - """Checks for all expressions in this list.""" - and: [MembershipsModuleFilter!] + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] - """Checks for any expressions in this list.""" - or: [MembershipsModuleFilter!] + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String - """Negates the expression.""" - not: MembershipsModuleFilter + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String - """Filter by the object’s `actorTable` relation.""" - actorTable: TableFilter + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String +} - """Filter by the object’s `defaultLimitsTable` relation.""" - defaultLimitsTable: TableFilter +scalar ConstructiveInternalTypeOrigin - """Filter by the object’s `defaultPermissionsTable` relation.""" - defaultPermissionsTable: TableFilter +""" +A filter to be used against InternetAddress fields. All fields are combined with a logical ‘and.’ +""" +input InternetAddressFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter + """Equal to the specified value.""" + equalTo: InternetAddress - """A related `entityTable` exists.""" - entityTableExists: Boolean + """Not equal to the specified value.""" + notEqualTo: InternetAddress - """Filter by the object’s `entityTableOwner` relation.""" - entityTableOwner: FieldFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: InternetAddress - """A related `entityTableOwner` exists.""" - entityTableOwnerExists: Boolean + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: InternetAddress - """Filter by the object’s `grantsTable` relation.""" - grantsTable: TableFilter + """Included in the specified list.""" + in: [InternetAddress!] - """Filter by the object’s `limitsTable` relation.""" - limitsTable: TableFilter + """Not included in the specified list.""" + notIn: [InternetAddress!] - """Filter by the object’s `membersTable` relation.""" - membersTable: TableFilter + """Less than the specified value.""" + lessThan: InternetAddress - """Filter by the object’s `membershipDefaultsTable` relation.""" - membershipDefaultsTable: TableFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: InternetAddress - """Filter by the object’s `membershipSettingsTable` relation.""" - membershipSettingsTable: TableFilter + """Greater than the specified value.""" + greaterThan: InternetAddress - """A related `membershipSettingsTable` exists.""" - membershipSettingsTableExists: Boolean + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: InternetAddress - """Filter by the object’s `membershipsTable` relation.""" - membershipsTable: TableFilter + """Contains the specified internet address.""" + contains: InternetAddress - """Filter by the object’s `permissionsTable` relation.""" - permissionsTable: TableFilter + """Contains or equal to the specified internet address.""" + containsOrEqualTo: InternetAddress - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Contained by the specified internet address.""" + containedBy: InternetAddress - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Contained by or equal to the specified internet address.""" + containedByOrEqualTo: InternetAddress - """Filter by the object’s `sprtTable` relation.""" - sprtTable: TableFilter + """Contains or contained by the specified internet address.""" + containsOrContainedBy: InternetAddress } """ -A filter to be used against many `PermissionsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AgentThread` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyPermissionsModuleFilter { +input UserToManyAgentThreadFilter { """Filters to entities where at least one related entity matches.""" - some: PermissionsModuleFilter + some: AgentThreadFilter """Filters to entities where every related entity matches.""" - every: PermissionsModuleFilter + every: AgentThreadFilter """Filters to entities where no related entity matches.""" - none: PermissionsModuleFilter + none: AgentThreadFilter } """ -A filter to be used against `PermissionsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AgentThread` object types. All fields are combined with a logical ‘and.’ """ -input PermissionsModuleFilter { +input AgentThreadFilter { + """Filter by the object’s `title` field.""" + title: StringFilter + + """Filter by the object’s `mode` field.""" + mode: StringFilter + + """Filter by the object’s `model` field.""" + model: StringFilter + + """Filter by the object’s `systemPrompt` field.""" + systemPrompt: StringFilter + """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `status` field.""" + status: StringFilter - """Filter by the object’s `defaultTableId` field.""" - defaultTableId: UUIDFilter + """Checks for all expressions in this list.""" + and: [AgentThreadFilter!] - """Filter by the object’s `defaultTableName` field.""" - defaultTableName: StringFilter + """Checks for any expressions in this list.""" + or: [AgentThreadFilter!] - """Filter by the object’s `bitlen` field.""" - bitlen: IntFilter + """Negates the expression.""" + not: AgentThreadFilter - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter + """Filter by the object’s `entity` relation.""" + entity: UserFilter - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter - """Filter by the object’s `actorTableId` field.""" - actorTableId: UUIDFilter + """Filter by the object’s `agentMessagesByThreadId` relation.""" + agentMessagesByThreadId: AgentThreadToManyAgentMessageFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """`agentMessagesByThreadId` exist.""" + agentMessagesByThreadIdExist: Boolean - """Filter by the object’s `getPaddedMask` field.""" - getPaddedMask: StringFilter + """Filter by the object’s `agentTasksByThreadId` relation.""" + agentTasksByThreadId: AgentThreadToManyAgentTaskFilter - """Filter by the object’s `getMask` field.""" - getMask: StringFilter + """`agentTasksByThreadId` exist.""" + agentTasksByThreadIdExist: Boolean +} - """Filter by the object’s `getByMask` field.""" - getByMask: StringFilter +""" +A filter to be used against many `AgentMessage` object types. All fields are combined with a logical ‘and.’ +""" +input AgentThreadToManyAgentMessageFilter { + """Filters to entities where at least one related entity matches.""" + some: AgentMessageFilter - """Filter by the object’s `getMaskByName` field.""" - getMaskByName: StringFilter + """Filters to entities where every related entity matches.""" + every: AgentMessageFilter - """Checks for all expressions in this list.""" - and: [PermissionsModuleFilter!] + """Filters to entities where no related entity matches.""" + none: AgentMessageFilter +} - """Checks for any expressions in this list.""" - or: [PermissionsModuleFilter!] +""" +A filter to be used against `AgentMessage` object types. All fields are combined with a logical ‘and.’ +""" +input AgentMessageFilter { + """Filter by the object’s `threadId` field.""" + threadId: UUIDFilter - """Negates the expression.""" - not: PermissionsModuleFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `actorTable` relation.""" - actorTable: TableFilter + """Filter by the object’s `authorRole` field.""" + authorRole: StringFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filter by the object’s `defaultTable` relation.""" - defaultTable: TableFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """A related `entityTable` exists.""" - entityTableExists: Boolean + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Filter by the object’s `parts` field.""" + parts: JSONFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Checks for all expressions in this list.""" + and: [AgentMessageFilter!] - """Filter by the object’s `table` relation.""" - table: TableFilter + """Checks for any expressions in this list.""" + or: [AgentMessageFilter!] + + """Negates the expression.""" + not: AgentMessageFilter + + """Filter by the object’s `owner` relation.""" + owner: UserFilter + + """Filter by the object’s `thread` relation.""" + thread: AgentThreadFilter } """ -A filter to be used against many `PhoneNumbersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AgentTask` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyPhoneNumbersModuleFilter { +input AgentThreadToManyAgentTaskFilter { """Filters to entities where at least one related entity matches.""" - some: PhoneNumbersModuleFilter + some: AgentTaskFilter """Filters to entities where every related entity matches.""" - every: PhoneNumbersModuleFilter + every: AgentTaskFilter """Filters to entities where no related entity matches.""" - none: PhoneNumbersModuleFilter + none: AgentTaskFilter } """ -A filter to be used against `PhoneNumbersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `AgentTask` object types. All fields are combined with a logical ‘and.’ """ -input PhoneNumbersModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +input AgentTaskFilter { + """Filter by the object’s `threadId` field.""" + threadId: UUIDFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `description` field.""" + description: StringFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `source` field.""" + source: StringFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `error` field.""" + error: StringFilter - """Filter by the object’s `ownerTableId` field.""" - ownerTableId: UUIDFilter + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter + + """Filter by the object’s `status` field.""" + status: StringFilter """Checks for all expressions in this list.""" - and: [PhoneNumbersModuleFilter!] + and: [AgentTaskFilter!] """Checks for any expressions in this list.""" - or: [PhoneNumbersModuleFilter!] + or: [AgentTaskFilter!] """Negates the expression.""" - not: PhoneNumbersModuleFilter + not: AgentTaskFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `owner` relation.""" + owner: UserFilter - """Filter by the object’s `ownerTable` relation.""" - ownerTable: TableFilter + """Filter by the object’s `thread` relation.""" + thread: AgentThreadFilter +} - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter +""" +A filter to be used against many `AgentMessage` object types. All fields are combined with a logical ‘and.’ +""" +input UserToManyAgentMessageFilter { + """Filters to entities where at least one related entity matches.""" + some: AgentMessageFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filters to entities where every related entity matches.""" + every: AgentMessageFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """Filters to entities where no related entity matches.""" + none: AgentMessageFilter } """ -A filter to be used against many `ProfilesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `AgentTask` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyProfilesModuleFilter { +input UserToManyAgentTaskFilter { """Filters to entities where at least one related entity matches.""" - some: ProfilesModuleFilter + some: AgentTaskFilter """Filters to entities where every related entity matches.""" - every: ProfilesModuleFilter + every: AgentTaskFilter """Filters to entities where no related entity matches.""" - none: ProfilesModuleFilter + none: AgentTaskFilter } """ -A filter to be used against `ProfilesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Schema` object types. All fields are combined with a logical ‘and.’ """ -input ProfilesModuleFilter { +input DatabaseToManySchemaFilter { + """Filters to entities where at least one related entity matches.""" + some: SchemaFilter + + """Filters to entities where every related entity matches.""" + every: SchemaFilter + + """Filters to entities where no related entity matches.""" + none: SchemaFilter +} + +""" +A filter to be used against `Schema` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `schemaName` field.""" + schemaName: StringFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter + """Filter by the object’s `label` field.""" + label: StringFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `description` field.""" + description: StringFilter - """Filter by the object’s `profilePermissionsTableId` field.""" - profilePermissionsTableId: UUIDFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `profilePermissionsTableName` field.""" - profilePermissionsTableName: StringFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `profileGrantsTableId` field.""" - profileGrantsTableId: UUIDFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `profileGrantsTableName` field.""" - profileGrantsTableName: StringFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `profileDefinitionGrantsTableId` field.""" - profileDefinitionGrantsTableId: UUIDFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Filter by the object’s `profileDefinitionGrantsTableName` field.""" - profileDefinitionGrantsTableName: StringFilter + """Filter by the object’s `isPublic` field.""" + isPublic: BooleanFilter - """Filter by the object’s `profileTemplatesTableId` field.""" - profileTemplatesTableId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `profileTemplatesTableName` field.""" - profileTemplatesTableName: StringFilter - - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter - - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter - - """Filter by the object’s `actorTableId` field.""" - actorTableId: UUIDFilter - - """Filter by the object’s `permissionsTableId` field.""" - permissionsTableId: UUIDFilter - - """Filter by the object’s `membershipsTableId` field.""" - membershipsTableId: UUIDFilter - - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [ProfilesModuleFilter!] + and: [SchemaFilter!] """Checks for any expressions in this list.""" - or: [ProfilesModuleFilter!] + or: [SchemaFilter!] """Negates the expression.""" - not: ProfilesModuleFilter - - """Filter by the object’s `actorTable` relation.""" - actorTable: TableFilter + not: SchemaFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter - - """A related `entityTable` exists.""" - entityTableExists: Boolean - - """Filter by the object’s `membershipsTable` relation.""" - membershipsTable: TableFilter - - """Filter by the object’s `permissionsTable` relation.""" - permissionsTable: TableFilter - - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter - - """Filter by the object’s `profileDefinitionGrantsTable` relation.""" - profileDefinitionGrantsTable: TableFilter - - """Filter by the object’s `profileGrantsTable` relation.""" - profileGrantsTable: TableFilter - - """Filter by the object’s `profilePermissionsTable` relation.""" - profilePermissionsTable: TableFilter - - """Filter by the object’s `profileTemplatesTable` relation.""" - profileTemplatesTable: TableFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter - - """Filter by the object’s `table` relation.""" - table: TableFilter -} - -""" -A filter to be used against `RlsModule` object types. All fields are combined with a logical ‘and.’ -""" -input RlsModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `tables` relation.""" + tables: SchemaToManyTableFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """`tables` exist.""" + tablesExist: Boolean - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `schemaGrants` relation.""" + schemaGrants: SchemaToManySchemaGrantFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """`schemaGrants` exist.""" + schemaGrantsExist: Boolean - """Filter by the object’s `sessionCredentialsTableId` field.""" - sessionCredentialsTableId: UUIDFilter + """Filter by the object’s `views` relation.""" + views: SchemaToManyViewFilter - """Filter by the object’s `sessionsTableId` field.""" - sessionsTableId: UUIDFilter + """`views` exist.""" + viewsExist: Boolean - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter + """Filter by the object’s `defaultPrivileges` relation.""" + defaultPrivileges: SchemaToManyDefaultPrivilegeFilter - """Filter by the object’s `authenticate` field.""" - authenticate: StringFilter + """`defaultPrivileges` exist.""" + defaultPrivilegesExist: Boolean - """Filter by the object’s `authenticateStrict` field.""" - authenticateStrict: StringFilter + """Filter by the object’s `enums` relation.""" + enums: SchemaToManyEnumFilter - """Filter by the object’s `currentRole` field.""" - currentRole: StringFilter + """`enums` exist.""" + enumsExist: Boolean - """Filter by the object’s `currentRoleId` field.""" - currentRoleId: StringFilter + """Filter by the object’s `functions` relation.""" + functions: SchemaToManyFunctionFilter - """Checks for all expressions in this list.""" - and: [RlsModuleFilter!] + """`functions` exist.""" + functionsExist: Boolean - """Checks for any expressions in this list.""" - or: [RlsModuleFilter!] + """Filter by the object’s `apiSchemas` relation.""" + apiSchemas: SchemaToManyApiSchemaFilter - """Negates the expression.""" - not: RlsModuleFilter + """`apiSchemas` exist.""" + apiSchemasExist: Boolean - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `sessionSecretsModules` relation.""" + sessionSecretsModules: SchemaToManySessionSecretsModuleFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """`sessionSecretsModules` exist.""" + sessionSecretsModulesExist: Boolean - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """ + Filter by the object’s `identityProvidersModulesByPrivateSchemaId` relation. + """ + identityProvidersModulesByPrivateSchemaId: SchemaToManyIdentityProvidersModuleFilter - """Filter by the object’s `sessionCredentialsTable` relation.""" - sessionCredentialsTable: TableFilter + """`identityProvidersModulesByPrivateSchemaId` exist.""" + identityProvidersModulesByPrivateSchemaIdExist: Boolean - """Filter by the object’s `sessionsTable` relation.""" - sessionsTable: TableFilter + """Filter by the object’s `identityProvidersModules` relation.""" + identityProvidersModules: SchemaToManyIdentityProvidersModuleFilter - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter + """`identityProvidersModules` exist.""" + identityProvidersModulesExist: Boolean } """ -A filter to be used against many `SecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Table` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManySecretsModuleFilter { +input SchemaToManyTableFilter { """Filters to entities where at least one related entity matches.""" - some: SecretsModuleFilter + some: TableFilter """Filters to entities where every related entity matches.""" - every: SecretsModuleFilter + every: TableFilter """Filters to entities where no related entity matches.""" - none: SecretsModuleFilter + none: TableFilter } """ -A filter to be used against `SecretsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Table` object types. All fields are combined with a logical ‘and.’ """ -input SecretsModuleFilter { +input TableFilter { """Filter by the object’s `id` field.""" id: UUIDFilter @@ -14176,95 +14385,62 @@ input SecretsModuleFilter { """Filter by the object’s `schemaId` field.""" schemaId: UUIDFilter - """Filter by the object’s `tableId` field.""" - tableId: UUIDFilter - - """Filter by the object’s `tableName` field.""" - tableName: StringFilter - - """Checks for all expressions in this list.""" - and: [SecretsModuleFilter!] - - """Checks for any expressions in this list.""" - or: [SecretsModuleFilter!] - - """Negates the expression.""" - not: SecretsModuleFilter - - """Filter by the object’s `database` relation.""" - database: DatabaseFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `table` relation.""" - table: TableFilter -} + """Filter by the object’s `label` field.""" + label: StringFilter -""" -A filter to be used against many `SessionsModule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySessionsModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: SessionsModuleFilter + """Filter by the object’s `description` field.""" + description: StringFilter - """Filters to entities where every related entity matches.""" - every: SessionsModuleFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filters to entities where no related entity matches.""" - none: SessionsModuleFilter -} + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter -""" -A filter to be used against `SessionsModule` object types. All fields are combined with a logical ‘and.’ -""" -input SessionsModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `useRls` field.""" + useRls: BooleanFilter - """Filter by the object’s `sessionsTableId` field.""" - sessionsTableId: UUIDFilter + """Filter by the object’s `timestamps` field.""" + timestamps: BooleanFilter - """Filter by the object’s `sessionCredentialsTableId` field.""" - sessionCredentialsTableId: UUIDFilter + """Filter by the object’s `peoplestamps` field.""" + peoplestamps: BooleanFilter - """Filter by the object’s `authSettingsTableId` field.""" - authSettingsTableId: UUIDFilter + """Filter by the object’s `pluralName` field.""" + pluralName: StringFilter - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter + """Filter by the object’s `singularName` field.""" + singularName: StringFilter - """Filter by the object’s `sessionsDefaultExpiration` field.""" - sessionsDefaultExpiration: IntervalFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Filter by the object’s `sessionsTable` field.""" - sessionsTable: StringFilter + """Filter by the object’s `inheritsId` field.""" + inheritsId: UUIDFilter - """Filter by the object’s `sessionCredentialsTable` field.""" - sessionCredentialsTable: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `authSettingsTable` field.""" - authSettingsTable: StringFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [SessionsModuleFilter!] + and: [TableFilter!] """Checks for any expressions in this list.""" - or: [SessionsModuleFilter!] + or: [TableFilter!] """Negates the expression.""" - not: SessionsModuleFilter - - """ - Filter by the object’s `authSettingsTableByAuthSettingsTableId` relation. - """ - authSettingsTableByAuthSettingsTableId: TableFilter + not: TableFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter @@ -14272,382 +14448,465 @@ input SessionsModuleFilter { """Filter by the object’s `schema` relation.""" schema: SchemaFilter - """ - Filter by the object’s `sessionCredentialsTableBySessionCredentialsTableId` relation. - """ - sessionCredentialsTableBySessionCredentialsTableId: TableFilter + """Filter by the object’s `inherits` relation.""" + inherits: TableFilter - """Filter by the object’s `sessionsTableBySessionsTableId` relation.""" - sessionsTableBySessionsTableId: TableFilter + """A related `inherits` exists.""" + inheritsExists: Boolean - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter -} + """Filter by the object’s `checkConstraints` relation.""" + checkConstraints: TableToManyCheckConstraintFilter -""" -A filter to be used against many `UserAuthModule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyUserAuthModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: UserAuthModuleFilter + """`checkConstraints` exist.""" + checkConstraintsExist: Boolean - """Filters to entities where every related entity matches.""" - every: UserAuthModuleFilter + """Filter by the object’s `fields` relation.""" + fields: TableToManyFieldFilter - """Filters to entities where no related entity matches.""" - none: UserAuthModuleFilter -} + """`fields` exist.""" + fieldsExist: Boolean -""" -A filter to be used against `UserAuthModule` object types. All fields are combined with a logical ‘and.’ -""" -input UserAuthModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `foreignKeyConstraints` relation.""" + foreignKeyConstraints: TableToManyForeignKeyConstraintFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """`foreignKeyConstraints` exist.""" + foreignKeyConstraintsExist: Boolean - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `fullTextSearches` relation.""" + fullTextSearches: TableToManyFullTextSearchFilter - """Filter by the object’s `emailsTableId` field.""" - emailsTableId: UUIDFilter + """`fullTextSearches` exist.""" + fullTextSearchesExist: Boolean - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter + """Filter by the object’s `indices` relation.""" + indices: TableToManyIndexFilter - """Filter by the object’s `secretsTableId` field.""" - secretsTableId: UUIDFilter + """`indices` exist.""" + indicesExist: Boolean - """Filter by the object’s `encryptedTableId` field.""" - encryptedTableId: UUIDFilter + """Filter by the object’s `policies` relation.""" + policies: TableToManyPolicyFilter - """Filter by the object’s `sessionsTableId` field.""" - sessionsTableId: UUIDFilter + """`policies` exist.""" + policiesExist: Boolean - """Filter by the object’s `sessionCredentialsTableId` field.""" - sessionCredentialsTableId: UUIDFilter + """Filter by the object’s `primaryKeyConstraints` relation.""" + primaryKeyConstraints: TableToManyPrimaryKeyConstraintFilter - """Filter by the object’s `auditsTableId` field.""" - auditsTableId: UUIDFilter + """`primaryKeyConstraints` exist.""" + primaryKeyConstraintsExist: Boolean - """Filter by the object’s `auditsTableName` field.""" - auditsTableName: StringFilter + """Filter by the object’s `tableGrants` relation.""" + tableGrants: TableToManyTableGrantFilter - """Filter by the object’s `signInFunction` field.""" - signInFunction: StringFilter + """`tableGrants` exist.""" + tableGrantsExist: Boolean - """Filter by the object’s `signUpFunction` field.""" - signUpFunction: StringFilter + """Filter by the object’s `triggers` relation.""" + triggers: TableToManyTriggerFilter - """Filter by the object’s `signOutFunction` field.""" - signOutFunction: StringFilter + """`triggers` exist.""" + triggersExist: Boolean - """Filter by the object’s `setPasswordFunction` field.""" - setPasswordFunction: StringFilter + """Filter by the object’s `uniqueConstraints` relation.""" + uniqueConstraints: TableToManyUniqueConstraintFilter - """Filter by the object’s `resetPasswordFunction` field.""" - resetPasswordFunction: StringFilter + """`uniqueConstraints` exist.""" + uniqueConstraintsExist: Boolean - """Filter by the object’s `forgotPasswordFunction` field.""" - forgotPasswordFunction: StringFilter + """Filter by the object’s `views` relation.""" + views: TableToManyViewFilter - """Filter by the object’s `sendVerificationEmailFunction` field.""" - sendVerificationEmailFunction: StringFilter + """`views` exist.""" + viewsExist: Boolean - """Filter by the object’s `verifyEmailFunction` field.""" - verifyEmailFunction: StringFilter + """Filter by the object’s `viewTables` relation.""" + viewTables: TableToManyViewTableFilter - """Filter by the object’s `verifyPasswordFunction` field.""" - verifyPasswordFunction: StringFilter + """`viewTables` exist.""" + viewTablesExist: Boolean - """Filter by the object’s `checkPasswordFunction` field.""" - checkPasswordFunction: StringFilter + """Filter by the object’s `embeddingChunksByChunksTableId` relation.""" + embeddingChunksByChunksTableId: TableToManyEmbeddingChunkFilter - """Filter by the object’s `sendAccountDeletionEmailFunction` field.""" - sendAccountDeletionEmailFunction: StringFilter + """`embeddingChunksByChunksTableId` exist.""" + embeddingChunksByChunksTableIdExist: Boolean - """Filter by the object’s `deleteAccountFunction` field.""" - deleteAccountFunction: StringFilter + """Filter by the object’s `embeddingChunks` relation.""" + embeddingChunks: TableToManyEmbeddingChunkFilter - """Filter by the object’s `signInCrossOriginFunction` field.""" - signInCrossOriginFunction: StringFilter + """`embeddingChunks` exist.""" + embeddingChunksExist: Boolean - """Filter by the object’s `requestCrossOriginTokenFunction` field.""" - requestCrossOriginTokenFunction: StringFilter + """Filter by the object’s `spatialRelationsByRefTableId` relation.""" + spatialRelationsByRefTableId: TableToManySpatialRelationFilter - """Filter by the object’s `extendTokenExpires` field.""" - extendTokenExpires: StringFilter + """`spatialRelationsByRefTableId` exist.""" + spatialRelationsByRefTableIdExist: Boolean - """Checks for all expressions in this list.""" - and: [UserAuthModuleFilter!] + """Filter by the object’s `spatialRelations` relation.""" + spatialRelations: TableToManySpatialRelationFilter - """Checks for any expressions in this list.""" - or: [UserAuthModuleFilter!] + """`spatialRelations` exist.""" + spatialRelationsExist: Boolean - """Negates the expression.""" - not: UserAuthModuleFilter + """Filter by the object’s `partition` relation.""" + partition: PartitionFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """A related `partition` exists.""" + partitionExists: Boolean - """Filter by the object’s `emailsTable` relation.""" - emailsTable: TableFilter + """Filter by the object’s `secureTableProvisions` relation.""" + secureTableProvisions: TableToManySecureTableProvisionFilter - """Filter by the object’s `encryptedTable` relation.""" - encryptedTable: TableFilter + """`secureTableProvisions` exist.""" + secureTableProvisionsExist: Boolean - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `relationProvisionsBySourceTableId` relation.""" + relationProvisionsBySourceTableId: TableToManyRelationProvisionFilter - """Filter by the object’s `secretsTable` relation.""" - secretsTable: TableFilter + """`relationProvisionsBySourceTableId` exist.""" + relationProvisionsBySourceTableIdExist: Boolean - """Filter by the object’s `sessionCredentialsTable` relation.""" - sessionCredentialsTable: TableFilter + """Filter by the object’s `relationProvisionsByTargetTableId` relation.""" + relationProvisionsByTargetTableId: TableToManyRelationProvisionFilter - """Filter by the object’s `sessionsTable` relation.""" - sessionsTable: TableFilter + """`relationProvisionsByTargetTableId` exist.""" + relationProvisionsByTargetTableIdExist: Boolean - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter + """ + Filter by the object’s `sessionSecretsModulesBySessionsTableId` relation. + """ + sessionSecretsModulesBySessionsTableId: TableToManySessionSecretsModuleFilter + + """`sessionSecretsModulesBySessionsTableId` exist.""" + sessionSecretsModulesBySessionsTableIdExist: Boolean + + """Filter by the object’s `sessionSecretsModules` relation.""" + sessionSecretsModules: TableToManySessionSecretsModuleFilter + + """`sessionSecretsModules` exist.""" + sessionSecretsModulesExist: Boolean + + """Filter by the object’s `identityProvidersModules` relation.""" + identityProvidersModules: TableToManyIdentityProvidersModuleFilter + + """`identityProvidersModules` exist.""" + identityProvidersModulesExist: Boolean } """ -A filter to be used against many `UsersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `CheckConstraint` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyUsersModuleFilter { +input TableToManyCheckConstraintFilter { """Filters to entities where at least one related entity matches.""" - some: UsersModuleFilter + some: CheckConstraintFilter """Filters to entities where every related entity matches.""" - every: UsersModuleFilter + every: CheckConstraintFilter """Filters to entities where no related entity matches.""" - none: UsersModuleFilter + none: CheckConstraintFilter } """ -A filter to be used against `UsersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Field` object types. All fields are combined with a logical ‘and.’ """ -input UsersModuleFilter { +input TableToManyFieldFilter { + """Filters to entities where at least one related entity matches.""" + some: FieldFilter + + """Filters to entities where every related entity matches.""" + every: FieldFilter + + """Filters to entities where no related entity matches.""" + none: FieldFilter +} + +""" +A filter to be used against `Field` object types. All fields are combined with a logical ‘and.’ +""" +input FieldFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - """Filter by the object’s `tableId` field.""" tableId: UUIDFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `typeTableId` field.""" - typeTableId: UUIDFilter + """Filter by the object’s `label` field.""" + label: StringFilter - """Filter by the object’s `typeTableName` field.""" - typeTableName: StringFilter + """Filter by the object’s `description` field.""" + description: StringFilter - """Checks for all expressions in this list.""" - and: [UsersModuleFilter!] + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Checks for any expressions in this list.""" - or: [UsersModuleFilter!] + """Filter by the object’s `isRequired` field.""" + isRequired: BooleanFilter - """Negates the expression.""" - not: UsersModuleFilter + """Filter by the object’s `apiRequired` field.""" + apiRequired: BooleanFilter - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """Filter by the object’s `defaultValue` field.""" + defaultValue: StringFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `defaultValueAst` field.""" + defaultValueAst: JSONFilter - """Filter by the object’s `table` relation.""" - table: TableFilter + """Filter by the object’s `type` field.""" + type: StringFilter - """Filter by the object’s `typeTable` relation.""" - typeTable: TableFilter -} + """Filter by the object’s `fieldOrder` field.""" + fieldOrder: IntFilter -""" -A filter to be used against `HierarchyModule` object types. All fields are combined with a logical ‘and.’ -""" -input HierarchyModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `regexp` field.""" + regexp: StringFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `chk` field.""" + chk: JSONFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `chkExpr` field.""" + chkExpr: JSONFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `min` field.""" + min: FloatFilter - """Filter by the object’s `chartEdgesTableId` field.""" - chartEdgesTableId: UUIDFilter + """Filter by the object’s `max` field.""" + max: FloatFilter - """Filter by the object’s `chartEdgesTableName` field.""" - chartEdgesTableName: StringFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Filter by the object’s `hierarchySprtTableId` field.""" - hierarchySprtTableId: UUIDFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `hierarchySprtTableName` field.""" - hierarchySprtTableName: StringFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `chartEdgeGrantsTableId` field.""" - chartEdgeGrantsTableId: UUIDFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `chartEdgeGrantsTableName` field.""" - chartEdgeGrantsTableName: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter + """Checks for all expressions in this list.""" + and: [FieldFilter!] - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Checks for any expressions in this list.""" + or: [FieldFilter!] - """Filter by the object’s `privateSchemaName` field.""" - privateSchemaName: StringFilter + """Negates the expression.""" + not: FieldFilter - """Filter by the object’s `sprtTableName` field.""" - sprtTableName: StringFilter + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Filter by the object’s `rebuildHierarchyFunction` field.""" - rebuildHierarchyFunction: StringFilter + """Filter by the object’s `table` relation.""" + table: TableFilter - """Filter by the object’s `getSubordinatesFunction` field.""" - getSubordinatesFunction: StringFilter + """Filter by the object’s `spatialRelations` relation.""" + spatialRelations: FieldToManySpatialRelationFilter - """Filter by the object’s `getManagersFunction` field.""" - getManagersFunction: StringFilter + """`spatialRelations` exist.""" + spatialRelationsExist: Boolean - """Filter by the object’s `isManagerOfFunction` field.""" - isManagerOfFunction: StringFilter + """Filter by the object’s `spatialRelationsByRefFieldId` relation.""" + spatialRelationsByRefFieldId: FieldToManySpatialRelationFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """`spatialRelationsByRefFieldId` exist.""" + spatialRelationsByRefFieldIdExist: Boolean - """Checks for all expressions in this list.""" - and: [HierarchyModuleFilter!] + """Filter by the object’s `partitionsByPartitionKeyId` relation.""" + partitionsByPartitionKeyId: FieldToManyPartitionFilter - """Checks for any expressions in this list.""" - or: [HierarchyModuleFilter!] + """`partitionsByPartitionKeyId` exist.""" + partitionsByPartitionKeyIdExist: Boolean +} - """Negates the expression.""" - not: HierarchyModuleFilter +""" +A filter to be used against Float fields. All fields are combined with a logical ‘and.’ +""" +input FloatFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Filter by the object’s `chartEdgeGrantsTable` relation.""" - chartEdgeGrantsTable: TableFilter + """Equal to the specified value.""" + equalTo: Float - """Filter by the object’s `chartEdgesTable` relation.""" - chartEdgesTable: TableFilter + """Not equal to the specified value.""" + notEqualTo: Float - """Filter by the object’s `database` relation.""" - database: DatabaseFilter + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: Float - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: Float - """Filter by the object’s `hierarchySprtTable` relation.""" - hierarchySprtTable: TableFilter + """Included in the specified list.""" + in: [Float!] - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Not included in the specified list.""" + notIn: [Float!] - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Less than the specified value.""" + lessThan: Float - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter + """Less than or equal to the specified value.""" + lessThanOrEqualTo: Float + + """Greater than the specified value.""" + greaterThan: Float + + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: Float } """ -A filter to be used against many `SecureTableProvision` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManySecureTableProvisionFilter { +input FieldToManySpatialRelationFilter { """Filters to entities where at least one related entity matches.""" - some: SecureTableProvisionFilter + some: SpatialRelationFilter """Filters to entities where every related entity matches.""" - every: SecureTableProvisionFilter + every: SpatialRelationFilter """Filters to entities where no related entity matches.""" - none: SecureTableProvisionFilter + none: SpatialRelationFilter } """ -A filter to be used against many `RelationProvision` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `SpatialRelation` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyRelationProvisionFilter { - """Filters to entities where at least one related entity matches.""" - some: RelationProvisionFilter +input SpatialRelationFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filters to entities where every related entity matches.""" - every: RelationProvisionFilter + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Filters to entities where no related entity matches.""" - none: RelationProvisionFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter + + """Filter by the object’s `fieldId` field.""" + fieldId: UUIDFilter + + """Filter by the object’s `refTableId` field.""" + refTableId: UUIDFilter + + """Filter by the object’s `refFieldId` field.""" + refFieldId: UUIDFilter + + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `operator` field.""" + operator: StringFilter + + """Filter by the object’s `paramName` field.""" + paramName: StringFilter + + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter + + """Filter by the object’s `module` field.""" + module: StringFilter + + """Filter by the object’s `scope` field.""" + scope: IntFilter + + """Filter by the object’s `tags` field.""" + tags: StringListFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Checks for all expressions in this list.""" + and: [SpatialRelationFilter!] + + """Checks for any expressions in this list.""" + or: [SpatialRelationFilter!] + + """Negates the expression.""" + not: SpatialRelationFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `field` relation.""" + field: FieldFilter + + """Filter by the object’s `refField` relation.""" + refField: FieldFilter + + """Filter by the object’s `refTable` relation.""" + refTable: TableFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `Blueprint` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyBlueprintFilter { +input FieldToManyPartitionFilter { """Filters to entities where at least one related entity matches.""" - some: BlueprintFilter + some: PartitionFilter """Filters to entities where every related entity matches.""" - every: BlueprintFilter + every: PartitionFilter """Filters to entities where no related entity matches.""" - none: BlueprintFilter + none: PartitionFilter } """ -A filter to be used against `Blueprint` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Partition` object types. All fields are combined with a logical ‘and.’ """ -input BlueprintFilter { +input PartitionFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter - """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `displayName` field.""" - displayName: StringFilter + """Filter by the object’s `strategy` field.""" + strategy: StringFilter - """Filter by the object’s `description` field.""" - description: StringFilter + """Filter by the object’s `partitionKeyId` field.""" + partitionKeyId: UUIDFilter - """Filter by the object’s `definition` field.""" - definition: JSONFilter + """Filter by the object’s `interval` field.""" + interval: StringFilter - """Filter by the object’s `templateId` field.""" - templateId: UUIDFilter + """Filter by the object’s `retention` field.""" + retention: StringFilter - """Filter by the object’s `definitionHash` field.""" - definitionHash: UUIDFilter + """Filter by the object’s `lookahead` field.""" + lookahead: IntFilter - """Filter by the object’s `tableHashes` field.""" - tableHashes: JSONFilter + """Filter by the object’s `namingPattern` field.""" + namingPattern: StringFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -14656,87 +14915,89 @@ input BlueprintFilter { updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [BlueprintFilter!] + and: [PartitionFilter!] """Checks for any expressions in this list.""" - or: [BlueprintFilter!] + or: [PartitionFilter!] """Negates the expression.""" - not: BlueprintFilter + not: PartitionFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `template` relation.""" - template: BlueprintTemplateFilter + """Filter by the object’s `partitionKey` relation.""" + partitionKey: FieldFilter - """A related `template` exists.""" - templateExists: Boolean + """Filter by the object’s `table` relation.""" + table: TableFilter +} - """Filter by the object’s `blueprintConstructions` relation.""" - blueprintConstructions: BlueprintToManyBlueprintConstructionFilter +""" +A filter to be used against many `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input TableToManyForeignKeyConstraintFilter { + """Filters to entities where at least one related entity matches.""" + some: ForeignKeyConstraintFilter - """`blueprintConstructions` exist.""" - blueprintConstructionsExist: Boolean + """Filters to entities where every related entity matches.""" + every: ForeignKeyConstraintFilter + + """Filters to entities where no related entity matches.""" + none: ForeignKeyConstraintFilter } """ -A filter to be used against `BlueprintTemplate` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ """ -input BlueprintTemplateFilter { +input ForeignKeyConstraintFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Filter by the object’s `version` field.""" - version: StringFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `displayName` field.""" - displayName: StringFilter + """Filter by the object’s `name` field.""" + name: StringFilter """Filter by the object’s `description` field.""" description: StringFilter - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter - - """Filter by the object’s `visibility` field.""" - visibility: StringFilter - - """Filter by the object’s `categories` field.""" - categories: StringListFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """Filter by the object’s `type` field.""" + type: StringFilter - """Filter by the object’s `definition` field.""" - definition: JSONFilter + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter - """Filter by the object’s `definitionSchemaVersion` field.""" - definitionSchemaVersion: StringFilter + """Filter by the object’s `refTableId` field.""" + refTableId: UUIDFilter - """Filter by the object’s `source` field.""" - source: StringFilter + """Filter by the object’s `refFieldIds` field.""" + refFieldIds: UUIDListFilter - """Filter by the object’s `complexity` field.""" - complexity: StringFilter + """Filter by the object’s `deleteAction` field.""" + deleteAction: StringFilter - """Filter by the object’s `copyCount` field.""" - copyCount: IntFilter + """Filter by the object’s `updateAction` field.""" + updateAction: StringFilter - """Filter by the object’s `forkCount` field.""" - forkCount: IntFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `forkedFromId` field.""" - forkedFromId: UUIDFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `definitionHash` field.""" - definitionHash: UUIDFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `tableHashes` field.""" - tableHashes: JSONFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -14745,105 +15006,62 @@ input BlueprintTemplateFilter { updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [BlueprintTemplateFilter!] + and: [ForeignKeyConstraintFilter!] """Checks for any expressions in this list.""" - or: [BlueprintTemplateFilter!] + or: [ForeignKeyConstraintFilter!] """Negates the expression.""" - not: BlueprintTemplateFilter - - """Filter by the object’s `forkedFrom` relation.""" - forkedFrom: BlueprintTemplateFilter - - """A related `forkedFrom` exists.""" - forkedFromExists: Boolean - - """Filter by the object’s `blueprintTemplatesByForkedFromId` relation.""" - blueprintTemplatesByForkedFromId: BlueprintTemplateToManyBlueprintTemplateFilter - - """`blueprintTemplatesByForkedFromId` exist.""" - blueprintTemplatesByForkedFromIdExist: Boolean - - """Filter by the object’s `blueprintsByTemplateId` relation.""" - blueprintsByTemplateId: BlueprintTemplateToManyBlueprintFilter - - """`blueprintsByTemplateId` exist.""" - blueprintsByTemplateIdExist: Boolean -} - -""" -A filter to be used against many `BlueprintTemplate` object types. All fields are combined with a logical ‘and.’ -""" -input BlueprintTemplateToManyBlueprintTemplateFilter { - """Filters to entities where at least one related entity matches.""" - some: BlueprintTemplateFilter - - """Filters to entities where every related entity matches.""" - every: BlueprintTemplateFilter - - """Filters to entities where no related entity matches.""" - none: BlueprintTemplateFilter -} + not: ForeignKeyConstraintFilter -""" -A filter to be used against many `Blueprint` object types. All fields are combined with a logical ‘and.’ -""" -input BlueprintTemplateToManyBlueprintFilter { - """Filters to entities where at least one related entity matches.""" - some: BlueprintFilter + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Filters to entities where every related entity matches.""" - every: BlueprintFilter + """Filter by the object’s `refTable` relation.""" + refTable: TableFilter - """Filters to entities where no related entity matches.""" - none: BlueprintFilter + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `BlueprintConstruction` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `FullTextSearch` object types. All fields are combined with a logical ‘and.’ """ -input BlueprintToManyBlueprintConstructionFilter { +input TableToManyFullTextSearchFilter { """Filters to entities where at least one related entity matches.""" - some: BlueprintConstructionFilter + some: FullTextSearchFilter """Filters to entities where every related entity matches.""" - every: BlueprintConstructionFilter + every: FullTextSearchFilter """Filters to entities where no related entity matches.""" - none: BlueprintConstructionFilter + none: FullTextSearchFilter } """ -A filter to be used against `BlueprintConstruction` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `FullTextSearch` object types. All fields are combined with a logical ‘and.’ """ -input BlueprintConstructionFilter { +input FullTextSearchFilter { """Filter by the object’s `id` field.""" id: UUIDFilter - """Filter by the object’s `blueprintId` field.""" - blueprintId: UUIDFilter - """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `status` field.""" - status: StringFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `errorDetails` field.""" - errorDetails: StringFilter + """Filter by the object’s `fieldId` field.""" + fieldId: UUIDFilter - """Filter by the object’s `tableMap` field.""" - tableMap: JSONFilter + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter - """Filter by the object’s `constructedDefinition` field.""" - constructedDefinition: JSONFilter + """Filter by the object’s `weights` field.""" + weights: StringListFilter - """Filter by the object’s `constructedAt` field.""" - constructedAt: DatetimeFilter + """Filter by the object’s `langs` field.""" + langs: StringListFilter """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter @@ -14852,574 +15070,498 @@ input BlueprintConstructionFilter { updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [BlueprintConstructionFilter!] + and: [FullTextSearchFilter!] """Checks for any expressions in this list.""" - or: [BlueprintConstructionFilter!] + or: [FullTextSearchFilter!] """Negates the expression.""" - not: BlueprintConstructionFilter - - """Filter by the object’s `blueprint` relation.""" - blueprint: BlueprintFilter + not: FullTextSearchFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter -} -""" -A filter to be used against many `BlueprintConstruction` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManyBlueprintConstructionFilter { - """Filters to entities where at least one related entity matches.""" - some: BlueprintConstructionFilter - - """Filters to entities where every related entity matches.""" - every: BlueprintConstructionFilter - - """Filters to entities where no related entity matches.""" - none: BlueprintConstructionFilter + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `StorageModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Index` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyStorageModuleFilter { +input TableToManyIndexFilter { """Filters to entities where at least one related entity matches.""" - some: StorageModuleFilter + some: IndexFilter """Filters to entities where every related entity matches.""" - every: StorageModuleFilter + every: IndexFilter """Filters to entities where no related entity matches.""" - none: StorageModuleFilter + none: IndexFilter } """ -A filter to be used against `StorageModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Index` object types. All fields are combined with a logical ‘and.’ """ -input StorageModuleFilter { +input IndexFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `bucketsTableId` field.""" - bucketsTableId: UUIDFilter + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter - """Filter by the object’s `filesTableId` field.""" - filesTableId: UUIDFilter + """Filter by the object’s `includeFieldIds` field.""" + includeFieldIds: UUIDListFilter - """Filter by the object’s `bucketsTableName` field.""" - bucketsTableName: StringFilter + """Filter by the object’s `accessMethod` field.""" + accessMethod: StringFilter - """Filter by the object’s `filesTableName` field.""" - filesTableName: StringFilter - - """Filter by the object’s `membershipType` field.""" - membershipType: IntFilter - - """Filter by the object’s `policies` field.""" - policies: JSONFilter - - """Filter by the object’s `skipDefaultPolicyTables` field.""" - skipDefaultPolicyTables: StringListFilter + """Filter by the object’s `indexParams` field.""" + indexParams: JSONFilter - """Filter by the object’s `entityTableId` field.""" - entityTableId: UUIDFilter + """Filter by the object’s `whereClause` field.""" + whereClause: JSONFilter - """Filter by the object’s `endpoint` field.""" - endpoint: StringFilter + """Filter by the object’s `isUnique` field.""" + isUnique: BooleanFilter - """Filter by the object’s `publicUrlPrefix` field.""" - publicUrlPrefix: StringFilter + """Filter by the object’s `options` field.""" + options: JSONFilter - """Filter by the object’s `provider` field.""" - provider: StringFilter + """Filter by the object’s `opClasses` field.""" + opClasses: StringListFilter - """Filter by the object’s `allowedOrigins` field.""" - allowedOrigins: StringListFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `restrictReads` field.""" - restrictReads: BooleanFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `uploadUrlExpirySeconds` field.""" - uploadUrlExpirySeconds: IntFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `downloadUrlExpirySeconds` field.""" - downloadUrlExpirySeconds: IntFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `defaultMaxFileSize` field.""" - defaultMaxFileSize: BigIntFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Filter by the object’s `maxFilenameLength` field.""" - maxFilenameLength: IntFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `cacheTtlSeconds` field.""" - cacheTtlSeconds: IntFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [StorageModuleFilter!] + and: [IndexFilter!] """Checks for any expressions in this list.""" - or: [StorageModuleFilter!] + or: [IndexFilter!] """Negates the expression.""" - not: StorageModuleFilter - - """Filter by the object’s `bucketsTable` relation.""" - bucketsTable: TableFilter + not: IndexFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `entityTable` relation.""" - entityTable: TableFilter - - """A related `entityTable` exists.""" - entityTableExists: Boolean - - """Filter by the object’s `filesTable` relation.""" - filesTable: TableFilter - - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `EntityTypeProvision` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Policy` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyEntityTypeProvisionFilter { +input TableToManyPolicyFilter { """Filters to entities where at least one related entity matches.""" - some: EntityTypeProvisionFilter + some: PolicyFilter """Filters to entities where every related entity matches.""" - every: EntityTypeProvisionFilter + every: PolicyFilter """Filters to entities where no related entity matches.""" - none: EntityTypeProvisionFilter + none: PolicyFilter } """ -A filter to be used against `EntityTypeProvision` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Policy` object types. All fields are combined with a logical ‘and.’ """ -input EntityTypeProvisionFilter { +input PolicyFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter + """Filter by the object’s `name` field.""" name: StringFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter - - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `parentEntity` field.""" - parentEntity: StringFilter - - """Filter by the object’s `tableName` field.""" - tableName: StringFilter - - """Filter by the object’s `isVisible` field.""" - isVisible: BooleanFilter - - """Filter by the object’s `hasLimits` field.""" - hasLimits: BooleanFilter - - """Filter by the object’s `hasProfiles` field.""" - hasProfiles: BooleanFilter - - """Filter by the object’s `hasLevels` field.""" - hasLevels: BooleanFilter - - """Filter by the object’s `hasStorage` field.""" - hasStorage: BooleanFilter + """Filter by the object’s `granteeName` field.""" + granteeName: StringFilter - """Filter by the object’s `hasInvites` field.""" - hasInvites: BooleanFilter + """Filter by the object’s `privilege` field.""" + privilege: StringFilter - """Filter by the object’s `storageConfig` field.""" - storageConfig: JSONFilter + """Filter by the object’s `permissive` field.""" + permissive: BooleanFilter - """Filter by the object’s `skipEntityPolicies` field.""" - skipEntityPolicies: BooleanFilter + """Filter by the object’s `disabled` field.""" + disabled: BooleanFilter - """Filter by the object’s `tableProvision` field.""" - tableProvision: JSONFilter + """Filter by the object’s `policyType` field.""" + policyType: StringFilter - """Filter by the object’s `outMembershipType` field.""" - outMembershipType: IntFilter + """Filter by the object’s `data` field.""" + data: JSONFilter - """Filter by the object’s `outEntityTableId` field.""" - outEntityTableId: UUIDFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `outEntityTableName` field.""" - outEntityTableName: StringFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `outInstalledModules` field.""" - outInstalledModules: StringListFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `outStorageModuleId` field.""" - outStorageModuleId: UUIDFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `outBucketsTableId` field.""" - outBucketsTableId: UUIDFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Filter by the object’s `outFilesTableId` field.""" - outFilesTableId: UUIDFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `outInvitesModuleId` field.""" - outInvitesModuleId: UUIDFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [EntityTypeProvisionFilter!] + and: [PolicyFilter!] """Checks for any expressions in this list.""" - or: [EntityTypeProvisionFilter!] + or: [PolicyFilter!] """Negates the expression.""" - not: EntityTypeProvisionFilter + not: PolicyFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against `RateLimitsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `PrimaryKeyConstraint` object types. All fields are combined with a logical ‘and.’ """ -input RateLimitsModuleFilter { +input TableToManyPrimaryKeyConstraintFilter { + """Filters to entities where at least one related entity matches.""" + some: PrimaryKeyConstraintFilter + + """Filters to entities where every related entity matches.""" + every: PrimaryKeyConstraintFilter + + """Filters to entities where no related entity matches.""" + none: PrimaryKeyConstraintFilter +} + +""" +A filter to be used against `PrimaryKeyConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input PrimaryKeyConstraintFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `rateLimitSettingsTableId` field.""" - rateLimitSettingsTableId: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `ipRateLimitsTableId` field.""" - ipRateLimitsTableId: UUIDFilter + """Filter by the object’s `type` field.""" + type: StringFilter - """Filter by the object’s `rateLimitsTableId` field.""" - rateLimitsTableId: UUIDFilter + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter - """Filter by the object’s `rateLimitSettingsTable` field.""" - rateLimitSettingsTable: StringFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `ipRateLimitsTable` field.""" - ipRateLimitsTable: StringFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `rateLimitsTable` field.""" - rateLimitsTable: StringFilter + """Filter by the object’s `module` field.""" + module: StringFilter + + """Filter by the object’s `scope` field.""" + scope: IntFilter + + """Filter by the object’s `tags` field.""" + tags: StringListFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [RateLimitsModuleFilter!] + and: [PrimaryKeyConstraintFilter!] """Checks for any expressions in this list.""" - or: [RateLimitsModuleFilter!] + or: [PrimaryKeyConstraintFilter!] """Negates the expression.""" - not: RateLimitsModuleFilter + not: PrimaryKeyConstraintFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """ - Filter by the object’s `ipRateLimitsTableByIpRateLimitsTableId` relation. - """ - ipRateLimitsTableByIpRateLimitsTableId: TableFilter + """Filter by the object’s `table` relation.""" + table: TableFilter +} - """ - Filter by the object’s `rateLimitSettingsTableByRateLimitSettingsTableId` relation. - """ - rateLimitSettingsTableByRateLimitSettingsTableId: TableFilter +""" +A filter to be used against many `TableGrant` object types. All fields are combined with a logical ‘and.’ +""" +input TableToManyTableGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: TableGrantFilter - """Filter by the object’s `rateLimitsTableByRateLimitsTableId` relation.""" - rateLimitsTableByRateLimitsTableId: TableFilter + """Filters to entities where every related entity matches.""" + every: TableGrantFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filters to entities where no related entity matches.""" + none: TableGrantFilter } """ -A filter to be used against `DevicesModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `TableGrant` object types. All fields are combined with a logical ‘and.’ """ -input DevicesModuleFilter { +input TableGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `userDevicesTableId` field.""" - userDevicesTableId: UUIDFilter + """Filter by the object’s `privilege` field.""" + privilege: StringFilter - """Filter by the object’s `deviceSettingsTableId` field.""" - deviceSettingsTableId: UUIDFilter + """Filter by the object’s `granteeName` field.""" + granteeName: StringFilter - """Filter by the object’s `userDevicesTable` field.""" - userDevicesTable: StringFilter + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter - """Filter by the object’s `deviceSettingsTable` field.""" - deviceSettingsTable: StringFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [DevicesModuleFilter!] + and: [TableGrantFilter!] """Checks for any expressions in this list.""" - or: [DevicesModuleFilter!] + or: [TableGrantFilter!] """Negates the expression.""" - not: DevicesModuleFilter + not: TableGrantFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """ - Filter by the object’s `deviceSettingsTableByDeviceSettingsTableId` relation. - """ - deviceSettingsTableByDeviceSettingsTableId: TableFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter - - """ - Filter by the object’s `userDevicesTableByUserDevicesTableId` relation. - """ - userDevicesTableByUserDevicesTableId: TableFilter -} - -""" -A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ -""" -input DatabaseToManySessionSecretsModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: SessionSecretsModuleFilter - - """Filters to entities where every related entity matches.""" - every: SessionSecretsModuleFilter - - """Filters to entities where no related entity matches.""" - none: SessionSecretsModuleFilter + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `WebauthnCredentialsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `Trigger` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyWebauthnCredentialsModuleFilter { +input TableToManyTriggerFilter { """Filters to entities where at least one related entity matches.""" - some: WebauthnCredentialsModuleFilter + some: TriggerFilter """Filters to entities where every related entity matches.""" - every: WebauthnCredentialsModuleFilter + every: TriggerFilter """Filters to entities where no related entity matches.""" - none: WebauthnCredentialsModuleFilter + none: TriggerFilter } """ -A filter to be used against `WebauthnCredentialsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `Trigger` object types. All fields are combined with a logical ‘and.’ """ -input WebauthnCredentialsModuleFilter { +input TriggerFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter - """Filter by the object’s `tableId` field.""" tableId: UUIDFilter - """Filter by the object’s `ownerTableId` field.""" - ownerTableId: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `tableName` field.""" - tableName: StringFilter + """Filter by the object’s `event` field.""" + event: StringFilter + + """Filter by the object’s `functionName` field.""" + functionName: StringFilter + + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter + + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter + + """Filter by the object’s `module` field.""" + module: StringFilter + + """Filter by the object’s `scope` field.""" + scope: IntFilter + + """Filter by the object’s `tags` field.""" + tags: StringListFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [WebauthnCredentialsModuleFilter!] + and: [TriggerFilter!] """Checks for any expressions in this list.""" - or: [WebauthnCredentialsModuleFilter!] + or: [TriggerFilter!] """Negates the expression.""" - not: WebauthnCredentialsModuleFilter + not: TriggerFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `ownerTable` relation.""" - ownerTable: TableFilter - - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter - - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter - """Filter by the object’s `table` relation.""" table: TableFilter } """ -A filter to be used against many `WebauthnAuthModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `UniqueConstraint` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyWebauthnAuthModuleFilter { +input TableToManyUniqueConstraintFilter { """Filters to entities where at least one related entity matches.""" - some: WebauthnAuthModuleFilter + some: UniqueConstraintFilter """Filters to entities where every related entity matches.""" - every: WebauthnAuthModuleFilter + every: UniqueConstraintFilter """Filters to entities where no related entity matches.""" - none: WebauthnAuthModuleFilter + none: UniqueConstraintFilter } """ -A filter to be used against `WebauthnAuthModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `UniqueConstraint` object types. All fields are combined with a logical ‘and.’ """ -input WebauthnAuthModuleFilter { +input UniqueConstraintFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter - - """Filter by the object’s `usersTableId` field.""" - usersTableId: UUIDFilter - - """Filter by the object’s `credentialsTableId` field.""" - credentialsTableId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `sessionsTableId` field.""" - sessionsTableId: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `sessionCredentialsTableId` field.""" - sessionCredentialsTableId: UUIDFilter + """Filter by the object’s `description` field.""" + description: StringFilter - """Filter by the object’s `sessionSecretsTableId` field.""" - sessionSecretsTableId: UUIDFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `authSettingsTableId` field.""" - authSettingsTableId: UUIDFilter + """Filter by the object’s `type` field.""" + type: StringFilter - """Filter by the object’s `rpId` field.""" - rpId: StringFilter + """Filter by the object’s `fieldIds` field.""" + fieldIds: UUIDListFilter - """Filter by the object’s `rpName` field.""" - rpName: StringFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `originAllowlist` field.""" - originAllowlist: StringListFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `attestationType` field.""" - attestationType: StringFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `requireUserVerification` field.""" - requireUserVerification: BooleanFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Filter by the object’s `residentKey` field.""" - residentKey: StringFilter + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Filter by the object’s `challengeExpiry` field.""" - challengeExpiry: IntervalFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [WebauthnAuthModuleFilter!] + and: [UniqueConstraintFilter!] """Checks for any expressions in this list.""" - or: [WebauthnAuthModuleFilter!] + or: [UniqueConstraintFilter!] """Negates the expression.""" - not: WebauthnAuthModuleFilter - - """Filter by the object’s `authSettingsTable` relation.""" - authSettingsTable: TableFilter - - """Filter by the object’s `credentialsTable` relation.""" - credentialsTable: TableFilter + not: UniqueConstraintFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter - - """Filter by the object’s `sessionCredentialsTable` relation.""" - sessionCredentialsTable: TableFilter - - """Filter by the object’s `sessionSecretsTable` relation.""" - sessionSecretsTable: TableFilter - - """Filter by the object’s `sessionsTable` relation.""" - sessionsTable: TableFilter - - """Filter by the object’s `usersTable` relation.""" - usersTable: TableFilter + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `View` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyIdentityProvidersModuleFilter { +input TableToManyViewFilter { """Filters to entities where at least one related entity matches.""" - some: IdentityProvidersModuleFilter + some: ViewFilter """Filters to entities where every related entity matches.""" - every: IdentityProvidersModuleFilter + every: ViewFilter """Filters to entities where no related entity matches.""" - none: IdentityProvidersModuleFilter + none: ViewFilter } """ -A filter to be used against many `NotificationsModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against `View` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyNotificationsModuleFilter { - """Filters to entities where at least one related entity matches.""" - some: NotificationsModuleFilter - - """Filters to entities where every related entity matches.""" - every: NotificationsModuleFilter - - """Filters to entities where no related entity matches.""" - none: NotificationsModuleFilter -} - -""" -A filter to be used against `NotificationsModule` object types. All fields are combined with a logical ‘and.’ -""" -input NotificationsModuleFilter { +input ViewFilter { """Filter by the object’s `id` field.""" id: UUIDFilter @@ -15429,10552 +15571,6547 @@ input NotificationsModuleFilter { """Filter by the object’s `schemaId` field.""" schemaId: UUIDFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter - - """Filter by the object’s `notificationsTableId` field.""" - notificationsTableId: UUIDFilter + """Filter by the object’s `name` field.""" + name: StringFilter - """Filter by the object’s `readStateTableId` field.""" - readStateTableId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `preferencesTableId` field.""" - preferencesTableId: UUIDFilter + """Filter by the object’s `viewType` field.""" + viewType: StringFilter - """Filter by the object’s `channelsTableId` field.""" - channelsTableId: UUIDFilter + """Filter by the object’s `data` field.""" + data: JSONFilter - """Filter by the object’s `deliveryLogTableId` field.""" - deliveryLogTableId: UUIDFilter + """Filter by the object’s `filterType` field.""" + filterType: StringFilter - """Filter by the object’s `ownerTableId` field.""" - ownerTableId: UUIDFilter + """Filter by the object’s `filterData` field.""" + filterData: JSONFilter - """Filter by the object’s `userSettingsTableId` field.""" - userSettingsTableId: UUIDFilter + """Filter by the object’s `securityInvoker` field.""" + securityInvoker: BooleanFilter - """Filter by the object’s `organizationSettingsTableId` field.""" - organizationSettingsTableId: UUIDFilter + """Filter by the object’s `isReadOnly` field.""" + isReadOnly: BooleanFilter - """Filter by the object’s `hasChannels` field.""" - hasChannels: BooleanFilter + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Filter by the object’s `hasPreferences` field.""" - hasPreferences: BooleanFilter + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Filter by the object’s `hasSettingsExtension` field.""" - hasSettingsExtension: BooleanFilter + """Filter by the object’s `module` field.""" + module: StringFilter - """Filter by the object’s `hasDigestMetadata` field.""" - hasDigestMetadata: BooleanFilter + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Filter by the object’s `hasSubscriptions` field.""" - hasSubscriptions: BooleanFilter + """Filter by the object’s `tags` field.""" + tags: StringListFilter """Checks for all expressions in this list.""" - and: [NotificationsModuleFilter!] + and: [ViewFilter!] """Checks for any expressions in this list.""" - or: [NotificationsModuleFilter!] + or: [ViewFilter!] """Negates the expression.""" - not: NotificationsModuleFilter - - """Filter by the object’s `channelsTableByChannelsTableId` relation.""" - channelsTableByChannelsTableId: TableFilter - - """A related `channelsTableByChannelsTableId` exists.""" - channelsTableByChannelsTableIdExists: Boolean + not: ViewFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """ - Filter by the object’s `deliveryLogTableByDeliveryLogTableId` relation. - """ - deliveryLogTableByDeliveryLogTableId: TableFilter + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """A related `deliveryLogTableByDeliveryLogTableId` exists.""" - deliveryLogTableByDeliveryLogTableIdExists: Boolean + """Filter by the object’s `table` relation.""" + table: TableFilter - """ - Filter by the object’s `notificationsTableByNotificationsTableId` relation. - """ - notificationsTableByNotificationsTableId: TableFilter + """A related `table` exists.""" + tableExists: Boolean - """ - Filter by the object’s `organizationSettingsTableByOrganizationSettingsTableId` relation. - """ - organizationSettingsTableByOrganizationSettingsTableId: TableFilter + """Filter by the object’s `viewTables` relation.""" + viewTables: ViewToManyViewTableFilter - """ - A related `organizationSettingsTableByOrganizationSettingsTableId` exists. - """ - organizationSettingsTableByOrganizationSettingsTableIdExists: Boolean + """`viewTables` exist.""" + viewTablesExist: Boolean - """Filter by the object’s `ownerTable` relation.""" - ownerTable: TableFilter + """Filter by the object’s `viewGrants` relation.""" + viewGrants: ViewToManyViewGrantFilter - """ - Filter by the object’s `preferencesTableByPreferencesTableId` relation. - """ - preferencesTableByPreferencesTableId: TableFilter + """`viewGrants` exist.""" + viewGrantsExist: Boolean - """A related `preferencesTableByPreferencesTableId` exists.""" - preferencesTableByPreferencesTableIdExists: Boolean + """Filter by the object’s `viewRules` relation.""" + viewRules: ViewToManyViewRuleFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """`viewRules` exist.""" + viewRulesExist: Boolean +} - """Filter by the object’s `readStateTableByReadStateTableId` relation.""" - readStateTableByReadStateTableId: TableFilter +""" +A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ +""" +input ViewToManyViewTableFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewTableFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filters to entities where every related entity matches.""" + every: ViewTableFilter - """ - Filter by the object’s `userSettingsTableByUserSettingsTableId` relation. - """ - userSettingsTableByUserSettingsTableId: TableFilter + """Filters to entities where no related entity matches.""" + none: ViewTableFilter +} - """A related `userSettingsTableByUserSettingsTableId` exists.""" - userSettingsTableByUserSettingsTableIdExists: Boolean +""" +A filter to be used against `ViewTable` object types. All fields are combined with a logical ‘and.’ +""" +input ViewTableFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter + + """Filter by the object’s `viewId` field.""" + viewId: UUIDFilter + + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter + + """Filter by the object’s `joinOrder` field.""" + joinOrder: IntFilter + + """Checks for all expressions in this list.""" + and: [ViewTableFilter!] + + """Checks for any expressions in this list.""" + or: [ViewTableFilter!] + + """Negates the expression.""" + not: ViewTableFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter + + """Filter by the object’s `view` relation.""" + view: ViewFilter } """ -A filter to be used against `PlansModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `ViewGrant` object types. All fields are combined with a logical ‘and.’ """ -input PlansModuleFilter { +input ViewToManyViewGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewGrantFilter + + """Filters to entities where every related entity matches.""" + every: ViewGrantFilter + + """Filters to entities where no related entity matches.""" + none: ViewGrantFilter +} + +""" +A filter to be used against `ViewGrant` object types. All fields are combined with a logical ‘and.’ +""" +input ViewGrantFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `viewId` field.""" + viewId: UUIDFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `granteeName` field.""" + granteeName: StringFilter - """Filter by the object’s `plansTableId` field.""" - plansTableId: UUIDFilter + """Filter by the object’s `privilege` field.""" + privilege: StringFilter - """Filter by the object’s `plansTableName` field.""" - plansTableName: StringFilter + """Filter by the object’s `withGrantOption` field.""" + withGrantOption: BooleanFilter - """Filter by the object’s `planLimitsTableId` field.""" - planLimitsTableId: UUIDFilter + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter - """Filter by the object’s `planLimitsTableName` field.""" - planLimitsTableName: StringFilter + """Checks for all expressions in this list.""" + and: [ViewGrantFilter!] - """Filter by the object’s `applyPlanFunction` field.""" - applyPlanFunction: StringFilter + """Checks for any expressions in this list.""" + or: [ViewGrantFilter!] - """Filter by the object’s `applyPlanAggregateFunction` field.""" - applyPlanAggregateFunction: StringFilter + """Negates the expression.""" + not: ViewGrantFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `view` relation.""" + view: ViewFilter +} + +""" +A filter to be used against many `ViewRule` object types. All fields are combined with a logical ‘and.’ +""" +input ViewToManyViewRuleFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewRuleFilter + + """Filters to entities where every related entity matches.""" + every: ViewRuleFilter + + """Filters to entities where no related entity matches.""" + none: ViewRuleFilter +} + +""" +A filter to be used against `ViewRule` object types. All fields are combined with a logical ‘and.’ +""" +input ViewRuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter + + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter + + """Filter by the object’s `viewId` field.""" + viewId: UUIDFilter + + """Filter by the object’s `name` field.""" + name: StringFilter + + """Filter by the object’s `event` field.""" + event: StringFilter + + """Filter by the object’s `action` field.""" + action: StringFilter """Checks for all expressions in this list.""" - and: [PlansModuleFilter!] + and: [ViewRuleFilter!] """Checks for any expressions in this list.""" - or: [PlansModuleFilter!] + or: [ViewRuleFilter!] """Negates the expression.""" - not: PlansModuleFilter + not: ViewRuleFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `planLimitsTable` relation.""" - planLimitsTable: TableFilter + """Filter by the object’s `view` relation.""" + view: ViewFilter +} - """Filter by the object’s `plansTable` relation.""" - plansTable: TableFilter +""" +A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ +""" +input TableToManyViewTableFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewTableFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """Filters to entities where every related entity matches.""" + every: ViewTableFilter - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filters to entities where no related entity matches.""" + none: ViewTableFilter } """ -A filter to be used against `BillingModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `EmbeddingChunk` object types. All fields are combined with a logical ‘and.’ """ -input BillingModuleFilter { +input TableToManyEmbeddingChunkFilter { + """Filters to entities where at least one related entity matches.""" + some: EmbeddingChunkFilter + + """Filters to entities where every related entity matches.""" + every: EmbeddingChunkFilter + + """Filters to entities where no related entity matches.""" + none: EmbeddingChunkFilter +} + +""" +A filter to be used against `EmbeddingChunk` object types. All fields are combined with a logical ‘and.’ +""" +input EmbeddingChunkFilter { """Filter by the object’s `id` field.""" id: UUIDFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `schemaId` field.""" - schemaId: UUIDFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `privateSchemaId` field.""" - privateSchemaId: UUIDFilter + """Filter by the object’s `embeddingFieldId` field.""" + embeddingFieldId: UUIDFilter - """Filter by the object’s `metersTableId` field.""" - metersTableId: UUIDFilter + """Filter by the object’s `chunksTableId` field.""" + chunksTableId: UUIDFilter - """Filter by the object’s `metersTableName` field.""" - metersTableName: StringFilter + """Filter by the object’s `chunksTableName` field.""" + chunksTableName: StringFilter - """Filter by the object’s `planSubscriptionsTableId` field.""" - planSubscriptionsTableId: UUIDFilter + """Filter by the object’s `contentFieldName` field.""" + contentFieldName: StringFilter - """Filter by the object’s `planSubscriptionsTableName` field.""" - planSubscriptionsTableName: StringFilter + """Filter by the object’s `dimensions` field.""" + dimensions: IntFilter - """Filter by the object’s `ledgerTableId` field.""" - ledgerTableId: UUIDFilter + """Filter by the object’s `metric` field.""" + metric: StringFilter - """Filter by the object’s `ledgerTableName` field.""" - ledgerTableName: StringFilter + """Filter by the object’s `chunkSize` field.""" + chunkSize: IntFilter - """Filter by the object’s `balancesTableId` field.""" - balancesTableId: UUIDFilter + """Filter by the object’s `chunkOverlap` field.""" + chunkOverlap: IntFilter - """Filter by the object’s `balancesTableName` field.""" - balancesTableName: StringFilter + """Filter by the object’s `chunkStrategy` field.""" + chunkStrategy: StringFilter - """Filter by the object’s `recordUsageFunction` field.""" - recordUsageFunction: StringFilter + """Filter by the object’s `metadataFields` field.""" + metadataFields: JSONFilter - """Filter by the object’s `prefix` field.""" - prefix: StringFilter + """Filter by the object’s `enqueueChunkingJob` field.""" + enqueueChunkingJob: BooleanFilter + + """Filter by the object’s `chunkingTaskName` field.""" + chunkingTaskName: StringFilter + + """Filter by the object’s `parentFkFieldId` field.""" + parentFkFieldId: UUIDFilter + + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter """Checks for all expressions in this list.""" - and: [BillingModuleFilter!] + and: [EmbeddingChunkFilter!] """Checks for any expressions in this list.""" - or: [BillingModuleFilter!] + or: [EmbeddingChunkFilter!] """Negates the expression.""" - not: BillingModuleFilter + not: EmbeddingChunkFilter - """Filter by the object’s `balancesTable` relation.""" - balancesTable: TableFilter + """Filter by the object’s `chunksTable` relation.""" + chunksTable: TableFilter + + """A related `chunksTable` exists.""" + chunksTableExists: Boolean """Filter by the object’s `database` relation.""" database: DatabaseFilter - """Filter by the object’s `ledgerTable` relation.""" - ledgerTable: TableFilter + """Filter by the object’s `embeddingField` relation.""" + embeddingField: FieldFilter - """Filter by the object’s `metersTable` relation.""" - metersTable: TableFilter + """A related `embeddingField` exists.""" + embeddingFieldExists: Boolean - """Filter by the object’s `planSubscriptionsTable` relation.""" - planSubscriptionsTable: TableFilter + """Filter by the object’s `parentFkField` relation.""" + parentFkField: FieldFilter - """Filter by the object’s `privateSchema` relation.""" - privateSchema: SchemaFilter + """A related `parentFkField` exists.""" + parentFkFieldExists: Boolean - """Filter by the object’s `schema` relation.""" - schema: SchemaFilter + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -A filter to be used against many `DatabaseProvisionModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseToManyDatabaseProvisionModuleFilter { +input TableToManySpatialRelationFilter { """Filters to entities where at least one related entity matches.""" - some: DatabaseProvisionModuleFilter + some: SpatialRelationFilter """Filters to entities where every related entity matches.""" - every: DatabaseProvisionModuleFilter + every: SpatialRelationFilter """Filters to entities where no related entity matches.""" - none: DatabaseProvisionModuleFilter + none: SpatialRelationFilter } """ -A filter to be used against `DatabaseProvisionModule` object types. All fields are combined with a logical ‘and.’ +A filter to be used against many `SecureTableProvision` object types. All fields are combined with a logical ‘and.’ """ -input DatabaseProvisionModuleFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter +input TableToManySecureTableProvisionFilter { + """Filters to entities where at least one related entity matches.""" + some: SecureTableProvisionFilter - """Filter by the object’s `databaseName` field.""" - databaseName: StringFilter + """Filters to entities where every related entity matches.""" + every: SecureTableProvisionFilter - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter + """Filters to entities where no related entity matches.""" + none: SecureTableProvisionFilter +} - """Filter by the object’s `subdomain` field.""" - subdomain: StringFilter +""" +A filter to be used against `SecureTableProvision` object types. All fields are combined with a logical ‘and.’ +""" +input SecureTableProvisionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Filter by the object’s `domain` field.""" - domain: StringFilter + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Filter by the object’s `modules` field.""" - modules: StringListFilter + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Filter by the object’s `options` field.""" - options: JSONFilter + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Filter by the object’s `bootstrapUser` field.""" - bootstrapUser: BooleanFilter + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Filter by the object’s `status` field.""" - status: StringFilter + """Filter by the object’s `nodes` field.""" + nodes: JSONFilter - """Filter by the object’s `errorMessage` field.""" - errorMessage: StringFilter + """Filter by the object’s `useRls` field.""" + useRls: BooleanFilter - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `fields` field.""" + fields: JSONListFilter - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Filter by the object’s `grants` field.""" + grants: JSONFilter - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """Filter by the object’s `policies` field.""" + policies: JSONFilter - """Filter by the object’s `completedAt` field.""" - completedAt: DatetimeFilter + """Filter by the object’s `outFields` field.""" + outFields: UUIDListFilter """Checks for all expressions in this list.""" - and: [DatabaseProvisionModuleFilter!] + and: [SecureTableProvisionFilter!] """Checks for any expressions in this list.""" - or: [DatabaseProvisionModuleFilter!] + or: [SecureTableProvisionFilter!] """Negates the expression.""" - not: DatabaseProvisionModuleFilter + not: SecureTableProvisionFilter """Filter by the object’s `database` relation.""" database: DatabaseFilter - """A related `database` exists.""" - databaseExists: Boolean + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""Methods to use when ordering `CheckConstraint`.""" -enum CheckConstraintOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - TYPE_ASC - TYPE_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - EXPR_ASC - EXPR_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} - -"""A connection to a list of `Field` values.""" -type FieldConnection { - """A list of `Field` objects.""" - nodes: [Field]! - +""" +A filter to be used against JSON List fields. All fields are combined with a logical ‘and.’ +""" +input JSONListFilter { """ - A list of edges which contains the `Field` and cursor to aid in pagination. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - edges: [FieldEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `Field` you could get from the connection.""" - totalCount: Int! -} + isNull: Boolean -type Field { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String! - label: String - description: String - smartTags: JSON - isRequired: Boolean! - apiRequired: Boolean! - defaultValue: String - defaultValueAst: JSON - type: String! - fieldOrder: Int! - regexp: String - chk: JSON - chkExpr: JSON - min: Float - max: Float - tags: [String]! - category: ObjectCategory! - module: String - scope: Int - createdAt: Datetime - updatedAt: Datetime + """Equal to the specified value.""" + equalTo: [JSON] - """Reads a single `Database` that is related to this `Field`.""" - database: Database + """Not equal to the specified value.""" + notEqualTo: [JSON] - """Reads a single `Table` that is related to this `Field`.""" - table: Table + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: [JSON] - """Reads and enables pagination through a set of `SpatialRelation`.""" - spatialRelations( - """Only read the first `n` values of the set.""" - first: Int + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: [JSON] - """Only read the last `n` values of the set.""" - last: Int + """Less than the specified value.""" + lessThan: [JSON] - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Less than or equal to the specified value.""" + lessThanOrEqualTo: [JSON] - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Greater than the specified value.""" + greaterThan: [JSON] - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: [JSON] - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SpatialRelationFilter + """Contains the specified list of values.""" + contains: [JSON] - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] - ): SpatialRelationConnection! + """Contained by the specified list of values.""" + containedBy: [JSON] - """Reads and enables pagination through a set of `SpatialRelation`.""" - spatialRelationsByRefFieldId( - """Only read the first `n` values of the set.""" - first: Int + """Overlaps the specified list of values.""" + overlaps: [JSON] - """Only read the last `n` values of the set.""" - last: Int + """Any array item is equal to the specified value.""" + anyEqualTo: JSON - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Any array item is not equal to the specified value.""" + anyNotEqualTo: JSON - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Any array item is less than the specified value.""" + anyLessThan: JSON - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Any array item is less than or equal to the specified value.""" + anyLessThanOrEqualTo: JSON - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SpatialRelationFilter + """Any array item is greater than the specified value.""" + anyGreaterThan: JSON - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] - ): SpatialRelationConnection! + """Any array item is greater than or equal to the specified value.""" + anyGreaterThanOrEqualTo: JSON } -"""A connection to a list of `SpatialRelation` values.""" -type SpatialRelationConnection { - """A list of `SpatialRelation` objects.""" - nodes: [SpatialRelation]! - - """ - A list of edges which contains the `SpatialRelation` and cursor to aid in pagination. - """ - edges: [SpatialRelationEdge]! +""" +A filter to be used against many `RelationProvision` object types. All fields are combined with a logical ‘and.’ +""" +input TableToManyRelationProvisionFilter { + """Filters to entities where at least one related entity matches.""" + some: RelationProvisionFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: RelationProvisionFilter - """ - The count of *all* `SpatialRelation` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: RelationProvisionFilter } -type SpatialRelation { - id: UUID! - databaseId: UUID! - tableId: UUID! - fieldId: UUID! - refTableId: UUID! - refFieldId: UUID! - name: String! - operator: String! - paramName: String - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime +""" +A filter to be used against `RelationProvision` object types. All fields are combined with a logical ‘and.’ +""" +input RelationProvisionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Database` that is related to this `SpatialRelation`.""" - database: Database + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Field` that is related to this `SpatialRelation`.""" - field: Field + """Filter by the object’s `relationType` field.""" + relationType: StringFilter - """Reads a single `Field` that is related to this `SpatialRelation`.""" - refField: Field + """Filter by the object’s `sourceTableId` field.""" + sourceTableId: UUIDFilter - """Reads a single `Table` that is related to this `SpatialRelation`.""" - refTable: Table + """Filter by the object’s `targetTableId` field.""" + targetTableId: UUIDFilter - """Reads a single `Table` that is related to this `SpatialRelation`.""" - table: Table -} + """Filter by the object’s `fieldName` field.""" + fieldName: StringFilter -"""A `SpatialRelation` edge in the connection.""" -type SpatialRelationEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `deleteAction` field.""" + deleteAction: StringFilter - """The `SpatialRelation` at the end of the edge.""" - node: SpatialRelation -} + """Filter by the object’s `isRequired` field.""" + isRequired: BooleanFilter -"""Methods to use when ordering `SpatialRelation`.""" -enum SpatialRelationOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - FIELD_ID_ASC - FIELD_ID_DESC - REF_TABLE_ID_ASC - REF_TABLE_ID_DESC - REF_FIELD_ID_ASC - REF_FIELD_ID_DESC - NAME_ASC - NAME_DESC - OPERATOR_ASC - OPERATOR_DESC - PARAM_NAME_ASC - PARAM_NAME_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `apiRequired` field.""" + apiRequired: BooleanFilter -"""A `Field` edge in the connection.""" -type FieldEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `junctionTableId` field.""" + junctionTableId: UUIDFilter - """The `Field` at the end of the edge.""" - node: Field -} + """Filter by the object’s `junctionTableName` field.""" + junctionTableName: StringFilter -"""Methods to use when ordering `Field`.""" -enum FieldOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - LABEL_ASC - LABEL_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - IS_REQUIRED_ASC - IS_REQUIRED_DESC - API_REQUIRED_ASC - API_REQUIRED_DESC - DEFAULT_VALUE_ASC - DEFAULT_VALUE_DESC - DEFAULT_VALUE_AST_ASC - DEFAULT_VALUE_AST_DESC - TYPE_ASC - TYPE_DESC - FIELD_ORDER_ASC - FIELD_ORDER_DESC - REGEXP_ASC - REGEXP_DESC - CHK_ASC - CHK_DESC - CHK_EXPR_ASC - CHK_EXPR_DESC - MIN_ASC - MIN_DESC - MAX_ASC - MAX_DESC - TAGS_ASC - TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `junctionSchemaId` field.""" + junctionSchemaId: UUIDFilter -"""A connection to a list of `ForeignKeyConstraint` values.""" -type ForeignKeyConstraintConnection { - """A list of `ForeignKeyConstraint` objects.""" - nodes: [ForeignKeyConstraint]! + """Filter by the object’s `sourceFieldName` field.""" + sourceFieldName: StringFilter - """ - A list of edges which contains the `ForeignKeyConstraint` and cursor to aid in pagination. - """ - edges: [ForeignKeyConstraintEdge]! + """Filter by the object’s `targetFieldName` field.""" + targetFieldName: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `useCompositeKey` field.""" + useCompositeKey: BooleanFilter - """ - The count of *all* `ForeignKeyConstraint` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `createIndex` field.""" + createIndex: BooleanFilter -type ForeignKeyConstraint { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String - description: String - smartTags: JSON - type: String - fieldIds: [UUID]! - refTableId: UUID! - refFieldIds: [UUID]! - deleteAction: String - updateAction: String - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `exposeInApi` field.""" + exposeInApi: BooleanFilter - """ - Reads a single `Database` that is related to this `ForeignKeyConstraint`. - """ - database: Database + """Filter by the object’s `nodes` field.""" + nodes: JSONFilter - """Reads a single `Table` that is related to this `ForeignKeyConstraint`.""" - refTable: Table + """Filter by the object’s `grants` field.""" + grants: JSONFilter - """Reads a single `Table` that is related to this `ForeignKeyConstraint`.""" - table: Table -} + """Filter by the object’s `policies` field.""" + policies: JSONFilter -"""A `ForeignKeyConstraint` edge in the connection.""" -type ForeignKeyConstraintEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `outFieldId` field.""" + outFieldId: UUIDFilter - """The `ForeignKeyConstraint` at the end of the edge.""" - node: ForeignKeyConstraint -} + """Filter by the object’s `outJunctionTableId` field.""" + outJunctionTableId: UUIDFilter -"""Methods to use when ordering `ForeignKeyConstraint`.""" -enum ForeignKeyConstraintOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - TYPE_ASC - TYPE_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - REF_TABLE_ID_ASC - REF_TABLE_ID_DESC - REF_FIELD_IDS_ASC - REF_FIELD_IDS_DESC - DELETE_ACTION_ASC - DELETE_ACTION_DESC - UPDATE_ACTION_ASC - UPDATE_ACTION_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `outSourceFieldId` field.""" + outSourceFieldId: UUIDFilter -"""A connection to a list of `FullTextSearch` values.""" -type FullTextSearchConnection { - """A list of `FullTextSearch` objects.""" - nodes: [FullTextSearch]! + """Filter by the object’s `outTargetFieldId` field.""" + outTargetFieldId: UUIDFilter - """ - A list of edges which contains the `FullTextSearch` and cursor to aid in pagination. - """ - edges: [FullTextSearchEdge]! + """Checks for all expressions in this list.""" + and: [RelationProvisionFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Checks for any expressions in this list.""" + or: [RelationProvisionFilter!] - """The count of *all* `FullTextSearch` you could get from the connection.""" - totalCount: Int! -} + """Negates the expression.""" + not: RelationProvisionFilter -type FullTextSearch { - id: UUID! - databaseId: UUID! - tableId: UUID! - fieldId: UUID! - fieldIds: [UUID]! - weights: [String]! - langs: [String]! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads a single `Database` that is related to this `FullTextSearch`.""" - database: Database + """Filter by the object’s `sourceTable` relation.""" + sourceTable: TableFilter - """Reads a single `Table` that is related to this `FullTextSearch`.""" - table: Table + """Filter by the object’s `targetTable` relation.""" + targetTable: TableFilter } -"""A `FullTextSearch` edge in the connection.""" -type FullTextSearchEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input TableToManySessionSecretsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SessionSecretsModuleFilter - """The `FullTextSearch` at the end of the edge.""" - node: FullTextSearch + """Filters to entities where every related entity matches.""" + every: SessionSecretsModuleFilter + + """Filters to entities where no related entity matches.""" + none: SessionSecretsModuleFilter } -"""Methods to use when ordering `FullTextSearch`.""" -enum FullTextSearchOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - FIELD_ID_ASC - FIELD_ID_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - WEIGHTS_ASC - WEIGHTS_DESC - LANGS_ASC - LANGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} +""" +A filter to be used against `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input SessionSecretsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""A connection to a list of `Index` values.""" -type IndexConnection { - """A list of `Index` objects.""" - nodes: [Index]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - A list of edges which contains the `Index` and cursor to aid in pagination. - """ - edges: [IndexEdge]! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """The count of *all* `Index` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `tableName` field.""" + tableName: StringFilter -type Index { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String! - fieldIds: [UUID] - includeFieldIds: [UUID] - accessMethod: String! - indexParams: JSON - whereClause: JSON - isUnique: Boolean! - options: JSON - opClasses: [String] - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter - """Reads a single `Database` that is related to this `Index`.""" - database: Database + """Checks for all expressions in this list.""" + and: [SessionSecretsModuleFilter!] - """Reads a single `Table` that is related to this `Index`.""" - table: Table -} + """Checks for any expressions in this list.""" + or: [SessionSecretsModuleFilter!] -"""A `Index` edge in the connection.""" -type IndexEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Negates the expression.""" + not: SessionSecretsModuleFilter - """The `Index` at the end of the edge.""" - node: Index -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""Methods to use when ordering `Index`.""" -enum IndexOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - INCLUDE_FIELD_IDS_ASC - INCLUDE_FIELD_IDS_DESC - ACCESS_METHOD_ASC - ACCESS_METHOD_DESC - INDEX_PARAMS_ASC - INDEX_PARAMS_DESC - WHERE_CLAUSE_ASC - WHERE_CLAUSE_DESC - IS_UNIQUE_ASC - IS_UNIQUE_DESC - OPTIONS_ASC - OPTIONS_DESC - OP_CLASSES_ASC - OP_CLASSES_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter -"""A connection to a list of `Policy` values.""" -type PolicyConnection { - """A list of `Policy` objects.""" - nodes: [Policy]! + """Filter by the object’s `sessionsTable` relation.""" + sessionsTable: TableFilter - """ - A list of edges which contains the `Policy` and cursor to aid in pagination. - """ - edges: [PolicyEdge]! + """Filter by the object’s `table` relation.""" + table: TableFilter +} - """Information to aid in pagination.""" - pageInfo: PageInfo! +""" +A filter to be used against many `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +""" +input TableToManyIdentityProvidersModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: IdentityProvidersModuleFilter - """The count of *all* `Policy` you could get from the connection.""" - totalCount: Int! + """Filters to entities where every related entity matches.""" + every: IdentityProvidersModuleFilter + + """Filters to entities where no related entity matches.""" + none: IdentityProvidersModuleFilter } -type Policy { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String - granteeName: String - privilege: String - permissive: Boolean - disabled: Boolean - policyType: String - data: JSON - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime +""" +A filter to be used against `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +""" +input IdentityProvidersModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Database` that is related to this `Policy`.""" - database: Database + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `Policy`.""" - table: Table -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A `Policy` edge in the connection.""" -type PolicyEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """The `Policy` at the end of the edge.""" - node: Policy -} + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter -"""Methods to use when ordering `Policy`.""" -enum PolicyOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - GRANTEE_NAME_ASC - GRANTEE_NAME_DESC - PRIVILEGE_ASC - PRIVILEGE_DESC - PERMISSIVE_ASC - PERMISSIVE_DESC - DISABLED_ASC - DISABLED_DESC - POLICY_TYPE_ASC - POLICY_TYPE_DESC - DATA_ASC - DATA_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `tableName` field.""" + tableName: StringFilter -"""A connection to a list of `PrimaryKeyConstraint` values.""" -type PrimaryKeyConstraintConnection { - """A list of `PrimaryKeyConstraint` objects.""" - nodes: [PrimaryKeyConstraint]! + """Checks for all expressions in this list.""" + and: [IdentityProvidersModuleFilter!] - """ - A list of edges which contains the `PrimaryKeyConstraint` and cursor to aid in pagination. - """ - edges: [PrimaryKeyConstraintEdge]! + """Checks for any expressions in this list.""" + or: [IdentityProvidersModuleFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: IdentityProvidersModuleFilter - """ - The count of *all* `PrimaryKeyConstraint` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -type PrimaryKeyConstraint { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String - type: String - fieldIds: [UUID]! - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """ - Reads a single `Database` that is related to this `PrimaryKeyConstraint`. - """ - database: Database + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """Reads a single `Table` that is related to this `PrimaryKeyConstraint`.""" - table: Table + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""A `PrimaryKeyConstraint` edge in the connection.""" -type PrimaryKeyConstraintEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `SchemaGrant` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManySchemaGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: SchemaGrantFilter - """The `PrimaryKeyConstraint` at the end of the edge.""" - node: PrimaryKeyConstraint -} + """Filters to entities where every related entity matches.""" + every: SchemaGrantFilter -"""Methods to use when ordering `PrimaryKeyConstraint`.""" -enum PrimaryKeyConstraintOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - TYPE_ASC - TYPE_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filters to entities where no related entity matches.""" + none: SchemaGrantFilter } -"""A connection to a list of `TableGrant` values.""" -type TableGrantConnection { - """A list of `TableGrant` objects.""" - nodes: [TableGrant]! +""" +A filter to be used against `SchemaGrant` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaGrantFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `TableGrant` and cursor to aid in pagination. - """ - edges: [TableGrantEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """The count of *all* `TableGrant` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `granteeName` field.""" + granteeName: StringFilter -type TableGrant { - id: UUID! - databaseId: UUID! - tableId: UUID! - privilege: String! - granteeName: String! - fieldIds: [UUID] - isGrant: Boolean! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Reads a single `Database` that is related to this `TableGrant`.""" - database: Database + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Reads a single `Table` that is related to this `TableGrant`.""" - table: Table -} + """Checks for all expressions in this list.""" + and: [SchemaGrantFilter!] -"""A `TableGrant` edge in the connection.""" -type TableGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Checks for any expressions in this list.""" + or: [SchemaGrantFilter!] - """The `TableGrant` at the end of the edge.""" - node: TableGrant -} + """Negates the expression.""" + not: SchemaGrantFilter -"""Methods to use when ordering `TableGrant`.""" -enum TableGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - PRIVILEGE_ASC - PRIVILEGE_DESC - GRANTEE_NAME_ASC - GRANTEE_NAME_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - IS_GRANT_ASC - IS_GRANT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""A connection to a list of `Trigger` values.""" -type TriggerConnection { - """A list of `Trigger` objects.""" - nodes: [Trigger]! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter +} - """ - A list of edges which contains the `Trigger` and cursor to aid in pagination. - """ - edges: [TriggerEdge]! +""" +A filter to be used against many `View` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManyViewFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: ViewFilter - """The count of *all* `Trigger` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: ViewFilter } -type Trigger { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String! - event: String - functionName: String - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime +""" +A filter to be used against many `DefaultPrivilege` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManyDefaultPrivilegeFilter { + """Filters to entities where at least one related entity matches.""" + some: DefaultPrivilegeFilter - """Reads a single `Database` that is related to this `Trigger`.""" - database: Database + """Filters to entities where every related entity matches.""" + every: DefaultPrivilegeFilter - """Reads a single `Table` that is related to this `Trigger`.""" - table: Table + """Filters to entities where no related entity matches.""" + none: DefaultPrivilegeFilter } -"""A `Trigger` edge in the connection.""" -type TriggerEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against `DefaultPrivilege` object types. All fields are combined with a logical ‘and.’ +""" +input DefaultPrivilegeFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The `Trigger` at the end of the edge.""" - node: Trigger -} + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter -"""Methods to use when ordering `Trigger`.""" -enum TriggerOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - EVENT_ASC - EVENT_DESC - FUNCTION_NAME_ASC - FUNCTION_NAME_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A connection to a list of `UniqueConstraint` values.""" -type UniqueConstraintConnection { - """A list of `UniqueConstraint` objects.""" - nodes: [UniqueConstraint]! + """Filter by the object’s `objectType` field.""" + objectType: StringFilter - """ - A list of edges which contains the `UniqueConstraint` and cursor to aid in pagination. - """ - edges: [UniqueConstraintEdge]! + """Filter by the object’s `privilege` field.""" + privilege: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `granteeName` field.""" + granteeName: StringFilter - """ - The count of *all* `UniqueConstraint` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `isGrant` field.""" + isGrant: BooleanFilter -type UniqueConstraint { - id: UUID! - databaseId: UUID! - tableId: UUID! - name: String - description: String - smartTags: JSON - type: String - fieldIds: [UUID]! - category: ObjectCategory! - module: String - scope: Int - tags: [String]! - createdAt: Datetime - updatedAt: Datetime + """Checks for all expressions in this list.""" + and: [DefaultPrivilegeFilter!] - """Reads a single `Database` that is related to this `UniqueConstraint`.""" - database: Database + """Checks for any expressions in this list.""" + or: [DefaultPrivilegeFilter!] - """Reads a single `Table` that is related to this `UniqueConstraint`.""" - table: Table -} + """Negates the expression.""" + not: DefaultPrivilegeFilter -"""A `UniqueConstraint` edge in the connection.""" -type UniqueConstraintEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """The `UniqueConstraint` at the end of the edge.""" - node: UniqueConstraint + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } -"""Methods to use when ordering `UniqueConstraint`.""" -enum UniqueConstraintOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - NAME_ASC - NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - TYPE_ASC - TYPE_DESC - FIELD_IDS_ASC - FIELD_IDS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC +""" +A filter to be used against many `Enum` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManyEnumFilter { + """Filters to entities where at least one related entity matches.""" + some: EnumFilter + + """Filters to entities where every related entity matches.""" + every: EnumFilter + + """Filters to entities where no related entity matches.""" + none: EnumFilter } -"""A connection to a list of `View` values.""" -type ViewConnection { - """A list of `View` objects.""" - nodes: [View]! +""" +A filter to be used against `Enum` object types. All fields are combined with a logical ‘and.’ +""" +input EnumFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `View` and cursor to aid in pagination. - """ - edges: [ViewEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """The count of *all* `View` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `name` field.""" + name: StringFilter -type View { - id: UUID! - databaseId: UUID! - schemaId: UUID! - name: String! - tableId: UUID - viewType: String! - data: JSON - filterType: String - filterData: JSON - securityInvoker: Boolean - isReadOnly: Boolean - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! + """Filter by the object’s `label` field.""" + label: StringFilter - """Reads a single `Database` that is related to this `View`.""" - database: Database + """Filter by the object’s `description` field.""" + description: StringFilter - """Reads a single `Schema` that is related to this `View`.""" - schema: Schema + """Filter by the object’s `values` field.""" + values: StringListFilter - """Reads a single `Table` that is related to this `View`.""" - table: Table + """Filter by the object’s `smartTags` field.""" + smartTags: JSONFilter - """Reads and enables pagination through a set of `ViewTable`.""" - viewTables( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `category` field.""" + category: ObjectCategoryFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `module` field.""" + module: StringFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filter by the object’s `scope` field.""" + scope: IntFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Checks for all expressions in this list.""" + and: [EnumFilter!] - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewTableFilter + """Checks for any expressions in this list.""" + or: [EnumFilter!] - """The method to use when ordering `ViewTable`.""" - orderBy: [ViewTableOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewTableConnection! + """Negates the expression.""" + not: EnumFilter - """Reads and enables pagination through a set of `ViewGrant`.""" - viewGrants( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +""" +A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManyFunctionFilter { + """Filters to entities where at least one related entity matches.""" + some: FunctionFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filters to entities where every related entity matches.""" + every: FunctionFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filters to entities where no related entity matches.""" + none: FunctionFilter +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewGrantFilter +""" +A filter to be used against `Function` object types. All fields are combined with a logical ‘and.’ +""" +input FunctionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The method to use when ordering `ViewGrant`.""" - orderBy: [ViewGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewGrantConnection! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads and enables pagination through a set of `ViewRule`.""" - viewRules( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `name` field.""" + name: StringFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Checks for all expressions in this list.""" + and: [FunctionFilter!] - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Checks for any expressions in this list.""" + or: [FunctionFilter!] - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Negates the expression.""" + not: FunctionFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewRuleFilter + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """The method to use when ordering `ViewRule`.""" - orderBy: [ViewRuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewRuleConnection! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } -"""A connection to a list of `ViewTable` values.""" -type ViewTableConnection { - """A list of `ViewTable` objects.""" - nodes: [ViewTable]! - - """ - A list of edges which contains the `ViewTable` and cursor to aid in pagination. - """ - edges: [ViewTableEdge]! +""" +A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManyApiSchemaFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiSchemaFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: ApiSchemaFilter - """The count of *all* `ViewTable` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: ApiSchemaFilter } """ -Junction table linking views to their joined tables for referential integrity +A filter to be used against `ApiSchema` object types. All fields are combined with a logical ‘and.’ """ -type ViewTable { - id: UUID! - viewId: UUID! - tableId: UUID! - joinOrder: Int! +input ApiSchemaFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `ViewTable`.""" - table: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `View` that is related to this `ViewTable`.""" - view: View -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A `ViewTable` edge in the connection.""" -type ViewTableEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `apiId` field.""" + apiId: UUIDFilter - """The `ViewTable` at the end of the edge.""" - node: ViewTable -} + """Checks for all expressions in this list.""" + and: [ApiSchemaFilter!] -"""Methods to use when ordering `ViewTable`.""" -enum ViewTableOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - VIEW_ID_ASC - VIEW_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - JOIN_ORDER_ASC - JOIN_ORDER_DESC -} + """Checks for any expressions in this list.""" + or: [ApiSchemaFilter!] -"""A connection to a list of `ViewGrant` values.""" -type ViewGrantConnection { - """A list of `ViewGrant` objects.""" - nodes: [ViewGrant]! + """Negates the expression.""" + not: ApiSchemaFilter - """ - A list of edges which contains the `ViewGrant` and cursor to aid in pagination. - """ - edges: [ViewGrantEdge]! + """Filter by the object’s `api` relation.""" + api: ApiFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """The count of *all* `ViewGrant` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } -type ViewGrant { - id: UUID! - databaseId: UUID! - viewId: UUID! - granteeName: String! - privilege: String! - withGrantOption: Boolean - isGrant: Boolean! +""" +A filter to be used against `Api` object types. All fields are combined with a logical ‘and.’ +""" +input ApiFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Database` that is related to this `ViewGrant`.""" - database: Database + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `View` that is related to this `ViewGrant`.""" - view: View -} + """Filter by the object’s `name` field.""" + name: StringFilter -"""A `ViewGrant` edge in the connection.""" -type ViewGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `dbname` field.""" + dbname: StringFilter - """The `ViewGrant` at the end of the edge.""" - node: ViewGrant -} + """Filter by the object’s `roleName` field.""" + roleName: StringFilter -"""Methods to use when ordering `ViewGrant`.""" -enum ViewGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - VIEW_ID_ASC - VIEW_ID_DESC - GRANTEE_NAME_ASC - GRANTEE_NAME_DESC - PRIVILEGE_ASC - PRIVILEGE_DESC - WITH_GRANT_OPTION_ASC - WITH_GRANT_OPTION_DESC - IS_GRANT_ASC - IS_GRANT_DESC -} + """Filter by the object’s `anonRole` field.""" + anonRole: StringFilter -"""A connection to a list of `ViewRule` values.""" -type ViewRuleConnection { - """A list of `ViewRule` objects.""" - nodes: [ViewRule]! + """Filter by the object’s `isPublic` field.""" + isPublic: BooleanFilter - """ - A list of edges which contains the `ViewRule` and cursor to aid in pagination. - """ - edges: [ViewRuleEdge]! + """Checks for all expressions in this list.""" + and: [ApiFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Checks for any expressions in this list.""" + or: [ApiFilter!] - """The count of *all* `ViewRule` you could get from the connection.""" - totalCount: Int! -} + """Negates the expression.""" + not: ApiFilter -"""DO INSTEAD rules for views (e.g., read-only enforcement)""" -type ViewRule { - id: UUID! - databaseId: UUID! - viewId: UUID! - name: String! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """INSERT, UPDATE, or DELETE""" - event: String! + """Filter by the object’s `apiModules` relation.""" + apiModules: ApiToManyApiModuleFilter - """NOTHING (for read-only) or custom action""" - action: String! + """`apiModules` exist.""" + apiModulesExist: Boolean - """Reads a single `Database` that is related to this `ViewRule`.""" - database: Database + """Filter by the object’s `apiSchemas` relation.""" + apiSchemas: ApiToManyApiSchemaFilter - """Reads a single `View` that is related to this `ViewRule`.""" - view: View -} + """`apiSchemas` exist.""" + apiSchemasExist: Boolean -"""A `ViewRule` edge in the connection.""" -type ViewRuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `domains` relation.""" + domains: ApiToManyDomainFilter - """The `ViewRule` at the end of the edge.""" - node: ViewRule -} + """`domains` exist.""" + domainsExist: Boolean -"""Methods to use when ordering `ViewRule`.""" -enum ViewRuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - VIEW_ID_ASC - VIEW_ID_DESC - NAME_ASC - NAME_DESC - EVENT_ASC - EVENT_DESC - ACTION_ASC - ACTION_DESC -} + """Filter by the object’s `apiSetting` relation.""" + apiSetting: ApiSettingFilter -"""A `View` edge in the connection.""" -type ViewEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """A related `apiSetting` exists.""" + apiSettingExists: Boolean - """The `View` at the end of the edge.""" - node: View -} + """Filter by the object’s `corsSettings` relation.""" + corsSettings: ApiToManyCorsSettingFilter -"""Methods to use when ordering `View`.""" -enum ViewOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - NAME_ASC - NAME_DESC - TABLE_ID_ASC - TABLE_ID_DESC - VIEW_TYPE_ASC - VIEW_TYPE_DESC - DATA_ASC - DATA_DESC - FILTER_TYPE_ASC - FILTER_TYPE_DESC - FILTER_DATA_ASC - FILTER_DATA_DESC - SECURITY_INVOKER_ASC - SECURITY_INVOKER_DESC - IS_READ_ONLY_ASC - IS_READ_ONLY_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC + """`corsSettings` exist.""" + corsSettingsExist: Boolean } -"""A connection to a list of `EmbeddingChunk` values.""" -type EmbeddingChunkConnection { - """A list of `EmbeddingChunk` objects.""" - nodes: [EmbeddingChunk]! - - """ - A list of edges which contains the `EmbeddingChunk` and cursor to aid in pagination. - """ - edges: [EmbeddingChunkEdge]! +""" +A filter to be used against many `ApiModule` object types. All fields are combined with a logical ‘and.’ +""" +input ApiToManyApiModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: ApiModuleFilter - """The count of *all* `EmbeddingChunk` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: ApiModuleFilter } -type EmbeddingChunk { - id: UUID! - databaseId: UUID! - tableId: UUID! - embeddingFieldId: UUID - chunksTableId: UUID - chunksTableName: String - contentFieldName: String! - dimensions: Int! - metric: String! - chunkSize: Int! - chunkOverlap: Int! - chunkStrategy: String! - metadataFields: JSON - enqueueChunkingJob: Boolean! - chunkingTaskName: String! - parentFkFieldId: UUID - createdAt: Datetime - updatedAt: Datetime +""" +A filter to be used against `ApiModule` object types. All fields are combined with a logical ‘and.’ +""" +input ApiModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `EmbeddingChunk`.""" - chunksTable: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Database` that is related to this `EmbeddingChunk`.""" - database: Database + """Filter by the object’s `apiId` field.""" + apiId: UUIDFilter - """Reads a single `Field` that is related to this `EmbeddingChunk`.""" - embeddingField: Field + """Filter by the object’s `name` field.""" + name: StringFilter - """Reads a single `Field` that is related to this `EmbeddingChunk`.""" - parentFkField: Field + """Checks for all expressions in this list.""" + and: [ApiModuleFilter!] - """Reads a single `Table` that is related to this `EmbeddingChunk`.""" - table: Table -} + """Checks for any expressions in this list.""" + or: [ApiModuleFilter!] -"""A `EmbeddingChunk` edge in the connection.""" -type EmbeddingChunkEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Negates the expression.""" + not: ApiModuleFilter - """The `EmbeddingChunk` at the end of the edge.""" - node: EmbeddingChunk -} + """Filter by the object’s `api` relation.""" + api: ApiFilter -"""Methods to use when ordering `EmbeddingChunk`.""" -enum EmbeddingChunkOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - EMBEDDING_FIELD_ID_ASC - EMBEDDING_FIELD_ID_DESC - CHUNKS_TABLE_ID_ASC - CHUNKS_TABLE_ID_DESC - CHUNKS_TABLE_NAME_ASC - CHUNKS_TABLE_NAME_DESC - CONTENT_FIELD_NAME_ASC - CONTENT_FIELD_NAME_DESC - DIMENSIONS_ASC - DIMENSIONS_DESC - METRIC_ASC - METRIC_DESC - CHUNK_SIZE_ASC - CHUNK_SIZE_DESC - CHUNK_OVERLAP_ASC - CHUNK_OVERLAP_DESC - CHUNK_STRATEGY_ASC - CHUNK_STRATEGY_DESC - METADATA_FIELDS_ASC - METADATA_FIELDS_DESC - ENQUEUE_CHUNKING_JOB_ASC - ENQUEUE_CHUNKING_JOB_DESC - CHUNKING_TASK_NAME_ASC - CHUNKING_TASK_NAME_DESC - PARENT_FK_FIELD_ID_ASC - PARENT_FK_FIELD_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } -"""A connection to a list of `SecureTableProvision` values.""" -type SecureTableProvisionConnection { - """A list of `SecureTableProvision` objects.""" - nodes: [SecureTableProvision]! +""" +A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ +""" +input ApiToManyApiSchemaFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiSchemaFilter - """ - A list of edges which contains the `SecureTableProvision` and cursor to aid in pagination. - """ - edges: [SecureTableProvisionEdge]! + """Filters to entities where every related entity matches.""" + every: ApiSchemaFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where no related entity matches.""" + none: ApiSchemaFilter +} - """ - The count of *all* `SecureTableProvision` you could get from the connection. - """ - totalCount: Int! +""" +A filter to be used against many `Domain` object types. All fields are combined with a logical ‘and.’ +""" +input ApiToManyDomainFilter { + """Filters to entities where at least one related entity matches.""" + some: DomainFilter + + """Filters to entities where every related entity matches.""" + every: DomainFilter + + """Filters to entities where no related entity matches.""" + none: DomainFilter } """ -Provisions security, fields, grants, and policies onto a table. Each row can independently: (1) create fields via nodes[] array (supporting multiple Data* modules per row), (2) grant privileges via grants[] array (supporting per-role privilege targeting), (3) create RLS policies via policies[] array (supporting multiple Authz* policies per row). Multiple rows can target the same table to compose different concerns. All three concerns are optional and independent. +A filter to be used against `Domain` object types. All fields are combined with a logical ‘and.’ """ -type SecureTableProvision { - """Unique identifier for this provision row.""" - id: UUID! +input DomainFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The database this provision belongs to. Required.""" - databaseId: UUID! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - Target schema for the table. Defaults to uuid_nil(); the trigger resolves this to the app_public schema if not explicitly provided. - """ - schemaId: UUID! + """Filter by the object’s `apiId` field.""" + apiId: UUIDFilter - """ - Target table to provision. Defaults to uuid_nil(); the trigger creates or resolves the table via table_name if not explicitly provided. - """ - tableId: UUID! + """Filter by the object’s `siteId` field.""" + siteId: UUIDFilter - """ - Name of the target table. Used to create or look up the table when table_id is not provided. If omitted, it is backfilled from the resolved table. - """ - tableName: String + """Filter by the object’s `subdomain` field.""" + subdomain: ConstructiveInternalTypeHostnameFilter - """ - Array of node objects to apply to the table. Each element is a jsonb object with a required "$type" key (one of: DataId, DataDirectOwner, DataEntityMembership, DataOwnershipInEntity, DataTimestamps, DataPeoplestamps, DataPublishable, DataSoftDelete, DataEmbedding, DataFullTextSearch, DataSlug, etc.) and an optional "data" key containing generator-specific configuration. Supports multiple nodes per row, matching the blueprint definition format. Example: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. Defaults to '[]' (no node processing). - """ - nodes: JSON! + """Filter by the object’s `domain` field.""" + domain: ConstructiveInternalTypeHostnameFilter - """ - If true and Row Level Security is not yet enabled on the target table, enable it. Automatically set to true by the trigger when policies[] is non-empty. Defaults to true. - """ - useRls: Boolean! + """Checks for all expressions in this list.""" + and: [DomainFilter!] - """ - PostgreSQL array of jsonb field definition objects to create on the target table. Each object has keys: "name" (text, required), "type" (text, required), "default" (text, optional), "is_required" (boolean, optional, defaults to false), "min" (float, optional), "max" (float, optional), "regexp" (text, optional), "index" (boolean, optional, defaults to false — creates a btree index on the field). min/max generate CHECK constraints: for text/citext they constrain character_length, for integer/float types they constrain the value. regexp generates a CHECK (col ~ pattern) constraint for text/citext. Fields are created via metaschema.create_field() after any node_type generator runs, and their IDs are appended to out_fields. Example: ARRAY['{"name":"username","type":"citext","max":256,"regexp":"^[a-z0-9_]+$"}'::jsonb, '{"name":"score","type":"integer","min":0,"max":100}'::jsonb]. Defaults to '{}' (no additional fields). - """ - fields: [JSON]! + """Checks for any expressions in this list.""" + or: [DomainFilter!] - """ - Array of grant objects defining table privileges. Each element is a jsonb object with keys: "roles" (text[], required — database roles to grant to, e.g. ["authenticated","admin"]), "privileges" (jsonb[], required — array of [privilege, columns] tuples, e.g. [["select","*"],["insert","*"]]). "*" means all columns; an array means column-level grant. Supports per-role privilege targeting: different grant entries can target different roles with different privileges. Example: [{"roles":["authenticated"],"privileges":[["select","*"]]},{"roles":["admin"],"privileges":[["insert","*"],["update","*"],["delete","*"]]}]. Defaults to '[]' (no grants). When policies[] omit explicit privileges/policy_role, they fall back to the verbs and first role from grants[]. - """ - grants: JSON! + """Negates the expression.""" + not: DomainFilter - """ - Array of policy objects to create on the target table. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type, e.g. AuthzEntityMembership, AuthzMembership, AuthzDirectOwner, AuthzPublishable, AuthzAllowAll), "data" (jsonb, optional — opaque configuration passed to metaschema.create_policy(), structure varies by type), "privileges" (text[], optional — privileges the policy applies to, e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — role the policy targets; if omitted, falls back to first role in first grants[] entry, or 'authenticated' if no grants), "permissive" (boolean, optional — PERMISSIVE or RESTRICTIVE; defaults to true), "policy_name" (text, optional — custom suffix for the generated policy name; if omitted, auto-derived from $type by stripping Authz prefix). Supports multiple policies per row. Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "owner_id", "membership_type": 3}, "privileges": ["select", "insert"]}, {"$type": "AuthzDirectOwner", "data": {"entity_field": "actor_id"}, "privileges": ["update", "delete"]}]. Defaults to '[]' (no policies created). When non-empty, the trigger automatically enables RLS. - """ - policies: JSON! + """Filter by the object’s `api` relation.""" + api: ApiFilter - """ - Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. - """ - outFields: [UUID] + """A related `api` exists.""" + apiExists: Boolean + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `site` relation.""" + site: SiteFilter + """A related `site` exists.""" + siteExists: Boolean +} + +""" +A filter to be used against ConstructiveInternalTypeHostname fields. All fields are combined with a logical ‘and.’ +""" +input ConstructiveInternalTypeHostnameFilter { """ - Reads a single `Database` that is related to this `SecureTableProvision`. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - database: Database + isNull: Boolean + + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeHostname + + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeHostname """ - Reads a single `Schema` that is related to this `SecureTableProvision`. + Not equal to the specified value, treating null like an ordinary value. """ - schema: Schema + distinctFrom: ConstructiveInternalTypeHostname - """Reads a single `Table` that is related to this `SecureTableProvision`.""" - table: Table -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeHostname -"""A `SecureTableProvision` edge in the connection.""" -type SecureTableProvisionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Included in the specified list.""" + in: [ConstructiveInternalTypeHostname!] - """The `SecureTableProvision` at the end of the edge.""" - node: SecureTableProvision -} + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeHostname!] -"""Methods to use when ordering `SecureTableProvision`.""" -enum SecureTableProvisionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - NODES_ASC - NODES_DESC - USE_RLS_ASC - USE_RLS_DESC - FIELDS_ASC - FIELDS_DESC - GRANTS_ASC - GRANTS_DESC - POLICIES_ASC - POLICIES_DESC - OUT_FIELDS_ASC - OUT_FIELDS_DESC -} + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeHostname -"""A connection to a list of `RelationProvision` values.""" -type RelationProvisionConnection { - """A list of `RelationProvision` objects.""" - nodes: [RelationProvision]! + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeHostname - """ - A list of edges which contains the `RelationProvision` and cursor to aid in pagination. - """ - edges: [RelationProvisionEdge]! + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeHostname - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeHostname - """ - The count of *all* `RelationProvision` you could get from the connection. - """ - totalCount: Int! -} + """Contains the specified string (case-sensitive).""" + includes: ConstructiveInternalTypeHostname -""" -Provisions relational structure between tables. Supports four relation types: - - RelationBelongsTo: adds a FK field on the source table referencing the target table (child perspective: "tasks belongs to projects" -> tasks.project_id). - - RelationHasMany: adds a FK field on the target table referencing the source table (parent perspective: "projects has many tasks" -> tasks.project_id). Inverse of BelongsTo. - - RelationHasOne: adds a FK field with a unique constraint on the source table referencing the target table. Also supports shared-primary-key patterns where the FK field IS the primary key (set field_name to the existing PK field name). - - RelationManyToMany: creates a junction table with FK fields to both source and target tables, delegating table creation and security to secure_table_provision. - This is a one-and-done structural provisioner. To layer additional security onto junction tables after creation, use secure_table_provision directly. - All operations are graceful: existing fields, FK constraints, and unique constraints are reused if found. - The trigger never injects values the caller did not provide. All security config is forwarded to secure_table_provision as-is. -""" -type RelationProvision { - """Unique identifier for this relation provision row.""" - id: UUID! + """Does not contain the specified string (case-sensitive).""" + notIncludes: ConstructiveInternalTypeHostname - """ - The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. - """ - databaseId: UUID! + """Contains the specified string (case-insensitive).""" + includesInsensitive: ConstructiveInternalTypeHostname - """ - The type of relation to create. Uses SuperCase naming: - - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. - - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. - - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. - - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). - Each relation type uses a different subset of columns on this table. Required. - """ - relationType: String! + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: ConstructiveInternalTypeHostname - """ - The source table in the relation. Required. - - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). - - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. - - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). - - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. - """ - sourceTableId: UUID! + """Starts with the specified string (case-sensitive).""" + startsWith: ConstructiveInternalTypeHostname - """ - The target table in the relation. Required. - - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). - - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). - - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). - - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. - """ - targetTableId: UUID! + """Does not start with the specified string (case-sensitive).""" + notStartsWith: ConstructiveInternalTypeHostname - """ - FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. - - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). - - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). - For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. - Ignored for RelationManyToMany — use source_field_name/target_field_name instead. - """ - fieldName: String + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: ConstructiveInternalTypeHostname - """ - FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). - """ - deleteAction: String + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: ConstructiveInternalTypeHostname - """ - Whether the FK field is NOT NULL. Defaults to true. - - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). - - RelationHasMany: set to false if the child can exist without a parent. - - RelationHasOne: typically true. - Ignored for RelationManyToMany (junction FK fields are always required). - """ - isRequired: Boolean! + """Ends with the specified string (case-sensitive).""" + endsWith: ConstructiveInternalTypeHostname - """ - Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. - When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. - When is_required is true, api_required is ignored (the field is already required at both levels). - Ignored for RelationManyToMany (junction FK fields are always required). - """ - apiRequired: Boolean! + """Does not end with the specified string (case-sensitive).""" + notEndsWith: ConstructiveInternalTypeHostname - """ - For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). - - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. - - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. - Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionTableId: UUID! + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: ConstructiveInternalTypeHostname - """ - For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionTableName: String + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: ConstructiveInternalTypeHostname """ - For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - junctionSchemaId: UUID + like: ConstructiveInternalTypeHostname """ - For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - sourceFieldName: String + notLike: ConstructiveInternalTypeHostname """ - For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - targetFieldName: String + likeInsensitive: ConstructiveInternalTypeHostname """ - For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. - - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. - - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. - use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. - Ignored for RelationBelongsTo/RelationHasOne. + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - useCompositeKey: Boolean! + notLikeInsensitive: ConstructiveInternalTypeHostname + + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String + + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String """ - Whether to create a btree index on FK fields created by this relation. Defaults to true. - PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). - Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. - - RelationBelongsTo: creates an index on the FK field on the source table. - - RelationHasMany: creates an index on the FK field on the target table. - - RelationHasOne: skipped — the unique constraint already creates an implicit index. - - RelationManyToMany: creates indexes on both FK fields on the junction table. - Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + Not equal to the specified value, treating null like an ordinary value (case-insensitive). """ - createIndex: Boolean! + distinctFromInsensitive: String """ - For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. - When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates - clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). - When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. - Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + Equal to the specified value, treating null like an ordinary value (case-insensitive). """ - exposeInApi: Boolean! + notDistinctFromInsensitive: String - """ - For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. - Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. - Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - nodes: JSON! + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] - """ - For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. - """ - grants: JSON! + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] - """ - For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. - Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. - Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - policies: JSON! + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String - """ - Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. - """ - outFieldId: UUID + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String - """ - Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outJunctionTableId: UUID + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String - """ - Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outSourceFieldId: UUID + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String +} - """ - Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outTargetFieldId: UUID +scalar ConstructiveInternalTypeHostname - """Reads a single `Database` that is related to this `RelationProvision`.""" - database: Database +""" +A filter to be used against `Site` object types. All fields are combined with a logical ‘and.’ +""" +input SiteFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `RelationProvision`.""" - sourceTable: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `RelationProvision`.""" - targetTable: Table -} + """Filter by the object’s `title` field.""" + title: StringFilter -"""A `RelationProvision` edge in the connection.""" -type RelationProvisionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `description` field.""" + description: StringFilter - """The `RelationProvision` at the end of the edge.""" - node: RelationProvision -} + """Filter by the object’s `ogImage` field.""" + ogImage: ConstructiveInternalTypeImageFilter -"""Methods to use when ordering `RelationProvision`.""" -enum RelationProvisionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - RELATION_TYPE_ASC - RELATION_TYPE_DESC - SOURCE_TABLE_ID_ASC - SOURCE_TABLE_ID_DESC - TARGET_TABLE_ID_ASC - TARGET_TABLE_ID_DESC - FIELD_NAME_ASC - FIELD_NAME_DESC - DELETE_ACTION_ASC - DELETE_ACTION_DESC - IS_REQUIRED_ASC - IS_REQUIRED_DESC - API_REQUIRED_ASC - API_REQUIRED_DESC - JUNCTION_TABLE_ID_ASC - JUNCTION_TABLE_ID_DESC - JUNCTION_TABLE_NAME_ASC - JUNCTION_TABLE_NAME_DESC - JUNCTION_SCHEMA_ID_ASC - JUNCTION_SCHEMA_ID_DESC - SOURCE_FIELD_NAME_ASC - SOURCE_FIELD_NAME_DESC - TARGET_FIELD_NAME_ASC - TARGET_FIELD_NAME_DESC - USE_COMPOSITE_KEY_ASC - USE_COMPOSITE_KEY_DESC - CREATE_INDEX_ASC - CREATE_INDEX_DESC - EXPOSE_IN_API_ASC - EXPOSE_IN_API_DESC - NODES_ASC - NODES_DESC - GRANTS_ASC - GRANTS_DESC - POLICIES_ASC - POLICIES_DESC - OUT_FIELD_ID_ASC - OUT_FIELD_ID_DESC - OUT_JUNCTION_TABLE_ID_ASC - OUT_JUNCTION_TABLE_ID_DESC - OUT_SOURCE_FIELD_ID_ASC - OUT_SOURCE_FIELD_ID_DESC - OUT_TARGET_FIELD_ID_ASC - OUT_TARGET_FIELD_ID_DESC -} + """Filter by the object’s `favicon` field.""" + favicon: ConstructiveInternalTypeAttachmentFilter -"""A connection to a list of `SessionSecretsModule` values.""" -type SessionSecretsModuleConnection { - """A list of `SessionSecretsModule` objects.""" - nodes: [SessionSecretsModule]! + """Filter by the object’s `appleTouchIcon` field.""" + appleTouchIcon: ConstructiveInternalTypeImageFilter - """ - A list of edges which contains the `SessionSecretsModule` and cursor to aid in pagination. - """ - edges: [SessionSecretsModuleEdge]! + """Filter by the object’s `logo` field.""" + logo: ConstructiveInternalTypeImageFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `dbname` field.""" + dbname: StringFilter - """ - The count of *all* `SessionSecretsModule` you could get from the connection. - """ - totalCount: Int! -} + """Checks for all expressions in this list.""" + and: [SiteFilter!] -""" -Config row for the session_secrets_module, which provisions a DB-private, session-scoped ephemeral key-value store for challenges, nonces, and one-time tokens that must never be readable by end users. -""" -type SessionSecretsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - tableId: UUID! - tableName: String! + """Checks for any expressions in this list.""" + or: [SiteFilter!] - """ - Resolved reference to sessions_module.sessions_table, used to FK session_secrets.session_id with ON DELETE CASCADE. - """ - sessionsTableId: UUID! + """Negates the expression.""" + not: SiteFilter - """ - Reads a single `Database` that is related to this `SessionSecretsModule`. - """ - database: Database + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - Reads a single `Schema` that is related to this `SessionSecretsModule`. - """ - schema: Schema + """Filter by the object’s `app` relation.""" + app: AppFilter - """Reads a single `Table` that is related to this `SessionSecretsModule`.""" - sessionsTable: Table + """A related `app` exists.""" + appExists: Boolean - """Reads a single `Table` that is related to this `SessionSecretsModule`.""" - table: Table -} + """Filter by the object’s `domains` relation.""" + domains: SiteToManyDomainFilter -"""A `SessionSecretsModule` edge in the connection.""" -type SessionSecretsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """`domains` exist.""" + domainsExist: Boolean - """The `SessionSecretsModule` at the end of the edge.""" - node: SessionSecretsModule -} + """Filter by the object’s `siteMetadata` relation.""" + siteMetadata: SiteToManySiteMetadatumFilter -"""Methods to use when ordering `SessionSecretsModule`.""" -enum SessionSecretsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - SESSIONS_TABLE_ID_ASC - SESSIONS_TABLE_ID_DESC -} + """`siteMetadata` exist.""" + siteMetadataExist: Boolean -"""A connection to a list of `IdentityProvidersModule` values.""" -type IdentityProvidersModuleConnection { - """A list of `IdentityProvidersModule` objects.""" - nodes: [IdentityProvidersModule]! + """Filter by the object’s `siteModules` relation.""" + siteModules: SiteToManySiteModuleFilter - """ - A list of edges which contains the `IdentityProvidersModule` and cursor to aid in pagination. - """ - edges: [IdentityProvidersModuleEdge]! + """`siteModules` exist.""" + siteModulesExist: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `siteThemes` relation.""" + siteThemes: SiteToManySiteThemeFilter - """ - The count of *all* `IdentityProvidersModule` you could get from the connection. - """ - totalCount: Int! + """`siteThemes` exist.""" + siteThemesExist: Boolean } """ -Config row for the identity_providers_module, which provisions a per-database identity_providers config table holding OAuth2 / OIDC (and future SAML) provider definitions: protocol kind, endpoint URLs, encrypted client secret, scopes, audience validation, PKCE, and email-handling flags. Built-in providers (google, github, apple, ...) are seeded as is_built_in=true rows; custom providers use slugs of the form custom:. +A filter to be used against ConstructiveInternalTypeAttachment fields. All fields are combined with a logical ‘and.’ """ -type IdentityProvidersModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - +input ConstructiveInternalTypeAttachmentFilter { """ - Private schema that hosts SECURITY DEFINER admin helpers which write to identity_providers (create / update / enable / disable / rotate-secret / delete) and the per-app quota check. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - privateSchemaId: UUID! - tableId: UUID! - tableName: String! + isNull: Boolean - """ - Reads a single `Database` that is related to this `IdentityProvidersModule`. - """ - database: Database + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeAttachment - """ - Reads a single `Schema` that is related to this `IdentityProvidersModule`. - """ - privateSchema: Schema + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeAttachment """ - Reads a single `Schema` that is related to this `IdentityProvidersModule`. + Not equal to the specified value, treating null like an ordinary value. """ - schema: Schema + distinctFrom: ConstructiveInternalTypeAttachment - """ - Reads a single `Table` that is related to this `IdentityProvidersModule`. - """ - table: Table -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeAttachment -"""A `IdentityProvidersModule` edge in the connection.""" -type IdentityProvidersModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Included in the specified list.""" + in: [ConstructiveInternalTypeAttachment!] - """The `IdentityProvidersModule` at the end of the edge.""" - node: IdentityProvidersModule -} + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeAttachment!] -"""Methods to use when ordering `IdentityProvidersModule`.""" -enum IdentityProvidersModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeAttachment -"""A `Table` edge in the connection.""" -type TableEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeAttachment - """The `Table` at the end of the edge.""" - node: Table -} + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeAttachment -"""Methods to use when ordering `Table`.""" -enum TableOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - NAME_ASC - NAME_DESC - LABEL_ASC - LABEL_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - USE_RLS_ASC - USE_RLS_DESC - TIMESTAMPS_ASC - TIMESTAMPS_DESC - PEOPLESTAMPS_ASC - PEOPLESTAMPS_DESC - PLURAL_NAME_ASC - PLURAL_NAME_DESC - SINGULAR_NAME_ASC - SINGULAR_NAME_DESC - TAGS_ASC - TAGS_DESC - INHERITS_ID_ASC - INHERITS_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeAttachment -"""A connection to a list of `SchemaGrant` values.""" -type SchemaGrantConnection { - """A list of `SchemaGrant` objects.""" - nodes: [SchemaGrant]! + """Contains the specified string (case-sensitive).""" + includes: ConstructiveInternalTypeAttachment - """ - A list of edges which contains the `SchemaGrant` and cursor to aid in pagination. - """ - edges: [SchemaGrantEdge]! + """Does not contain the specified string (case-sensitive).""" + notIncludes: ConstructiveInternalTypeAttachment - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Contains the specified string (case-insensitive).""" + includesInsensitive: ConstructiveInternalTypeAttachment - """The count of *all* `SchemaGrant` you could get from the connection.""" - totalCount: Int! -} + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: ConstructiveInternalTypeAttachment -type SchemaGrant { - id: UUID! - databaseId: UUID! - schemaId: UUID! - granteeName: String! - createdAt: Datetime - updatedAt: Datetime + """Starts with the specified string (case-sensitive).""" + startsWith: ConstructiveInternalTypeAttachment - """Reads a single `Database` that is related to this `SchemaGrant`.""" - database: Database + """Does not start with the specified string (case-sensitive).""" + notStartsWith: ConstructiveInternalTypeAttachment - """Reads a single `Schema` that is related to this `SchemaGrant`.""" - schema: Schema -} + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: ConstructiveInternalTypeAttachment -"""A `SchemaGrant` edge in the connection.""" -type SchemaGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: ConstructiveInternalTypeAttachment - """The `SchemaGrant` at the end of the edge.""" - node: SchemaGrant -} + """Ends with the specified string (case-sensitive).""" + endsWith: ConstructiveInternalTypeAttachment -"""Methods to use when ordering `SchemaGrant`.""" -enum SchemaGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - GRANTEE_NAME_ASC - GRANTEE_NAME_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Does not end with the specified string (case-sensitive).""" + notEndsWith: ConstructiveInternalTypeAttachment -"""A connection to a list of `DefaultPrivilege` values.""" -type DefaultPrivilegeConnection { - """A list of `DefaultPrivilege` objects.""" - nodes: [DefaultPrivilege]! + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: ConstructiveInternalTypeAttachment + + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: ConstructiveInternalTypeAttachment """ - A list of edges which contains the `DefaultPrivilege` and cursor to aid in pagination. + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - edges: [DefaultPrivilegeEdge]! + like: ConstructiveInternalTypeAttachment - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: ConstructiveInternalTypeAttachment """ - The count of *all* `DefaultPrivilege` you could get from the connection. + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. """ - totalCount: Int! -} + likeInsensitive: ConstructiveInternalTypeAttachment -type DefaultPrivilege { - id: UUID! - databaseId: UUID! - schemaId: UUID! - objectType: String! - privilege: String! - granteeName: String! - isGrant: Boolean! + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: ConstructiveInternalTypeAttachment - """Reads a single `Database` that is related to this `DefaultPrivilege`.""" - database: Database + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String - """Reads a single `Schema` that is related to this `DefaultPrivilege`.""" - schema: Schema -} + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String -"""A `DefaultPrivilege` edge in the connection.""" -type DefaultPrivilegeEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """ + Not equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + distinctFromInsensitive: String - """The `DefaultPrivilege` at the end of the edge.""" - node: DefaultPrivilege -} + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: String -"""Methods to use when ordering `DefaultPrivilege`.""" -enum DefaultPrivilegeOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - OBJECT_TYPE_ASC - OBJECT_TYPE_DESC - PRIVILEGE_ASC - PRIVILEGE_DESC - GRANTEE_NAME_ASC - GRANTEE_NAME_DESC - IS_GRANT_ASC - IS_GRANT_DESC -} - -"""A connection to a list of `Enum` values.""" -type EnumConnection { - """A list of `Enum` objects.""" - nodes: [Enum]! - - """ - A list of edges which contains the `Enum` and cursor to aid in pagination. - """ - edges: [EnumEdge]! + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] - """The count of *all* `Enum` you could get from the connection.""" - totalCount: Int! -} + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String -type Enum { - id: UUID! - databaseId: UUID! - schemaId: UUID! - name: String! - label: String - description: String - values: [String]! - smartTags: JSON - category: ObjectCategory! - module: String - scope: Int - tags: [String]! + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String - """Reads a single `Database` that is related to this `Enum`.""" - database: Database + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String - """Reads a single `Schema` that is related to this `Enum`.""" - schema: Schema + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String } -"""A `Enum` edge in the connection.""" -type EnumEdge { - """A cursor for use in pagination.""" - cursor: Cursor +scalar ConstructiveInternalTypeAttachment - """The `Enum` at the end of the edge.""" - node: Enum -} +""" +A filter to be used against `App` object types. All fields are combined with a logical ‘and.’ +""" +input AppFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""Methods to use when ordering `Enum`.""" -enum EnumOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - NAME_ASC - NAME_DESC - LABEL_ASC - LABEL_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - VALUES_ASC - VALUES_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC -} + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter -"""A connection to a list of `ApiSchema` values.""" -type ApiSchemaConnection { - """A list of `ApiSchema` objects.""" - nodes: [ApiSchema]! + """Filter by the object’s `siteId` field.""" + siteId: UUIDFilter - """ - A list of edges which contains the `ApiSchema` and cursor to aid in pagination. - """ - edges: [ApiSchemaEdge]! + """Filter by the object’s `name` field.""" + name: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `appImage` field.""" + appImage: ConstructiveInternalTypeImageFilter - """The count of *all* `ApiSchema` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `appStoreLink` field.""" + appStoreLink: ConstructiveInternalTypeUrlFilter -""" -Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API -""" -type ApiSchema { - """Unique identifier for this API-schema mapping""" - id: UUID! + """Filter by the object’s `appStoreId` field.""" + appStoreId: StringFilter - """Reference to the metaschema database""" - databaseId: UUID! + """Filter by the object’s `appIdPrefix` field.""" + appIdPrefix: StringFilter - """Metaschema schema being exposed through the API""" - schemaId: UUID! + """Filter by the object’s `playStoreLink` field.""" + playStoreLink: ConstructiveInternalTypeUrlFilter - """API that exposes this schema""" - apiId: UUID! + """Checks for all expressions in this list.""" + and: [AppFilter!] - """Reads a single `Api` that is related to this `ApiSchema`.""" - api: Api + """Checks for any expressions in this list.""" + or: [AppFilter!] - """Reads a single `Database` that is related to this `ApiSchema`.""" - database: Database + """Negates the expression.""" + not: AppFilter - """Reads a single `Schema` that is related to this `ApiSchema`.""" - schema: Schema + """Filter by the object’s `site` relation.""" + site: SiteFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } """ -API endpoint configurations: each record defines a PostGraphile/PostgREST API with its database role and public access settings +A filter to be used against ConstructiveInternalTypeUrl fields. All fields are combined with a logical ‘and.’ """ -type Api { - """Unique identifier for this API""" - id: UUID! - - """Reference to the metaschema database this API serves""" - databaseId: UUID! +input ConstructiveInternalTypeUrlFilter { + """ + Is null (if `true` is specified) or is not null (if `false` is specified). + """ + isNull: Boolean - """Unique name for this API within its database""" - name: String! + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeUrl - """PostgreSQL database name to connect to""" - dbname: String! + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeUrl - """PostgreSQL role used for authenticated requests""" - roleName: String! + """ + Not equal to the specified value, treating null like an ordinary value. + """ + distinctFrom: ConstructiveInternalTypeUrl - """PostgreSQL role used for anonymous/unauthenticated requests""" - anonRole: String! + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeUrl - """Whether this API is publicly accessible without authentication""" - isPublic: Boolean! + """Included in the specified list.""" + in: [ConstructiveInternalTypeUrl!] - """Reads a single `Database` that is related to this `Api`.""" - database: Database + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeUrl!] - """Reads and enables pagination through a set of `ApiModule`.""" - apiModules( - """Only read the first `n` values of the set.""" - first: Int + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeUrl - """Only read the last `n` values of the set.""" - last: Int + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeUrl - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeUrl - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeUrl - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Contains the specified string (case-sensitive).""" + includes: ConstructiveInternalTypeUrl - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ApiModuleFilter + """Does not contain the specified string (case-sensitive).""" + notIncludes: ConstructiveInternalTypeUrl - """The method to use when ordering `ApiModule`.""" - orderBy: [ApiModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiModuleConnection! + """Contains the specified string (case-insensitive).""" + includesInsensitive: ConstructiveInternalTypeUrl - """Reads and enables pagination through a set of `ApiSchema`.""" - apiSchemas( - """Only read the first `n` values of the set.""" - first: Int + """Does not contain the specified string (case-insensitive).""" + notIncludesInsensitive: ConstructiveInternalTypeUrl - """Only read the last `n` values of the set.""" - last: Int + """Starts with the specified string (case-sensitive).""" + startsWith: ConstructiveInternalTypeUrl - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Does not start with the specified string (case-sensitive).""" + notStartsWith: ConstructiveInternalTypeUrl - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Starts with the specified string (case-insensitive).""" + startsWithInsensitive: ConstructiveInternalTypeUrl - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Does not start with the specified string (case-insensitive).""" + notStartsWithInsensitive: ConstructiveInternalTypeUrl - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ApiSchemaFilter + """Ends with the specified string (case-sensitive).""" + endsWith: ConstructiveInternalTypeUrl - """The method to use when ordering `ApiSchema`.""" - orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiSchemaConnection! + """Does not end with the specified string (case-sensitive).""" + notEndsWith: ConstructiveInternalTypeUrl - """Reads and enables pagination through a set of `Domain`.""" - domains( - """Only read the first `n` values of the set.""" - first: Int + """Ends with the specified string (case-insensitive).""" + endsWithInsensitive: ConstructiveInternalTypeUrl - """Only read the last `n` values of the set.""" - last: Int + """Does not end with the specified string (case-insensitive).""" + notEndsWithInsensitive: ConstructiveInternalTypeUrl - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + like: ConstructiveInternalTypeUrl - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLike: ConstructiveInternalTypeUrl - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + likeInsensitive: ConstructiveInternalTypeUrl - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DomainFilter + """ + Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. + """ + notLikeInsensitive: ConstructiveInternalTypeUrl - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] - ): DomainConnection! -} + """Equal to the specified value (case-insensitive).""" + equalToInsensitive: String -"""A connection to a list of `ApiModule` values.""" -type ApiModuleConnection { - """A list of `ApiModule` objects.""" - nodes: [ApiModule]! + """Not equal to the specified value (case-insensitive).""" + notEqualToInsensitive: String """ - A list of edges which contains the `ApiModule` and cursor to aid in pagination. + Not equal to the specified value, treating null like an ordinary value (case-insensitive). """ - edges: [ApiModuleEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `ApiModule` you could get from the connection.""" - totalCount: Int! -} + distinctFromInsensitive: String -""" -Server-side module configuration for an API endpoint; stores module name and JSON settings used by the application server -""" -type ApiModule { - """Unique identifier for this API module record""" - id: UUID! + """ + Equal to the specified value, treating null like an ordinary value (case-insensitive). + """ + notDistinctFromInsensitive: String - """Reference to the metaschema database""" - databaseId: UUID! + """Included in the specified list (case-insensitive).""" + inInsensitive: [String!] - """API this module configuration belongs to""" - apiId: UUID! + """Not included in the specified list (case-insensitive).""" + notInInsensitive: [String!] - """Module name (e.g. auth, uploads, webhooks)""" - name: String! + """Less than the specified value (case-insensitive).""" + lessThanInsensitive: String - """JSON configuration data for this module""" - data: JSON! + """Less than or equal to the specified value (case-insensitive).""" + lessThanOrEqualToInsensitive: String - """Reads a single `Api` that is related to this `ApiModule`.""" - api: Api + """Greater than the specified value (case-insensitive).""" + greaterThanInsensitive: String - """Reads a single `Database` that is related to this `ApiModule`.""" - database: Database + """Greater than or equal to the specified value (case-insensitive).""" + greaterThanOrEqualToInsensitive: String } -"""A `ApiModule` edge in the connection.""" -type ApiModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +scalar ConstructiveInternalTypeUrl - """The `ApiModule` at the end of the edge.""" - node: ApiModule -} +""" +A filter to be used against many `Domain` object types. All fields are combined with a logical ‘and.’ +""" +input SiteToManyDomainFilter { + """Filters to entities where at least one related entity matches.""" + some: DomainFilter -"""Methods to use when ordering `ApiModule`.""" -enum ApiModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - API_ID_ASC - API_ID_DESC - NAME_ASC - NAME_DESC - DATA_ASC - DATA_DESC -} + """Filters to entities where every related entity matches.""" + every: DomainFilter -"""Methods to use when ordering `ApiSchema`.""" -enum ApiSchemaOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - API_ID_ASC - API_ID_DESC + """Filters to entities where no related entity matches.""" + none: DomainFilter } -"""A connection to a list of `Domain` values.""" -type DomainConnection { - """A list of `Domain` objects.""" - nodes: [Domain]! - - """ - A list of edges which contains the `Domain` and cursor to aid in pagination. - """ - edges: [DomainEdge]! +""" +A filter to be used against many `SiteMetadatum` object types. All fields are combined with a logical ‘and.’ +""" +input SiteToManySiteMetadatumFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteMetadatumFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: SiteMetadatumFilter - """The count of *all* `Domain` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: SiteMetadatumFilter } """ -DNS domain and subdomain routing: maps hostnames to either an API endpoint or a site +A filter to be used against `SiteMetadatum` object types. All fields are combined with a logical ‘and.’ """ -type Domain { - """Unique identifier for this domain record""" - id: UUID! +input SiteMetadatumFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reference to the metaschema database this domain belongs to""" - databaseId: UUID! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """API endpoint this domain routes to (mutually exclusive with site_id)""" - apiId: UUID + """Filter by the object’s `siteId` field.""" + siteId: UUIDFilter - """Site this domain routes to (mutually exclusive with api_id)""" - siteId: UUID + """Filter by the object’s `title` field.""" + title: StringFilter - """Subdomain portion of the hostname""" - subdomain: ConstructiveInternalTypeHostname + """Filter by the object’s `description` field.""" + description: StringFilter - """Root domain of the hostname""" - domain: ConstructiveInternalTypeHostname + """Filter by the object’s `ogImage` field.""" + ogImage: ConstructiveInternalTypeImageFilter - """Reads a single `Api` that is related to this `Domain`.""" - api: Api + """Checks for all expressions in this list.""" + and: [SiteMetadatumFilter!] - """Reads a single `Database` that is related to this `Domain`.""" - database: Database + """Checks for any expressions in this list.""" + or: [SiteMetadatumFilter!] - """Reads a single `Site` that is related to this `Domain`.""" - site: Site + """Negates the expression.""" + not: SiteMetadatumFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `site` relation.""" + site: SiteFilter } """ -Top-level site configuration: branding assets, title, and description for a deployed application +A filter to be used against many `SiteModule` object types. All fields are combined with a logical ‘and.’ """ -type Site { - """Unique identifier for this site""" - id: UUID! +input SiteToManySiteModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteModuleFilter - """Reference to the metaschema database this site belongs to""" - databaseId: UUID! + """Filters to entities where every related entity matches.""" + every: SiteModuleFilter - """Display title for the site (max 120 characters)""" - title: String + """Filters to entities where no related entity matches.""" + none: SiteModuleFilter +} - """Short description of the site (max 120 characters)""" - description: String +""" +A filter to be used against `SiteModule` object types. All fields are combined with a logical ‘and.’ +""" +input SiteModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Open Graph image used for social media link previews""" - ogImage: ConstructiveInternalTypeImage + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Browser favicon attachment""" - favicon: ConstructiveInternalTypeAttachment + """Filter by the object’s `siteId` field.""" + siteId: UUIDFilter - """Apple touch icon for iOS home screen bookmarks""" - appleTouchIcon: ConstructiveInternalTypeImage + """Filter by the object’s `name` field.""" + name: StringFilter - """Primary logo image for the site""" - logo: ConstructiveInternalTypeImage + """Checks for all expressions in this list.""" + and: [SiteModuleFilter!] - """PostgreSQL database name this site connects to""" - dbname: String! + """Checks for any expressions in this list.""" + or: [SiteModuleFilter!] - """Reads a single `Database` that is related to this `Site`.""" - database: Database + """Negates the expression.""" + not: SiteModuleFilter - """Reads a single `App` that is related to this `Site`.""" - app: App + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads and enables pagination through a set of `Domain`.""" - domains( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `site` relation.""" + site: SiteFilter +} - """Only read the last `n` values of the set.""" - last: Int +""" +A filter to be used against many `SiteTheme` object types. All fields are combined with a logical ‘and.’ +""" +input SiteToManySiteThemeFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteThemeFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filters to entities where every related entity matches.""" + every: SiteThemeFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filters to entities where no related entity matches.""" + none: SiteThemeFilter +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +A filter to be used against `SiteTheme` object types. All fields are combined with a logical ‘and.’ +""" +input SiteThemeFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DomainFilter + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] - ): DomainConnection! + """Filter by the object’s `siteId` field.""" + siteId: UUIDFilter - """Reads and enables pagination through a set of `SiteMetadatum`.""" - siteMetadata( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `theme` field.""" + theme: JSONFilter - """Only read the last `n` values of the set.""" - last: Int + """Checks for all expressions in this list.""" + and: [SiteThemeFilter!] - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Checks for any expressions in this list.""" + or: [SiteThemeFilter!] - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Negates the expression.""" + not: SiteThemeFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteMetadatumFilter + """Filter by the object’s `site` relation.""" + site: SiteFilter +} - """The method to use when ordering `SiteMetadatum`.""" - orderBy: [SiteMetadatumOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteMetadatumConnection! +""" +A filter to be used against `ApiSetting` object types. All fields are combined with a logical ‘and.’ +""" +input ApiSettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads and enables pagination through a set of `SiteModule`.""" - siteModules( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `apiId` field.""" + apiId: UUIDFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filter by the object’s `enableAggregates` field.""" + enableAggregates: BooleanFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `enablePostgis` field.""" + enablePostgis: BooleanFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `enableSearch` field.""" + enableSearch: BooleanFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteModuleFilter + """Filter by the object’s `enableDirectUploads` field.""" + enableDirectUploads: BooleanFilter - """The method to use when ordering `SiteModule`.""" - orderBy: [SiteModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteModuleConnection! + """Filter by the object’s `enablePresignedUploads` field.""" + enablePresignedUploads: BooleanFilter - """Reads and enables pagination through a set of `SiteTheme`.""" - siteThemes( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `enableManyToMany` field.""" + enableManyToMany: BooleanFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `enableConnectionFilter` field.""" + enableConnectionFilter: BooleanFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filter by the object’s `enableLtree` field.""" + enableLtree: BooleanFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `enableLlm` field.""" + enableLlm: BooleanFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `options` field.""" + options: JSONFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteThemeFilter + """Checks for all expressions in this list.""" + and: [ApiSettingFilter!] - """The method to use when ordering `SiteTheme`.""" - orderBy: [SiteThemeOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteThemeConnection! + """Checks for any expressions in this list.""" + or: [ApiSettingFilter!] + + """Negates the expression.""" + not: ApiSettingFilter + + """Filter by the object’s `api` relation.""" + api: ApiFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } """ -Mobile and native app configuration linked to a site, including store links and identifiers +A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ """ -type App { - """Unique identifier for this app""" - id: UUID! +input ApiToManyCorsSettingFilter { + """Filters to entities where at least one related entity matches.""" + some: CorsSettingFilter - """Reference to the metaschema database this app belongs to""" - databaseId: UUID! + """Filters to entities where every related entity matches.""" + every: CorsSettingFilter - """Site this app is associated with (one app per site)""" - siteId: UUID! + """Filters to entities where no related entity matches.""" + none: CorsSettingFilter +} - """Display name of the app""" - name: String +""" +A filter to be used against `CorsSetting` object types. All fields are combined with a logical ‘and.’ +""" +input CorsSettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """App icon or promotional image""" - appImage: ConstructiveInternalTypeImage + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """URL to the Apple App Store listing""" - appStoreLink: ConstructiveInternalTypeUrl + """Filter by the object’s `apiId` field.""" + apiId: UUIDFilter - """Apple App Store application identifier""" - appStoreId: String + """Filter by the object’s `allowedOrigins` field.""" + allowedOrigins: StringListFilter - """ - Apple App ID prefix (Team ID) for universal links and associated domains - """ - appIdPrefix: String + """Checks for all expressions in this list.""" + and: [CorsSettingFilter!] - """URL to the Google Play Store listing""" - playStoreLink: ConstructiveInternalTypeUrl + """Checks for any expressions in this list.""" + or: [CorsSettingFilter!] - """Reads a single `Site` that is related to this `App`.""" - site: Site + """Negates the expression.""" + not: CorsSettingFilter - """Reads a single `Database` that is related to this `App`.""" - database: Database -} + """Filter by the object’s `api` relation.""" + api: ApiFilter -"""Methods to use when ordering `Domain`.""" -enum DomainOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - API_ID_ASC - API_ID_DESC - SITE_ID_ASC - SITE_ID_DESC - SUBDOMAIN_ASC - SUBDOMAIN_DESC - DOMAIN_ASC - DOMAIN_DESC -} + """A related `api` exists.""" + apiExists: Boolean -"""A connection to a list of `SiteMetadatum` values.""" -type SiteMetadatumConnection { - """A list of `SiteMetadatum` objects.""" - nodes: [SiteMetadatum]! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter +} - """ - A list of edges which contains the `SiteMetadatum` and cursor to aid in pagination. - """ - edges: [SiteMetadatumEdge]! +""" +A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input SchemaToManySessionSecretsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SessionSecretsModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: SessionSecretsModuleFilter - """The count of *all* `SiteMetadatum` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: SessionSecretsModuleFilter } """ -SEO and social sharing metadata for a site: page title, description, and Open Graph image +A filter to be used against many `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ """ -type SiteMetadatum { - """Unique identifier for this metadata record""" - id: UUID! +input SchemaToManyIdentityProvidersModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: IdentityProvidersModuleFilter - """Reference to the metaschema database""" - databaseId: UUID! + """Filters to entities where every related entity matches.""" + every: IdentityProvidersModuleFilter - """Site this metadata belongs to""" - siteId: UUID! + """Filters to entities where no related entity matches.""" + none: IdentityProvidersModuleFilter +} - """Page title for SEO (max 120 characters)""" - title: String +""" +A filter to be used against many `Table` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyTableFilter { + """Filters to entities where at least one related entity matches.""" + some: TableFilter - """Meta description for SEO and social sharing (max 120 characters)""" - description: String + """Filters to entities where every related entity matches.""" + every: TableFilter - """Open Graph image for social media previews""" - ogImage: ConstructiveInternalTypeImage + """Filters to entities where no related entity matches.""" + none: TableFilter +} - """Reads a single `Database` that is related to this `SiteMetadatum`.""" - database: Database +""" +A filter to be used against many `CheckConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyCheckConstraintFilter { + """Filters to entities where at least one related entity matches.""" + some: CheckConstraintFilter - """Reads a single `Site` that is related to this `SiteMetadatum`.""" - site: Site + """Filters to entities where every related entity matches.""" + every: CheckConstraintFilter + + """Filters to entities where no related entity matches.""" + none: CheckConstraintFilter } -"""A `SiteMetadatum` edge in the connection.""" -type SiteMetadatumEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `Field` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyFieldFilter { + """Filters to entities where at least one related entity matches.""" + some: FieldFilter - """The `SiteMetadatum` at the end of the edge.""" - node: SiteMetadatum -} + """Filters to entities where every related entity matches.""" + every: FieldFilter -"""Methods to use when ordering `SiteMetadatum`.""" -enum SiteMetadatumOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SITE_ID_ASC - SITE_ID_DESC - TITLE_ASC - TITLE_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - OG_IMAGE_ASC - OG_IMAGE_DESC + """Filters to entities where no related entity matches.""" + none: FieldFilter } -"""A connection to a list of `SiteModule` values.""" -type SiteModuleConnection { - """A list of `SiteModule` objects.""" - nodes: [SiteModule]! - - """ - A list of edges which contains the `SiteModule` and cursor to aid in pagination. - """ - edges: [SiteModuleEdge]! +""" +A filter to be used against many `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyForeignKeyConstraintFilter { + """Filters to entities where at least one related entity matches.""" + some: ForeignKeyConstraintFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: ForeignKeyConstraintFilter - """The count of *all* `SiteModule` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: ForeignKeyConstraintFilter } """ -Site-level module configuration; stores module name and JSON settings used by the frontend or server for each site +A filter to be used against many `FullTextSearch` object types. All fields are combined with a logical ‘and.’ """ -type SiteModule { - """Unique identifier for this site module record""" - id: UUID! - - """Reference to the metaschema database""" - databaseId: UUID! +input DatabaseToManyFullTextSearchFilter { + """Filters to entities where at least one related entity matches.""" + some: FullTextSearchFilter - """Site this module configuration belongs to""" - siteId: UUID! + """Filters to entities where every related entity matches.""" + every: FullTextSearchFilter - """Module name (e.g. user_auth_module, analytics)""" - name: String! + """Filters to entities where no related entity matches.""" + none: FullTextSearchFilter +} - """JSON configuration data for this module""" - data: JSON! +""" +A filter to be used against many `Index` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyIndexFilter { + """Filters to entities where at least one related entity matches.""" + some: IndexFilter - """Reads a single `Database` that is related to this `SiteModule`.""" - database: Database + """Filters to entities where every related entity matches.""" + every: IndexFilter - """Reads a single `Site` that is related to this `SiteModule`.""" - site: Site + """Filters to entities where no related entity matches.""" + none: IndexFilter } -"""A `SiteModule` edge in the connection.""" -type SiteModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `Policy` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyPolicyFilter { + """Filters to entities where at least one related entity matches.""" + some: PolicyFilter - """The `SiteModule` at the end of the edge.""" - node: SiteModule -} + """Filters to entities where every related entity matches.""" + every: PolicyFilter -"""Methods to use when ordering `SiteModule`.""" -enum SiteModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SITE_ID_ASC - SITE_ID_DESC - NAME_ASC - NAME_DESC - DATA_ASC - DATA_DESC + """Filters to entities where no related entity matches.""" + none: PolicyFilter } -"""A connection to a list of `SiteTheme` values.""" -type SiteThemeConnection { - """A list of `SiteTheme` objects.""" - nodes: [SiteTheme]! - - """ - A list of edges which contains the `SiteTheme` and cursor to aid in pagination. - """ - edges: [SiteThemeEdge]! +""" +A filter to be used against many `PrimaryKeyConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyPrimaryKeyConstraintFilter { + """Filters to entities where at least one related entity matches.""" + some: PrimaryKeyConstraintFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: PrimaryKeyConstraintFilter - """The count of *all* `SiteTheme` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: PrimaryKeyConstraintFilter } """ -Theme configuration for a site; stores design tokens, colors, and typography as JSONB +A filter to be used against many `SchemaGrant` object types. All fields are combined with a logical ‘and.’ """ -type SiteTheme { - """Unique identifier for this theme record""" - id: UUID! +input DatabaseToManySchemaGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: SchemaGrantFilter - """Reference to the metaschema database""" - databaseId: UUID! + """Filters to entities where every related entity matches.""" + every: SchemaGrantFilter - """Site this theme belongs to""" - siteId: UUID! + """Filters to entities where no related entity matches.""" + none: SchemaGrantFilter +} - """ - JSONB object containing theme tokens (colors, typography, spacing, etc.) - """ - theme: JSON! +""" +A filter to be used against many `TableGrant` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyTableGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: TableGrantFilter - """Reads a single `Database` that is related to this `SiteTheme`.""" - database: Database + """Filters to entities where every related entity matches.""" + every: TableGrantFilter - """Reads a single `Site` that is related to this `SiteTheme`.""" - site: Site + """Filters to entities where no related entity matches.""" + none: TableGrantFilter } -"""A `SiteTheme` edge in the connection.""" -type SiteThemeEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `TriggerFunction` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyTriggerFunctionFilter { + """Filters to entities where at least one related entity matches.""" + some: TriggerFunctionFilter - """The `SiteTheme` at the end of the edge.""" - node: SiteTheme + """Filters to entities where every related entity matches.""" + every: TriggerFunctionFilter + + """Filters to entities where no related entity matches.""" + none: TriggerFunctionFilter } -"""Methods to use when ordering `SiteTheme`.""" -enum SiteThemeOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SITE_ID_ASC - SITE_ID_DESC - THEME_ASC - THEME_DESC -} - -"""A `Domain` edge in the connection.""" -type DomainEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `Domain` at the end of the edge.""" - node: Domain -} +""" +A filter to be used against `TriggerFunction` object types. All fields are combined with a logical ‘and.’ +""" +input TriggerFunctionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""A `ApiSchema` edge in the connection.""" -type ApiSchemaEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """The `ApiSchema` at the end of the edge.""" - node: ApiSchema -} + """Filter by the object’s `name` field.""" + name: StringFilter -"""A `Schema` edge in the connection.""" -type SchemaEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `code` field.""" + code: StringFilter - """The `Schema` at the end of the edge.""" - node: Schema -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""Methods to use when ordering `Schema`.""" -enum SchemaOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - NAME_ASC - NAME_DESC - SCHEMA_NAME_ASC - SCHEMA_NAME_DESC - LABEL_ASC - LABEL_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - SMART_TAGS_ASC - SMART_TAGS_DESC - CATEGORY_ASC - CATEGORY_DESC - MODULE_ASC - MODULE_DESC - SCOPE_ASC - SCOPE_DESC - TAGS_ASC - TAGS_DESC - IS_PUBLIC_ASC - IS_PUBLIC_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""A connection to a list of `TriggerFunction` values.""" -type TriggerFunctionConnection { - """A list of `TriggerFunction` objects.""" - nodes: [TriggerFunction]! + """Checks for all expressions in this list.""" + and: [TriggerFunctionFilter!] - """ - A list of edges which contains the `TriggerFunction` and cursor to aid in pagination. - """ - edges: [TriggerFunctionEdge]! + """Checks for any expressions in this list.""" + or: [TriggerFunctionFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: TriggerFunctionFilter - """ - The count of *all* `TriggerFunction` you could get from the connection. - """ - totalCount: Int! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } -type TriggerFunction { - id: UUID! - databaseId: UUID! - name: String! - code: String - createdAt: Datetime - updatedAt: Datetime +""" +A filter to be used against many `Trigger` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyTriggerFilter { + """Filters to entities where at least one related entity matches.""" + some: TriggerFilter - """Reads a single `Database` that is related to this `TriggerFunction`.""" - database: Database + """Filters to entities where every related entity matches.""" + every: TriggerFilter + + """Filters to entities where no related entity matches.""" + none: TriggerFilter } -"""A `TriggerFunction` edge in the connection.""" -type TriggerFunctionEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `UniqueConstraint` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyUniqueConstraintFilter { + """Filters to entities where at least one related entity matches.""" + some: UniqueConstraintFilter - """The `TriggerFunction` at the end of the edge.""" - node: TriggerFunction -} + """Filters to entities where every related entity matches.""" + every: UniqueConstraintFilter -"""Methods to use when ordering `TriggerFunction`.""" -enum TriggerFunctionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - NAME_ASC - NAME_DESC - CODE_ASC - CODE_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filters to entities where no related entity matches.""" + none: UniqueConstraintFilter } -"""A connection to a list of `DatabaseTransfer` values.""" -type DatabaseTransferConnection { - """A list of `DatabaseTransfer` objects.""" - nodes: [DatabaseTransfer]! - - """ - A list of edges which contains the `DatabaseTransfer` and cursor to aid in pagination. - """ - edges: [DatabaseTransferEdge]! +""" +A filter to be used against many `View` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyViewFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: ViewFilter - """ - The count of *all* `DatabaseTransfer` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: ViewFilter } -type DatabaseTransfer { - id: UUID! - databaseId: UUID! - targetOwnerId: UUID! - sourceApproved: Boolean! - targetApproved: Boolean! - sourceApprovedAt: Datetime - targetApprovedAt: Datetime - status: String! - initiatedBy: UUID! - notes: String - expiresAt: Datetime! - createdAt: Datetime! - updatedAt: Datetime! - completedAt: Datetime +""" +A filter to be used against many `ViewGrant` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyViewGrantFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewGrantFilter - """Reads a single `Database` that is related to this `DatabaseTransfer`.""" - database: Database + """Filters to entities where every related entity matches.""" + every: ViewGrantFilter + + """Filters to entities where no related entity matches.""" + none: ViewGrantFilter } -"""A `DatabaseTransfer` edge in the connection.""" -type DatabaseTransferEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `ViewRule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyViewRuleFilter { + """Filters to entities where at least one related entity matches.""" + some: ViewRuleFilter - """The `DatabaseTransfer` at the end of the edge.""" - node: DatabaseTransfer -} + """Filters to entities where every related entity matches.""" + every: ViewRuleFilter -"""Methods to use when ordering `DatabaseTransfer`.""" -enum DatabaseTransferOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TARGET_OWNER_ID_ASC - TARGET_OWNER_ID_DESC - SOURCE_APPROVED_ASC - SOURCE_APPROVED_DESC - TARGET_APPROVED_ASC - TARGET_APPROVED_DESC - SOURCE_APPROVED_AT_ASC - SOURCE_APPROVED_AT_DESC - TARGET_APPROVED_AT_ASC - TARGET_APPROVED_AT_DESC - STATUS_ASC - STATUS_DESC - INITIATED_BY_ASC - INITIATED_BY_DESC - NOTES_ASC - NOTES_DESC - EXPIRES_AT_ASC - EXPIRES_AT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - COMPLETED_AT_ASC - COMPLETED_AT_DESC + """Filters to entities where no related entity matches.""" + none: ViewRuleFilter } -"""A connection to a list of `Api` values.""" -type ApiConnection { - """A list of `Api` objects.""" - nodes: [Api]! - - """ - A list of edges which contains the `Api` and cursor to aid in pagination. - """ - edges: [ApiEdge]! +""" +A filter to be used against many `DefaultPrivilege` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyDefaultPrivilegeFilter { + """Filters to entities where at least one related entity matches.""" + some: DefaultPrivilegeFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: DefaultPrivilegeFilter - """The count of *all* `Api` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: DefaultPrivilegeFilter } -"""A `Api` edge in the connection.""" -type ApiEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `Enum` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyEnumFilter { + """Filters to entities where at least one related entity matches.""" + some: EnumFilter - """The `Api` at the end of the edge.""" - node: Api -} + """Filters to entities where every related entity matches.""" + every: EnumFilter -"""Methods to use when ordering `Api`.""" -enum ApiOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - NAME_ASC - NAME_DESC - DBNAME_ASC - DBNAME_DESC - ROLE_NAME_ASC - ROLE_NAME_DESC - ANON_ROLE_ASC - ANON_ROLE_DESC - IS_PUBLIC_ASC - IS_PUBLIC_DESC + """Filters to entities where no related entity matches.""" + none: EnumFilter } -"""A connection to a list of `Site` values.""" -type SiteConnection { - """A list of `Site` objects.""" - nodes: [Site]! - - """ - A list of edges which contains the `Site` and cursor to aid in pagination. - """ - edges: [SiteEdge]! +""" +A filter to be used against many `EmbeddingChunk` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyEmbeddingChunkFilter { + """Filters to entities where at least one related entity matches.""" + some: EmbeddingChunkFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: EmbeddingChunkFilter - """The count of *all* `Site` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: EmbeddingChunkFilter } -"""A `Site` edge in the connection.""" -type SiteEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `SpatialRelation` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySpatialRelationFilter { + """Filters to entities where at least one related entity matches.""" + some: SpatialRelationFilter - """The `Site` at the end of the edge.""" - node: Site -} + """Filters to entities where every related entity matches.""" + every: SpatialRelationFilter -"""Methods to use when ordering `Site`.""" -enum SiteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TITLE_ASC - TITLE_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - OG_IMAGE_ASC - OG_IMAGE_DESC - FAVICON_ASC - FAVICON_DESC - APPLE_TOUCH_ICON_ASC - APPLE_TOUCH_ICON_DESC - LOGO_ASC - LOGO_DESC - DBNAME_ASC - DBNAME_DESC + """Filters to entities where no related entity matches.""" + none: SpatialRelationFilter } -"""A connection to a list of `App` values.""" -type AppConnection { - """A list of `App` objects.""" - nodes: [App]! - - """ - A list of edges which contains the `App` and cursor to aid in pagination. - """ - edges: [AppEdge]! +""" +A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyFunctionFilter { + """Filters to entities where at least one related entity matches.""" + some: FunctionFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: FunctionFilter - """The count of *all* `App` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: FunctionFilter } -"""A `App` edge in the connection.""" -type AppEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyDatabaseTransferFilter { + """Filters to entities where at least one related entity matches.""" + some: DatabaseTransferFilter - """The `App` at the end of the edge.""" - node: App -} + """Filters to entities where every related entity matches.""" + every: DatabaseTransferFilter -"""Methods to use when ordering `App`.""" -enum AppOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SITE_ID_ASC - SITE_ID_DESC - NAME_ASC - NAME_DESC - APP_IMAGE_ASC - APP_IMAGE_DESC - APP_STORE_LINK_ASC - APP_STORE_LINK_DESC - APP_STORE_ID_ASC - APP_STORE_ID_DESC - APP_ID_PREFIX_ASC - APP_ID_PREFIX_DESC - PLAY_STORE_LINK_ASC - PLAY_STORE_LINK_DESC + """Filters to entities where no related entity matches.""" + none: DatabaseTransferFilter } -"""A connection to a list of `ConnectedAccountsModule` values.""" -type ConnectedAccountsModuleConnection { - """A list of `ConnectedAccountsModule` objects.""" - nodes: [ConnectedAccountsModule]! +""" +A filter to be used against `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseTransferFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `ConnectedAccountsModule` and cursor to aid in pagination. - """ - edges: [ConnectedAccountsModuleEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `targetOwnerId` field.""" + targetOwnerId: UUIDFilter - """ - The count of *all* `ConnectedAccountsModule` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `sourceApproved` field.""" + sourceApproved: BooleanFilter -type ConnectedAccountsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - ownerTableId: UUID! - tableName: String! + """Filter by the object’s `targetApproved` field.""" + targetApproved: BooleanFilter - """ - Reads a single `Database` that is related to this `ConnectedAccountsModule`. - """ - database: Database + """Filter by the object’s `sourceApprovedAt` field.""" + sourceApprovedAt: DatetimeFilter - """ - Reads a single `Table` that is related to this `ConnectedAccountsModule`. - """ - ownerTable: Table + """Filter by the object’s `targetApprovedAt` field.""" + targetApprovedAt: DatetimeFilter - """ - Reads a single `Schema` that is related to this `ConnectedAccountsModule`. - """ - privateSchema: Schema + """Filter by the object’s `status` field.""" + status: StringFilter - """ - Reads a single `Schema` that is related to this `ConnectedAccountsModule`. - """ - schema: Schema + """Filter by the object’s `initiatedBy` field.""" + initiatedBy: UUIDFilter - """ - Reads a single `Table` that is related to this `ConnectedAccountsModule`. - """ - table: Table -} + """Filter by the object’s `notes` field.""" + notes: StringFilter -"""A `ConnectedAccountsModule` edge in the connection.""" -type ConnectedAccountsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `expiresAt` field.""" + expiresAt: DatetimeFilter - """The `ConnectedAccountsModule` at the end of the edge.""" - node: ConnectedAccountsModule -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""Methods to use when ordering `ConnectedAccountsModule`.""" -enum ConnectedAccountsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - OWNER_TABLE_ID_ASC - OWNER_TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""A connection to a list of `CryptoAddressesModule` values.""" -type CryptoAddressesModuleConnection { - """A list of `CryptoAddressesModule` objects.""" - nodes: [CryptoAddressesModule]! + """Filter by the object’s `completedAt` field.""" + completedAt: DatetimeFilter - """ - A list of edges which contains the `CryptoAddressesModule` and cursor to aid in pagination. - """ - edges: [CryptoAddressesModuleEdge]! + """Checks for all expressions in this list.""" + and: [DatabaseTransferFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Checks for any expressions in this list.""" + or: [DatabaseTransferFilter!] - """ - The count of *all* `CryptoAddressesModule` you could get from the connection. - """ - totalCount: Int! + """Negates the expression.""" + not: DatabaseTransferFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } -type CryptoAddressesModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - ownerTableId: UUID! - tableName: String! - cryptoNetwork: String! +""" +A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyPartitionFilter { + """Filters to entities where at least one related entity matches.""" + some: PartitionFilter - """ - Reads a single `Database` that is related to this `CryptoAddressesModule`. - """ - database: Database + """Filters to entities where every related entity matches.""" + every: PartitionFilter - """ - Reads a single `Table` that is related to this `CryptoAddressesModule`. - """ - ownerTable: Table + """Filters to entities where no related entity matches.""" + none: PartitionFilter +} - """ - Reads a single `Schema` that is related to this `CryptoAddressesModule`. - """ - privateSchema: Schema +""" +A filter to be used against many `Api` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyApiFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiFilter - """ - Reads a single `Schema` that is related to this `CryptoAddressesModule`. - """ - schema: Schema + """Filters to entities where every related entity matches.""" + every: ApiFilter - """ - Reads a single `Table` that is related to this `CryptoAddressesModule`. - """ - table: Table + """Filters to entities where no related entity matches.""" + none: ApiFilter } -"""A `CryptoAddressesModule` edge in the connection.""" -type CryptoAddressesModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `ApiModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyApiModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiModuleFilter - """The `CryptoAddressesModule` at the end of the edge.""" - node: CryptoAddressesModule -} + """Filters to entities where every related entity matches.""" + every: ApiModuleFilter -"""Methods to use when ordering `CryptoAddressesModule`.""" -enum CryptoAddressesModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - OWNER_TABLE_ID_ASC - OWNER_TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - CRYPTO_NETWORK_ASC - CRYPTO_NETWORK_DESC + """Filters to entities where no related entity matches.""" + none: ApiModuleFilter } -"""A connection to a list of `CryptoAuthModule` values.""" -type CryptoAuthModuleConnection { - """A list of `CryptoAuthModule` objects.""" - nodes: [CryptoAuthModule]! - - """ - A list of edges which contains the `CryptoAuthModule` and cursor to aid in pagination. - """ - edges: [CryptoAuthModuleEdge]! +""" +A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyApiSchemaFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiSchemaFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: ApiSchemaFilter - """ - The count of *all* `CryptoAuthModule` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: ApiSchemaFilter } -type CryptoAuthModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - usersTableId: UUID! - secretsTableId: UUID! - sessionsTableId: UUID! - sessionCredentialsTableId: UUID! - addressesTableId: UUID! - userField: String! - cryptoNetwork: String! - signInRequestChallenge: String! - signInRecordFailure: String! - signUpWithKey: String! - signInWithChallenge: String! - - """Reads a single `Database` that is related to this `CryptoAuthModule`.""" - database: Database +""" +A filter to be used against many `Site` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySiteFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteFilter - """Reads a single `Schema` that is related to this `CryptoAuthModule`.""" - schema: Schema + """Filters to entities where every related entity matches.""" + every: SiteFilter - """Reads a single `Table` that is related to this `CryptoAuthModule`.""" - secretsTable: Table + """Filters to entities where no related entity matches.""" + none: SiteFilter +} - """Reads a single `Table` that is related to this `CryptoAuthModule`.""" - sessionCredentialsTable: Table +""" +A filter to be used against many `App` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyAppFilter { + """Filters to entities where at least one related entity matches.""" + some: AppFilter - """Reads a single `Table` that is related to this `CryptoAuthModule`.""" - sessionsTable: Table + """Filters to entities where every related entity matches.""" + every: AppFilter - """Reads a single `Table` that is related to this `CryptoAuthModule`.""" - usersTable: Table + """Filters to entities where no related entity matches.""" + none: AppFilter } -"""A `CryptoAuthModule` edge in the connection.""" -type CryptoAuthModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `Domain` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyDomainFilter { + """Filters to entities where at least one related entity matches.""" + some: DomainFilter - """The `CryptoAuthModule` at the end of the edge.""" - node: CryptoAuthModule -} + """Filters to entities where every related entity matches.""" + every: DomainFilter -"""Methods to use when ordering `CryptoAuthModule`.""" -enum CryptoAuthModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - SECRETS_TABLE_ID_ASC - SECRETS_TABLE_ID_DESC - SESSIONS_TABLE_ID_ASC - SESSIONS_TABLE_ID_DESC - SESSION_CREDENTIALS_TABLE_ID_ASC - SESSION_CREDENTIALS_TABLE_ID_DESC - ADDRESSES_TABLE_ID_ASC - ADDRESSES_TABLE_ID_DESC - USER_FIELD_ASC - USER_FIELD_DESC - CRYPTO_NETWORK_ASC - CRYPTO_NETWORK_DESC - SIGN_IN_REQUEST_CHALLENGE_ASC - SIGN_IN_REQUEST_CHALLENGE_DESC - SIGN_IN_RECORD_FAILURE_ASC - SIGN_IN_RECORD_FAILURE_DESC - SIGN_UP_WITH_KEY_ASC - SIGN_UP_WITH_KEY_DESC - SIGN_IN_WITH_CHALLENGE_ASC - SIGN_IN_WITH_CHALLENGE_DESC + """Filters to entities where no related entity matches.""" + none: DomainFilter } -"""A connection to a list of `DefaultIdsModule` values.""" -type DefaultIdsModuleConnection { - """A list of `DefaultIdsModule` objects.""" - nodes: [DefaultIdsModule]! - - """ - A list of edges which contains the `DefaultIdsModule` and cursor to aid in pagination. - """ - edges: [DefaultIdsModuleEdge]! +""" +A filter to be used against many `SiteMetadatum` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySiteMetadatumFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteMetadatumFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: SiteMetadatumFilter - """ - The count of *all* `DefaultIdsModule` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: SiteMetadatumFilter } -type DefaultIdsModule { - id: UUID! - databaseId: UUID! +""" +A filter to be used against many `SiteModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySiteModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteModuleFilter - """Reads a single `Database` that is related to this `DefaultIdsModule`.""" - database: Database + """Filters to entities where every related entity matches.""" + every: SiteModuleFilter + + """Filters to entities where no related entity matches.""" + none: SiteModuleFilter } -"""A `DefaultIdsModule` edge in the connection.""" -type DefaultIdsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `SiteTheme` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySiteThemeFilter { + """Filters to entities where at least one related entity matches.""" + some: SiteThemeFilter - """The `DefaultIdsModule` at the end of the edge.""" - node: DefaultIdsModule -} + """Filters to entities where every related entity matches.""" + every: SiteThemeFilter -"""Methods to use when ordering `DefaultIdsModule`.""" -enum DefaultIdsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC + """Filters to entities where no related entity matches.""" + none: SiteThemeFilter } -"""A connection to a list of `DenormalizedTableField` values.""" -type DenormalizedTableFieldConnection { - """A list of `DenormalizedTableField` objects.""" - nodes: [DenormalizedTableField]! +""" +A filter to be used against `DatabaseSetting` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseSettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `DenormalizedTableField` and cursor to aid in pagination. - """ - edges: [DenormalizedTableFieldEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `enableAggregates` field.""" + enableAggregates: BooleanFilter - """ - The count of *all* `DenormalizedTableField` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `enablePostgis` field.""" + enablePostgis: BooleanFilter -type DenormalizedTableField { - id: UUID! - databaseId: UUID! - tableId: UUID! - fieldId: UUID! - setIds: [UUID] - refTableId: UUID! - refFieldId: UUID! - refIds: [UUID] - useUpdates: Boolean! - updateDefaults: Boolean! - funcName: String - funcOrder: Int! + """Filter by the object’s `enableSearch` field.""" + enableSearch: BooleanFilter - """ - Reads a single `Database` that is related to this `DenormalizedTableField`. - """ - database: Database + """Filter by the object’s `enableDirectUploads` field.""" + enableDirectUploads: BooleanFilter - """ - Reads a single `Field` that is related to this `DenormalizedTableField`. - """ - field: Field + """Filter by the object’s `enablePresignedUploads` field.""" + enablePresignedUploads: BooleanFilter - """ - Reads a single `Field` that is related to this `DenormalizedTableField`. - """ - refField: Field + """Filter by the object’s `enableManyToMany` field.""" + enableManyToMany: BooleanFilter - """ - Reads a single `Table` that is related to this `DenormalizedTableField`. - """ - refTable: Table + """Filter by the object’s `enableConnectionFilter` field.""" + enableConnectionFilter: BooleanFilter - """ - Reads a single `Table` that is related to this `DenormalizedTableField`. - """ - table: Table -} + """Filter by the object’s `enableLtree` field.""" + enableLtree: BooleanFilter -"""A `DenormalizedTableField` edge in the connection.""" -type DenormalizedTableFieldEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `enableLlm` field.""" + enableLlm: BooleanFilter - """The `DenormalizedTableField` at the end of the edge.""" - node: DenormalizedTableField + """Filter by the object’s `options` field.""" + options: JSONFilter + + """Checks for all expressions in this list.""" + and: [DatabaseSettingFilter!] + + """Checks for any expressions in this list.""" + or: [DatabaseSettingFilter!] + + """Negates the expression.""" + not: DatabaseSettingFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } -"""Methods to use when ordering `DenormalizedTableField`.""" -enum DenormalizedTableFieldOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - FIELD_ID_ASC - FIELD_ID_DESC - SET_IDS_ASC - SET_IDS_DESC - REF_TABLE_ID_ASC - REF_TABLE_ID_DESC - REF_FIELD_ID_ASC - REF_FIELD_ID_DESC - REF_IDS_ASC - REF_IDS_DESC - USE_UPDATES_ASC - USE_UPDATES_DESC - UPDATE_DEFAULTS_ASC - UPDATE_DEFAULTS_DESC - FUNC_NAME_ASC - FUNC_NAME_DESC - FUNC_ORDER_ASC - FUNC_ORDER_DESC +""" +A filter to be used against many `ApiSetting` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyApiSettingFilter { + """Filters to entities where at least one related entity matches.""" + some: ApiSettingFilter + + """Filters to entities where every related entity matches.""" + every: ApiSettingFilter + + """Filters to entities where no related entity matches.""" + none: ApiSettingFilter } -"""A connection to a list of `EmailsModule` values.""" -type EmailsModuleConnection { - """A list of `EmailsModule` objects.""" - nodes: [EmailsModule]! +""" +A filter to be used against `RlsSetting` object types. All fields are combined with a logical ‘and.’ +""" +input RlsSettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `EmailsModule` and cursor to aid in pagination. - """ - edges: [EmailsModuleEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `authenticateSchemaId` field.""" + authenticateSchemaId: UUIDFilter - """The count of *all* `EmailsModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `roleSchemaId` field.""" + roleSchemaId: UUIDFilter -type EmailsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - ownerTableId: UUID! - tableName: String! + """Filter by the object’s `authenticateFunctionId` field.""" + authenticateFunctionId: UUIDFilter - """Reads a single `Database` that is related to this `EmailsModule`.""" - database: Database + """Filter by the object’s `authenticateStrictFunctionId` field.""" + authenticateStrictFunctionId: UUIDFilter - """Reads a single `Table` that is related to this `EmailsModule`.""" - ownerTable: Table + """Filter by the object’s `currentRoleFunctionId` field.""" + currentRoleFunctionId: UUIDFilter - """Reads a single `Schema` that is related to this `EmailsModule`.""" - privateSchema: Schema + """Filter by the object’s `currentRoleIdFunctionId` field.""" + currentRoleIdFunctionId: UUIDFilter - """Reads a single `Schema` that is related to this `EmailsModule`.""" - schema: Schema + """Filter by the object’s `currentUserAgentFunctionId` field.""" + currentUserAgentFunctionId: UUIDFilter - """Reads a single `Table` that is related to this `EmailsModule`.""" - table: Table -} + """Filter by the object’s `currentIpAddressFunctionId` field.""" + currentIpAddressFunctionId: UUIDFilter -"""A `EmailsModule` edge in the connection.""" -type EmailsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Checks for all expressions in this list.""" + and: [RlsSettingFilter!] - """The `EmailsModule` at the end of the edge.""" - node: EmailsModule -} + """Checks for any expressions in this list.""" + or: [RlsSettingFilter!] -"""Methods to use when ordering `EmailsModule`.""" -enum EmailsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - OWNER_TABLE_ID_ASC - OWNER_TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Negates the expression.""" + not: RlsSettingFilter -"""A connection to a list of `EncryptedSecretsModule` values.""" -type EncryptedSecretsModuleConnection { - """A list of `EncryptedSecretsModule` objects.""" - nodes: [EncryptedSecretsModule]! + """Filter by the object’s `authenticateFunction` relation.""" + authenticateFunction: FunctionFilter - """ - A list of edges which contains the `EncryptedSecretsModule` and cursor to aid in pagination. - """ - edges: [EncryptedSecretsModuleEdge]! + """A related `authenticateFunction` exists.""" + authenticateFunctionExists: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `authenticateSchema` relation.""" + authenticateSchema: SchemaFilter - """ - The count of *all* `EncryptedSecretsModule` you could get from the connection. - """ - totalCount: Int! -} + """A related `authenticateSchema` exists.""" + authenticateSchemaExists: Boolean -type EncryptedSecretsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - tableId: UUID! - tableName: String! + """Filter by the object’s `authenticateStrictFunction` relation.""" + authenticateStrictFunction: FunctionFilter - """ - Reads a single `Database` that is related to this `EncryptedSecretsModule`. - """ - database: Database + """A related `authenticateStrictFunction` exists.""" + authenticateStrictFunctionExists: Boolean - """ - Reads a single `Schema` that is related to this `EncryptedSecretsModule`. - """ - schema: Schema + """Filter by the object’s `currentIpAddressFunction` relation.""" + currentIpAddressFunction: FunctionFilter - """ - Reads a single `Table` that is related to this `EncryptedSecretsModule`. - """ - table: Table -} + """A related `currentIpAddressFunction` exists.""" + currentIpAddressFunctionExists: Boolean -"""A `EncryptedSecretsModule` edge in the connection.""" -type EncryptedSecretsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `currentRoleFunction` relation.""" + currentRoleFunction: FunctionFilter - """The `EncryptedSecretsModule` at the end of the edge.""" - node: EncryptedSecretsModule -} + """A related `currentRoleFunction` exists.""" + currentRoleFunctionExists: Boolean -"""Methods to use when ordering `EncryptedSecretsModule`.""" -enum EncryptedSecretsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Filter by the object’s `currentRoleIdFunction` relation.""" + currentRoleIdFunction: FunctionFilter -"""A connection to a list of `InvitesModule` values.""" -type InvitesModuleConnection { - """A list of `InvitesModule` objects.""" - nodes: [InvitesModule]! + """A related `currentRoleIdFunction` exists.""" + currentRoleIdFunctionExists: Boolean - """ - A list of edges which contains the `InvitesModule` and cursor to aid in pagination. - """ - edges: [InvitesModuleEdge]! + """Filter by the object’s `currentUserAgentFunction` relation.""" + currentUserAgentFunction: FunctionFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """A related `currentUserAgentFunction` exists.""" + currentUserAgentFunctionExists: Boolean - """The count of *all* `InvitesModule` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `roleSchema` relation.""" + roleSchema: SchemaFilter + + """A related `roleSchema` exists.""" + roleSchemaExists: Boolean } -type InvitesModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - emailsTableId: UUID! - usersTableId: UUID! - invitesTableId: UUID! - claimedInvitesTableId: UUID! - invitesTableName: String! - claimedInvitesTableName: String! - submitInviteCodeFunction: String! - prefix: String - membershipType: Int! - entityTableId: UUID +""" +A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyCorsSettingFilter { + """Filters to entities where at least one related entity matches.""" + some: CorsSettingFilter - """Reads a single `Table` that is related to this `InvitesModule`.""" - claimedInvitesTable: Table + """Filters to entities where every related entity matches.""" + every: CorsSettingFilter - """Reads a single `Database` that is related to this `InvitesModule`.""" - database: Database + """Filters to entities where no related entity matches.""" + none: CorsSettingFilter +} - """Reads a single `Table` that is related to this `InvitesModule`.""" - emailsTable: Table +""" +A filter to be used against `PubkeySetting` object types. All fields are combined with a logical ‘and.’ +""" +input PubkeySettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `InvitesModule`.""" - entityTable: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `InvitesModule`.""" - invitesTable: Table + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `Schema` that is related to this `InvitesModule`.""" - privateSchema: Schema + """Filter by the object’s `cryptoNetwork` field.""" + cryptoNetwork: StringFilter - """Reads a single `Schema` that is related to this `InvitesModule`.""" - schema: Schema + """Filter by the object’s `userField` field.""" + userField: StringFilter - """Reads a single `Table` that is related to this `InvitesModule`.""" - usersTable: Table -} + """Filter by the object’s `signUpWithKeyFunctionId` field.""" + signUpWithKeyFunctionId: UUIDFilter -"""A `InvitesModule` edge in the connection.""" -type InvitesModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `signInRequestChallengeFunctionId` field.""" + signInRequestChallengeFunctionId: UUIDFilter - """The `InvitesModule` at the end of the edge.""" - node: InvitesModule -} + """Filter by the object’s `signInRecordFailureFunctionId` field.""" + signInRecordFailureFunctionId: UUIDFilter -"""Methods to use when ordering `InvitesModule`.""" -enum InvitesModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - EMAILS_TABLE_ID_ASC - EMAILS_TABLE_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - INVITES_TABLE_ID_ASC - INVITES_TABLE_ID_DESC - CLAIMED_INVITES_TABLE_ID_ASC - CLAIMED_INVITES_TABLE_ID_DESC - INVITES_TABLE_NAME_ASC - INVITES_TABLE_NAME_DESC - CLAIMED_INVITES_TABLE_NAME_ASC - CLAIMED_INVITES_TABLE_NAME_DESC - SUBMIT_INVITE_CODE_FUNCTION_ASC - SUBMIT_INVITE_CODE_FUNCTION_DESC - PREFIX_ASC - PREFIX_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC -} + """Filter by the object’s `signInWithChallengeFunctionId` field.""" + signInWithChallengeFunctionId: UUIDFilter -"""A connection to a list of `LevelsModule` values.""" -type LevelsModuleConnection { - """A list of `LevelsModule` objects.""" - nodes: [LevelsModule]! + """Checks for all expressions in this list.""" + and: [PubkeySettingFilter!] - """ - A list of edges which contains the `LevelsModule` and cursor to aid in pagination. - """ - edges: [LevelsModuleEdge]! + """Checks for any expressions in this list.""" + or: [PubkeySettingFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: PubkeySettingFilter - """The count of *all* `LevelsModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -type LevelsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - stepsTableId: UUID! - stepsTableName: String! - achievementsTableId: UUID! - achievementsTableName: String! - levelsTableId: UUID! - levelsTableName: String! - levelRequirementsTableId: UUID! - levelRequirementsTableName: String! - completedStep: String! - incompletedStep: String! - tgAchievement: String! - tgAchievementToggle: String! - tgAchievementToggleBoolean: String! - tgAchievementBoolean: String! - upsertAchievement: String! - tgUpdateAchievements: String! - stepsRequired: String! - levelAchieved: String! - prefix: String - membershipType: Int! - entityTableId: UUID - actorTableId: UUID! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """Reads a single `Table` that is related to this `LevelsModule`.""" - achievementsTable: Table + """A related `schema` exists.""" + schemaExists: Boolean - """Reads a single `Table` that is related to this `LevelsModule`.""" - actorTable: Table + """Filter by the object’s `signInRecordFailureFunction` relation.""" + signInRecordFailureFunction: FunctionFilter - """Reads a single `Database` that is related to this `LevelsModule`.""" - database: Database + """A related `signInRecordFailureFunction` exists.""" + signInRecordFailureFunctionExists: Boolean - """Reads a single `Table` that is related to this `LevelsModule`.""" - entityTable: Table + """Filter by the object’s `signInRequestChallengeFunction` relation.""" + signInRequestChallengeFunction: FunctionFilter - """Reads a single `Table` that is related to this `LevelsModule`.""" - levelRequirementsTable: Table + """A related `signInRequestChallengeFunction` exists.""" + signInRequestChallengeFunctionExists: Boolean - """Reads a single `Table` that is related to this `LevelsModule`.""" - levelsTable: Table + """Filter by the object’s `signInWithChallengeFunction` relation.""" + signInWithChallengeFunction: FunctionFilter - """Reads a single `Schema` that is related to this `LevelsModule`.""" - privateSchema: Schema + """A related `signInWithChallengeFunction` exists.""" + signInWithChallengeFunctionExists: Boolean - """Reads a single `Schema` that is related to this `LevelsModule`.""" - schema: Schema + """Filter by the object’s `signUpWithKeyFunction` relation.""" + signUpWithKeyFunction: FunctionFilter - """Reads a single `Table` that is related to this `LevelsModule`.""" - stepsTable: Table + """A related `signUpWithKeyFunction` exists.""" + signUpWithKeyFunctionExists: Boolean } -"""A `LevelsModule` edge in the connection.""" -type LevelsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against `WebauthnSetting` object types. All fields are combined with a logical ‘and.’ +""" +input WebauthnSettingFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The `LevelsModule` at the end of the edge.""" - node: LevelsModule -} + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter -"""Methods to use when ordering `LevelsModule`.""" -enum LevelsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - STEPS_TABLE_ID_ASC - STEPS_TABLE_ID_DESC - STEPS_TABLE_NAME_ASC - STEPS_TABLE_NAME_DESC - ACHIEVEMENTS_TABLE_ID_ASC - ACHIEVEMENTS_TABLE_ID_DESC - ACHIEVEMENTS_TABLE_NAME_ASC - ACHIEVEMENTS_TABLE_NAME_DESC - LEVELS_TABLE_ID_ASC - LEVELS_TABLE_ID_DESC - LEVELS_TABLE_NAME_ASC - LEVELS_TABLE_NAME_DESC - LEVEL_REQUIREMENTS_TABLE_ID_ASC - LEVEL_REQUIREMENTS_TABLE_ID_DESC - LEVEL_REQUIREMENTS_TABLE_NAME_ASC - LEVEL_REQUIREMENTS_TABLE_NAME_DESC - COMPLETED_STEP_ASC - COMPLETED_STEP_DESC - INCOMPLETED_STEP_ASC - INCOMPLETED_STEP_DESC - TG_ACHIEVEMENT_ASC - TG_ACHIEVEMENT_DESC - TG_ACHIEVEMENT_TOGGLE_ASC - TG_ACHIEVEMENT_TOGGLE_DESC - TG_ACHIEVEMENT_TOGGLE_BOOLEAN_ASC - TG_ACHIEVEMENT_TOGGLE_BOOLEAN_DESC - TG_ACHIEVEMENT_BOOLEAN_ASC - TG_ACHIEVEMENT_BOOLEAN_DESC - UPSERT_ACHIEVEMENT_ASC - UPSERT_ACHIEVEMENT_DESC - TG_UPDATE_ACHIEVEMENTS_ASC - TG_UPDATE_ACHIEVEMENTS_DESC - STEPS_REQUIRED_ASC - STEPS_REQUIRED_DESC - LEVEL_ACHIEVED_ASC - LEVEL_ACHIEVED_DESC - PREFIX_ASC - PREFIX_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - ACTOR_TABLE_ID_ASC - ACTOR_TABLE_ID_DESC -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A connection to a list of `LimitsModule` values.""" -type LimitsModuleConnection { - """A list of `LimitsModule` objects.""" - nodes: [LimitsModule]! + """Filter by the object’s `credentialsSchemaId` field.""" + credentialsSchemaId: UUIDFilter - """ - A list of edges which contains the `LimitsModule` and cursor to aid in pagination. - """ - edges: [LimitsModuleEdge]! + """Filter by the object’s `sessionsSchemaId` field.""" + sessionsSchemaId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `sessionSecretsSchemaId` field.""" + sessionSecretsSchemaId: UUIDFilter - """The count of *all* `LimitsModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `credentialsTableId` field.""" + credentialsTableId: UUIDFilter -type LimitsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - tableName: String! - defaultTableId: UUID! - defaultTableName: String! - limitIncrementFunction: String! - limitDecrementFunction: String! - limitIncrementTrigger: String! - limitDecrementTrigger: String! - limitUpdateTrigger: String! - limitCheckFunction: String! - aggregateTableId: UUID - prefix: String - membershipType: Int! - entityTableId: UUID - actorTableId: UUID! + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter - """Reads a single `Table` that is related to this `LimitsModule`.""" - actorTable: Table + """Filter by the object’s `sessionCredentialsTableId` field.""" + sessionCredentialsTableId: UUIDFilter - """Reads a single `Table` that is related to this `LimitsModule`.""" - aggregateTable: Table + """Filter by the object’s `sessionSecretsTableId` field.""" + sessionSecretsTableId: UUIDFilter - """Reads a single `Database` that is related to this `LimitsModule`.""" - database: Database + """Filter by the object’s `userFieldId` field.""" + userFieldId: UUIDFilter - """Reads a single `Table` that is related to this `LimitsModule`.""" - defaultTable: Table + """Filter by the object’s `rpId` field.""" + rpId: StringFilter - """Reads a single `Table` that is related to this `LimitsModule`.""" - entityTable: Table + """Filter by the object’s `rpName` field.""" + rpName: StringFilter - """Reads a single `Schema` that is related to this `LimitsModule`.""" - privateSchema: Schema + """Filter by the object’s `originAllowlist` field.""" + originAllowlist: StringListFilter - """Reads a single `Schema` that is related to this `LimitsModule`.""" - schema: Schema + """Filter by the object’s `attestationType` field.""" + attestationType: StringFilter - """Reads a single `Table` that is related to this `LimitsModule`.""" - table: Table -} + """Filter by the object’s `requireUserVerification` field.""" + requireUserVerification: BooleanFilter -"""A `LimitsModule` edge in the connection.""" -type LimitsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `residentKey` field.""" + residentKey: StringFilter - """The `LimitsModule` at the end of the edge.""" - node: LimitsModule -} + """Filter by the object’s `challengeExpirySeconds` field.""" + challengeExpirySeconds: BigIntFilter -"""Methods to use when ordering `LimitsModule`.""" -enum LimitsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - DEFAULT_TABLE_ID_ASC - DEFAULT_TABLE_ID_DESC - DEFAULT_TABLE_NAME_ASC - DEFAULT_TABLE_NAME_DESC - LIMIT_INCREMENT_FUNCTION_ASC - LIMIT_INCREMENT_FUNCTION_DESC - LIMIT_DECREMENT_FUNCTION_ASC - LIMIT_DECREMENT_FUNCTION_DESC - LIMIT_INCREMENT_TRIGGER_ASC - LIMIT_INCREMENT_TRIGGER_DESC - LIMIT_DECREMENT_TRIGGER_ASC - LIMIT_DECREMENT_TRIGGER_DESC - LIMIT_UPDATE_TRIGGER_ASC - LIMIT_UPDATE_TRIGGER_DESC - LIMIT_CHECK_FUNCTION_ASC - LIMIT_CHECK_FUNCTION_DESC - AGGREGATE_TABLE_ID_ASC - AGGREGATE_TABLE_ID_DESC - PREFIX_ASC - PREFIX_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - ACTOR_TABLE_ID_ASC - ACTOR_TABLE_ID_DESC -} + """Checks for all expressions in this list.""" + and: [WebauthnSettingFilter!] -"""A connection to a list of `MembershipTypesModule` values.""" -type MembershipTypesModuleConnection { - """A list of `MembershipTypesModule` objects.""" - nodes: [MembershipTypesModule]! + """Checks for any expressions in this list.""" + or: [WebauthnSettingFilter!] - """ - A list of edges which contains the `MembershipTypesModule` and cursor to aid in pagination. - """ - edges: [MembershipTypesModuleEdge]! + """Negates the expression.""" + not: WebauthnSettingFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `credentialsSchema` relation.""" + credentialsSchema: SchemaFilter - """ - The count of *all* `MembershipTypesModule` you could get from the connection. - """ - totalCount: Int! -} + """A related `credentialsSchema` exists.""" + credentialsSchemaExists: Boolean -type MembershipTypesModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - tableId: UUID! - tableName: String! + """Filter by the object’s `credentialsTable` relation.""" + credentialsTable: TableFilter - """ - Reads a single `Database` that is related to this `MembershipTypesModule`. - """ - database: Database + """A related `credentialsTable` exists.""" + credentialsTableExists: Boolean - """ - Reads a single `Schema` that is related to this `MembershipTypesModule`. - """ - schema: Schema + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - Reads a single `Table` that is related to this `MembershipTypesModule`. - """ - table: Table -} + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter -"""A `MembershipTypesModule` edge in the connection.""" -type MembershipTypesModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """A related `schema` exists.""" + schemaExists: Boolean - """The `MembershipTypesModule` at the end of the edge.""" - node: MembershipTypesModule -} + """Filter by the object’s `sessionCredentialsTable` relation.""" + sessionCredentialsTable: TableFilter -"""Methods to use when ordering `MembershipTypesModule`.""" -enum MembershipTypesModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """A related `sessionCredentialsTable` exists.""" + sessionCredentialsTableExists: Boolean -"""A connection to a list of `MembershipsModule` values.""" -type MembershipsModuleConnection { - """A list of `MembershipsModule` objects.""" - nodes: [MembershipsModule]! + """Filter by the object’s `sessionSecretsSchema` relation.""" + sessionSecretsSchema: SchemaFilter - """ - A list of edges which contains the `MembershipsModule` and cursor to aid in pagination. - """ - edges: [MembershipsModuleEdge]! + """A related `sessionSecretsSchema` exists.""" + sessionSecretsSchemaExists: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `sessionSecretsTable` relation.""" + sessionSecretsTable: TableFilter - """ - The count of *all* `MembershipsModule` you could get from the connection. - """ - totalCount: Int! + """A related `sessionSecretsTable` exists.""" + sessionSecretsTableExists: Boolean + + """Filter by the object’s `sessionsSchema` relation.""" + sessionsSchema: SchemaFilter + + """A related `sessionsSchema` exists.""" + sessionsSchemaExists: Boolean + + """Filter by the object’s `sessionsTable` relation.""" + sessionsTable: TableFilter + + """A related `sessionsTable` exists.""" + sessionsTableExists: Boolean + + """Filter by the object’s `userField` relation.""" + userField: FieldFilter + + """A related `userField` exists.""" + userFieldExists: Boolean } -type MembershipsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - membershipsTableId: UUID! - membershipsTableName: String! - membersTableId: UUID! - membersTableName: String! - membershipDefaultsTableId: UUID! - membershipDefaultsTableName: String! - membershipSettingsTableId: UUID - membershipSettingsTableName: String! - grantsTableId: UUID! - grantsTableName: String! - actorTableId: UUID! - limitsTableId: UUID! - defaultLimitsTableId: UUID! - permissionsTableId: UUID! - defaultPermissionsTableId: UUID! - sprtTableId: UUID! - adminGrantsTableId: UUID! - adminGrantsTableName: String! - ownerGrantsTableId: UUID! - ownerGrantsTableName: String! - membershipType: Int! - entityTableId: UUID - entityTableOwnerId: UUID - prefix: String - actorMaskCheck: String! - actorPermCheck: String! - entityIdsByMask: String - entityIdsByPerm: String - entityIdsFunction: String - memberProfilesTableId: UUID - - """Reads a single `Table` that is related to this `MembershipsModule`.""" - actorTable: Table - - """Reads a single `Database` that is related to this `MembershipsModule`.""" - database: Database +""" +A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyConnectedAccountsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: ConnectedAccountsModuleFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - defaultLimitsTable: Table + """Filters to entities where every related entity matches.""" + every: ConnectedAccountsModuleFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - defaultPermissionsTable: Table + """Filters to entities where no related entity matches.""" + none: ConnectedAccountsModuleFilter +} - """Reads a single `Table` that is related to this `MembershipsModule`.""" - entityTable: Table +""" +A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ +""" +input ConnectedAccountsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Field` that is related to this `MembershipsModule`.""" - entityTableOwner: Field + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - grantsTable: Table + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - limitsTable: Table + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - membersTable: Table + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - membershipDefaultsTable: Table + """Filter by the object’s `ownerTableId` field.""" + ownerTableId: UUIDFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - membershipSettingsTable: Table + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - membershipsTable: Table + """Checks for all expressions in this list.""" + and: [ConnectedAccountsModuleFilter!] - """Reads a single `Table` that is related to this `MembershipsModule`.""" - permissionsTable: Table + """Checks for any expressions in this list.""" + or: [ConnectedAccountsModuleFilter!] - """Reads a single `Schema` that is related to this `MembershipsModule`.""" - privateSchema: Schema + """Negates the expression.""" + not: ConnectedAccountsModuleFilter - """Reads a single `Schema` that is related to this `MembershipsModule`.""" - schema: Schema + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads a single `Table` that is related to this `MembershipsModule`.""" - sprtTable: Table -} + """Filter by the object’s `ownerTable` relation.""" + ownerTable: TableFilter -"""A `MembershipsModule` edge in the connection.""" -type MembershipsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """The `MembershipsModule` at the end of the edge.""" - node: MembershipsModule -} + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter -"""Methods to use when ordering `MembershipsModule`.""" -enum MembershipsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - MEMBERSHIPS_TABLE_ID_ASC - MEMBERSHIPS_TABLE_ID_DESC - MEMBERSHIPS_TABLE_NAME_ASC - MEMBERSHIPS_TABLE_NAME_DESC - MEMBERS_TABLE_ID_ASC - MEMBERS_TABLE_ID_DESC - MEMBERS_TABLE_NAME_ASC - MEMBERS_TABLE_NAME_DESC - MEMBERSHIP_DEFAULTS_TABLE_ID_ASC - MEMBERSHIP_DEFAULTS_TABLE_ID_DESC - MEMBERSHIP_DEFAULTS_TABLE_NAME_ASC - MEMBERSHIP_DEFAULTS_TABLE_NAME_DESC - MEMBERSHIP_SETTINGS_TABLE_ID_ASC - MEMBERSHIP_SETTINGS_TABLE_ID_DESC - MEMBERSHIP_SETTINGS_TABLE_NAME_ASC - MEMBERSHIP_SETTINGS_TABLE_NAME_DESC - GRANTS_TABLE_ID_ASC - GRANTS_TABLE_ID_DESC - GRANTS_TABLE_NAME_ASC - GRANTS_TABLE_NAME_DESC - ACTOR_TABLE_ID_ASC - ACTOR_TABLE_ID_DESC - LIMITS_TABLE_ID_ASC - LIMITS_TABLE_ID_DESC - DEFAULT_LIMITS_TABLE_ID_ASC - DEFAULT_LIMITS_TABLE_ID_DESC - PERMISSIONS_TABLE_ID_ASC - PERMISSIONS_TABLE_ID_DESC - DEFAULT_PERMISSIONS_TABLE_ID_ASC - DEFAULT_PERMISSIONS_TABLE_ID_DESC - SPRT_TABLE_ID_ASC - SPRT_TABLE_ID_DESC - ADMIN_GRANTS_TABLE_ID_ASC - ADMIN_GRANTS_TABLE_ID_DESC - ADMIN_GRANTS_TABLE_NAME_ASC - ADMIN_GRANTS_TABLE_NAME_DESC - OWNER_GRANTS_TABLE_ID_ASC - OWNER_GRANTS_TABLE_ID_DESC - OWNER_GRANTS_TABLE_NAME_ASC - OWNER_GRANTS_TABLE_NAME_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - ENTITY_TABLE_OWNER_ID_ASC - ENTITY_TABLE_OWNER_ID_DESC - PREFIX_ASC - PREFIX_DESC - ACTOR_MASK_CHECK_ASC - ACTOR_MASK_CHECK_DESC - ACTOR_PERM_CHECK_ASC - ACTOR_PERM_CHECK_DESC - ENTITY_IDS_BY_MASK_ASC - ENTITY_IDS_BY_MASK_DESC - ENTITY_IDS_BY_PERM_ASC - ENTITY_IDS_BY_PERM_DESC - ENTITY_IDS_FUNCTION_ASC - ENTITY_IDS_FUNCTION_DESC - MEMBER_PROFILES_TABLE_ID_ASC - MEMBER_PROFILES_TABLE_ID_DESC + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""A connection to a list of `PermissionsModule` values.""" -type PermissionsModuleConnection { - """A list of `PermissionsModule` objects.""" - nodes: [PermissionsModule]! - - """ - A list of edges which contains the `PermissionsModule` and cursor to aid in pagination. - """ - edges: [PermissionsModuleEdge]! +""" +A filter to be used against many `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyCryptoAddressesModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: CryptoAddressesModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: CryptoAddressesModuleFilter - """ - The count of *all* `PermissionsModule` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: CryptoAddressesModuleFilter } -type PermissionsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - tableName: String! - defaultTableId: UUID! - defaultTableName: String! - bitlen: Int! - membershipType: Int! - entityTableId: UUID - actorTableId: UUID! - prefix: String - getPaddedMask: String! - getMask: String! - getByMask: String! - getMaskByName: String! +""" +A filter to be used against `CryptoAddressesModule` object types. All fields are combined with a logical ‘and.’ +""" +input CryptoAddressesModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `PermissionsModule`.""" - actorTable: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Database` that is related to this `PermissionsModule`.""" - database: Database + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `Table` that is related to this `PermissionsModule`.""" - defaultTable: Table + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads a single `Table` that is related to this `PermissionsModule`.""" - entityTable: Table + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Reads a single `Schema` that is related to this `PermissionsModule`.""" - privateSchema: Schema + """Filter by the object’s `ownerTableId` field.""" + ownerTableId: UUIDFilter - """Reads a single `Schema` that is related to this `PermissionsModule`.""" - schema: Schema + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Reads a single `Table` that is related to this `PermissionsModule`.""" - table: Table -} + """Filter by the object’s `cryptoNetwork` field.""" + cryptoNetwork: StringFilter -"""A `PermissionsModule` edge in the connection.""" -type PermissionsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Checks for all expressions in this list.""" + and: [CryptoAddressesModuleFilter!] - """The `PermissionsModule` at the end of the edge.""" - node: PermissionsModule -} + """Checks for any expressions in this list.""" + or: [CryptoAddressesModuleFilter!] -"""Methods to use when ordering `PermissionsModule`.""" -enum PermissionsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - DEFAULT_TABLE_ID_ASC - DEFAULT_TABLE_ID_DESC - DEFAULT_TABLE_NAME_ASC - DEFAULT_TABLE_NAME_DESC - BITLEN_ASC - BITLEN_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - ACTOR_TABLE_ID_ASC - ACTOR_TABLE_ID_DESC - PREFIX_ASC - PREFIX_DESC - GET_PADDED_MASK_ASC - GET_PADDED_MASK_DESC - GET_MASK_ASC - GET_MASK_DESC - GET_BY_MASK_ASC - GET_BY_MASK_DESC - GET_MASK_BY_NAME_ASC - GET_MASK_BY_NAME_DESC -} + """Negates the expression.""" + not: CryptoAddressesModuleFilter -"""A connection to a list of `PhoneNumbersModule` values.""" -type PhoneNumbersModuleConnection { - """A list of `PhoneNumbersModule` objects.""" - nodes: [PhoneNumbersModule]! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - A list of edges which contains the `PhoneNumbersModule` and cursor to aid in pagination. - """ - edges: [PhoneNumbersModuleEdge]! + """Filter by the object’s `ownerTable` relation.""" + ownerTable: TableFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """ - The count of *all* `PhoneNumbersModule` you could get from the connection. - """ - totalCount: Int! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } -type PhoneNumbersModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - ownerTableId: UUID! - tableName: String! +""" +A filter to be used against many `CryptoAuthModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyCryptoAuthModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: CryptoAuthModuleFilter - """ - Reads a single `Database` that is related to this `PhoneNumbersModule`. - """ - database: Database + """Filters to entities where every related entity matches.""" + every: CryptoAuthModuleFilter - """Reads a single `Table` that is related to this `PhoneNumbersModule`.""" - ownerTable: Table + """Filters to entities where no related entity matches.""" + none: CryptoAuthModuleFilter +} - """Reads a single `Schema` that is related to this `PhoneNumbersModule`.""" - privateSchema: Schema +""" +A filter to be used against `CryptoAuthModule` object types. All fields are combined with a logical ‘and.’ +""" +input CryptoAuthModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Schema` that is related to this `PhoneNumbersModule`.""" - schema: Schema + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `PhoneNumbersModule`.""" - table: Table -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A `PhoneNumbersModule` edge in the connection.""" -type PhoneNumbersModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """The `PhoneNumbersModule` at the end of the edge.""" - node: PhoneNumbersModule -} + """Filter by the object’s `secretsTableId` field.""" + secretsTableId: UUIDFilter -"""Methods to use when ordering `PhoneNumbersModule`.""" -enum PhoneNumbersModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - OWNER_TABLE_ID_ASC - OWNER_TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter -"""A connection to a list of `ProfilesModule` values.""" -type ProfilesModuleConnection { - """A list of `ProfilesModule` objects.""" - nodes: [ProfilesModule]! + """Filter by the object’s `sessionCredentialsTableId` field.""" + sessionCredentialsTableId: UUIDFilter - """ - A list of edges which contains the `ProfilesModule` and cursor to aid in pagination. - """ - edges: [ProfilesModuleEdge]! + """Filter by the object’s `addressesTableId` field.""" + addressesTableId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `userField` field.""" + userField: StringFilter - """The count of *all* `ProfilesModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `cryptoNetwork` field.""" + cryptoNetwork: StringFilter -type ProfilesModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - tableId: UUID! - tableName: String! - profilePermissionsTableId: UUID! - profilePermissionsTableName: String! - profileGrantsTableId: UUID! - profileGrantsTableName: String! - profileDefinitionGrantsTableId: UUID! - profileDefinitionGrantsTableName: String! - profileTemplatesTableId: UUID! - profileTemplatesTableName: String! - membershipType: Int! - entityTableId: UUID - actorTableId: UUID! - permissionsTableId: UUID! - membershipsTableId: UUID! - prefix: String + """Filter by the object’s `signInRequestChallenge` field.""" + signInRequestChallenge: StringFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - actorTable: Table + """Filter by the object’s `signInRecordFailure` field.""" + signInRecordFailure: StringFilter - """Reads a single `Database` that is related to this `ProfilesModule`.""" - database: Database + """Filter by the object’s `signUpWithKey` field.""" + signUpWithKey: StringFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - entityTable: Table + """Filter by the object’s `signInWithChallenge` field.""" + signInWithChallenge: StringFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - membershipsTable: Table + """Checks for all expressions in this list.""" + and: [CryptoAuthModuleFilter!] - """Reads a single `Table` that is related to this `ProfilesModule`.""" - permissionsTable: Table + """Checks for any expressions in this list.""" + or: [CryptoAuthModuleFilter!] - """Reads a single `Schema` that is related to this `ProfilesModule`.""" - privateSchema: Schema + """Negates the expression.""" + not: CryptoAuthModuleFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - profileDefinitionGrantsTable: Table + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - profileGrantsTable: Table + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - profilePermissionsTable: Table + """Filter by the object’s `secretsTable` relation.""" + secretsTable: TableFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - profileTemplatesTable: Table + """Filter by the object’s `sessionCredentialsTable` relation.""" + sessionCredentialsTable: TableFilter - """Reads a single `Schema` that is related to this `ProfilesModule`.""" - schema: Schema + """Filter by the object’s `sessionsTable` relation.""" + sessionsTable: TableFilter - """Reads a single `Table` that is related to this `ProfilesModule`.""" - table: Table + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter } -"""A `ProfilesModule` edge in the connection.""" -type ProfilesModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `DefaultIdsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyDefaultIdsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: DefaultIdsModuleFilter - """The `ProfilesModule` at the end of the edge.""" - node: ProfilesModule -} + """Filters to entities where every related entity matches.""" + every: DefaultIdsModuleFilter -"""Methods to use when ordering `ProfilesModule`.""" -enum ProfilesModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - PROFILE_PERMISSIONS_TABLE_ID_ASC - PROFILE_PERMISSIONS_TABLE_ID_DESC - PROFILE_PERMISSIONS_TABLE_NAME_ASC - PROFILE_PERMISSIONS_TABLE_NAME_DESC - PROFILE_GRANTS_TABLE_ID_ASC - PROFILE_GRANTS_TABLE_ID_DESC - PROFILE_GRANTS_TABLE_NAME_ASC - PROFILE_GRANTS_TABLE_NAME_DESC - PROFILE_DEFINITION_GRANTS_TABLE_ID_ASC - PROFILE_DEFINITION_GRANTS_TABLE_ID_DESC - PROFILE_DEFINITION_GRANTS_TABLE_NAME_ASC - PROFILE_DEFINITION_GRANTS_TABLE_NAME_DESC - PROFILE_TEMPLATES_TABLE_ID_ASC - PROFILE_TEMPLATES_TABLE_ID_DESC - PROFILE_TEMPLATES_TABLE_NAME_ASC - PROFILE_TEMPLATES_TABLE_NAME_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - ACTOR_TABLE_ID_ASC - ACTOR_TABLE_ID_DESC - PERMISSIONS_TABLE_ID_ASC - PERMISSIONS_TABLE_ID_DESC - MEMBERSHIPS_TABLE_ID_ASC - MEMBERSHIPS_TABLE_ID_DESC - PREFIX_ASC - PREFIX_DESC + """Filters to entities where no related entity matches.""" + none: DefaultIdsModuleFilter } -type RlsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - sessionCredentialsTableId: UUID! - sessionsTableId: UUID! - usersTableId: UUID! - authenticate: String! - authenticateStrict: String! - currentRole: String! - currentRoleId: String! - - """Reads a single `Database` that is related to this `RlsModule`.""" - database: Database +""" +A filter to be used against `DefaultIdsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DefaultIdsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Schema` that is related to this `RlsModule`.""" - privateSchema: Schema + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Schema` that is related to this `RlsModule`.""" - schema: Schema + """Checks for all expressions in this list.""" + and: [DefaultIdsModuleFilter!] - """Reads a single `Table` that is related to this `RlsModule`.""" - sessionCredentialsTable: Table + """Checks for any expressions in this list.""" + or: [DefaultIdsModuleFilter!] - """Reads a single `Table` that is related to this `RlsModule`.""" - sessionsTable: Table + """Negates the expression.""" + not: DefaultIdsModuleFilter - """Reads a single `Table` that is related to this `RlsModule`.""" - usersTable: Table + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } -"""A connection to a list of `SecretsModule` values.""" -type SecretsModuleConnection { - """A list of `SecretsModule` objects.""" - nodes: [SecretsModule]! - - """ - A list of edges which contains the `SecretsModule` and cursor to aid in pagination. - """ - edges: [SecretsModuleEdge]! +""" +A filter to be used against many `DenormalizedTableField` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyDenormalizedTableFieldFilter { + """Filters to entities where at least one related entity matches.""" + some: DenormalizedTableFieldFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: DenormalizedTableFieldFilter - """The count of *all* `SecretsModule` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: DenormalizedTableFieldFilter } -type SecretsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - tableId: UUID! - tableName: String! +""" +A filter to be used against `DenormalizedTableField` object types. All fields are combined with a logical ‘and.’ +""" +input DenormalizedTableFieldFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Database` that is related to this `SecretsModule`.""" - database: Database + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Schema` that is related to this `SecretsModule`.""" - schema: Schema + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Reads a single `Table` that is related to this `SecretsModule`.""" - table: Table -} + """Filter by the object’s `fieldId` field.""" + fieldId: UUIDFilter -"""A `SecretsModule` edge in the connection.""" -type SecretsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `setIds` field.""" + setIds: UUIDListFilter - """The `SecretsModule` at the end of the edge.""" - node: SecretsModule -} + """Filter by the object’s `refTableId` field.""" + refTableId: UUIDFilter -"""Methods to use when ordering `SecretsModule`.""" -enum SecretsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Filter by the object’s `refFieldId` field.""" + refFieldId: UUIDFilter -"""A connection to a list of `SessionsModule` values.""" -type SessionsModuleConnection { - """A list of `SessionsModule` objects.""" - nodes: [SessionsModule]! + """Filter by the object’s `refIds` field.""" + refIds: UUIDListFilter - """ - A list of edges which contains the `SessionsModule` and cursor to aid in pagination. - """ - edges: [SessionsModuleEdge]! + """Filter by the object’s `useUpdates` field.""" + useUpdates: BooleanFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `updateDefaults` field.""" + updateDefaults: BooleanFilter - """The count of *all* `SessionsModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `funcName` field.""" + funcName: StringFilter -type SessionsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - sessionsTableId: UUID! - sessionCredentialsTableId: UUID! - authSettingsTableId: UUID! - usersTableId: UUID! - sessionsDefaultExpiration: Interval! - sessionsTable: String! - sessionCredentialsTable: String! - authSettingsTable: String! + """Filter by the object’s `funcOrder` field.""" + funcOrder: IntFilter - """Reads a single `Table` that is related to this `SessionsModule`.""" - authSettingsTableByAuthSettingsTableId: Table + """Checks for all expressions in this list.""" + and: [DenormalizedTableFieldFilter!] - """Reads a single `Database` that is related to this `SessionsModule`.""" - database: Database + """Checks for any expressions in this list.""" + or: [DenormalizedTableFieldFilter!] - """Reads a single `Schema` that is related to this `SessionsModule`.""" - schema: Schema + """Negates the expression.""" + not: DenormalizedTableFieldFilter - """Reads a single `Table` that is related to this `SessionsModule`.""" - sessionCredentialsTableBySessionCredentialsTableId: Table + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads a single `Table` that is related to this `SessionsModule`.""" - sessionsTableBySessionsTableId: Table + """Filter by the object’s `field` relation.""" + field: FieldFilter - """Reads a single `Table` that is related to this `SessionsModule`.""" - usersTable: Table + """Filter by the object’s `refField` relation.""" + refField: FieldFilter + + """Filter by the object’s `refTable` relation.""" + refTable: TableFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -An interval of time that has passed where the smallest distinct unit is a second. +A filter to be used against many `EmailsModule` object types. All fields are combined with a logical ‘and.’ """ -type Interval { - """ - A quantity of seconds. This is the only non-integer field, as all the other - fields will dump their overflow into a smaller unit of time. Intervals don’t - have a smaller unit than seconds. - """ - seconds: Float - - """A quantity of minutes.""" - minutes: Int - - """A quantity of hours.""" - hours: Int - - """A quantity of days.""" - days: Int +input DatabaseToManyEmailsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: EmailsModuleFilter - """A quantity of months.""" - months: Int + """Filters to entities where every related entity matches.""" + every: EmailsModuleFilter - """A quantity of years.""" - years: Int + """Filters to entities where no related entity matches.""" + none: EmailsModuleFilter } -"""A `SessionsModule` edge in the connection.""" -type SessionsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `SessionsModule` at the end of the edge.""" - node: SessionsModule -} +""" +A filter to be used against `EmailsModule` object types. All fields are combined with a logical ‘and.’ +""" +input EmailsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""Methods to use when ordering `SessionsModule`.""" -enum SessionsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - SESSIONS_TABLE_ID_ASC - SESSIONS_TABLE_ID_DESC - SESSION_CREDENTIALS_TABLE_ID_ASC - SESSION_CREDENTIALS_TABLE_ID_DESC - AUTH_SETTINGS_TABLE_ID_ASC - AUTH_SETTINGS_TABLE_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - SESSIONS_DEFAULT_EXPIRATION_ASC - SESSIONS_DEFAULT_EXPIRATION_DESC - SESSIONS_TABLE_ASC - SESSIONS_TABLE_DESC - SESSION_CREDENTIALS_TABLE_ASC - SESSION_CREDENTIALS_TABLE_DESC - AUTH_SETTINGS_TABLE_ASC - AUTH_SETTINGS_TABLE_DESC -} + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter -"""A connection to a list of `UserAuthModule` values.""" -type UserAuthModuleConnection { - """A list of `UserAuthModule` objects.""" - nodes: [UserAuthModule]! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - A list of edges which contains the `UserAuthModule` and cursor to aid in pagination. - """ - edges: [UserAuthModuleEdge]! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """The count of *all* `UserAuthModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `ownerTableId` field.""" + ownerTableId: UUIDFilter -type UserAuthModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - emailsTableId: UUID! - usersTableId: UUID! - secretsTableId: UUID! - encryptedTableId: UUID! - sessionsTableId: UUID! - sessionCredentialsTableId: UUID! - auditsTableId: UUID! - auditsTableName: String! - signInFunction: String! - signUpFunction: String! - signOutFunction: String! - setPasswordFunction: String! - resetPasswordFunction: String! - forgotPasswordFunction: String! - sendVerificationEmailFunction: String! - verifyEmailFunction: String! - verifyPasswordFunction: String! - checkPasswordFunction: String! - sendAccountDeletionEmailFunction: String! - deleteAccountFunction: String! - signInCrossOriginFunction: String! - requestCrossOriginTokenFunction: String! - extendTokenExpires: String! + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Reads a single `Database` that is related to this `UserAuthModule`.""" - database: Database + """Checks for all expressions in this list.""" + and: [EmailsModuleFilter!] - """Reads a single `Table` that is related to this `UserAuthModule`.""" - emailsTable: Table + """Checks for any expressions in this list.""" + or: [EmailsModuleFilter!] - """Reads a single `Table` that is related to this `UserAuthModule`.""" - encryptedTable: Table + """Negates the expression.""" + not: EmailsModuleFilter - """Reads a single `Schema` that is related to this `UserAuthModule`.""" - schema: Schema + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads a single `Table` that is related to this `UserAuthModule`.""" - secretsTable: Table + """Filter by the object’s `ownerTable` relation.""" + ownerTable: TableFilter - """Reads a single `Table` that is related to this `UserAuthModule`.""" - sessionCredentialsTable: Table + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """Reads a single `Table` that is related to this `UserAuthModule`.""" - sessionsTable: Table + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """Reads a single `Table` that is related to this `UserAuthModule`.""" - usersTable: Table + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""A `UserAuthModule` edge in the connection.""" -type UserAuthModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `EncryptedSecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyEncryptedSecretsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: EncryptedSecretsModuleFilter - """The `UserAuthModule` at the end of the edge.""" - node: UserAuthModule -} + """Filters to entities where every related entity matches.""" + every: EncryptedSecretsModuleFilter -"""Methods to use when ordering `UserAuthModule`.""" -enum UserAuthModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - EMAILS_TABLE_ID_ASC - EMAILS_TABLE_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - SECRETS_TABLE_ID_ASC - SECRETS_TABLE_ID_DESC - ENCRYPTED_TABLE_ID_ASC - ENCRYPTED_TABLE_ID_DESC - SESSIONS_TABLE_ID_ASC - SESSIONS_TABLE_ID_DESC - SESSION_CREDENTIALS_TABLE_ID_ASC - SESSION_CREDENTIALS_TABLE_ID_DESC - AUDITS_TABLE_ID_ASC - AUDITS_TABLE_ID_DESC - AUDITS_TABLE_NAME_ASC - AUDITS_TABLE_NAME_DESC - SIGN_IN_FUNCTION_ASC - SIGN_IN_FUNCTION_DESC - SIGN_UP_FUNCTION_ASC - SIGN_UP_FUNCTION_DESC - SIGN_OUT_FUNCTION_ASC - SIGN_OUT_FUNCTION_DESC - SET_PASSWORD_FUNCTION_ASC - SET_PASSWORD_FUNCTION_DESC - RESET_PASSWORD_FUNCTION_ASC - RESET_PASSWORD_FUNCTION_DESC - FORGOT_PASSWORD_FUNCTION_ASC - FORGOT_PASSWORD_FUNCTION_DESC - SEND_VERIFICATION_EMAIL_FUNCTION_ASC - SEND_VERIFICATION_EMAIL_FUNCTION_DESC - VERIFY_EMAIL_FUNCTION_ASC - VERIFY_EMAIL_FUNCTION_DESC - VERIFY_PASSWORD_FUNCTION_ASC - VERIFY_PASSWORD_FUNCTION_DESC - CHECK_PASSWORD_FUNCTION_ASC - CHECK_PASSWORD_FUNCTION_DESC - SEND_ACCOUNT_DELETION_EMAIL_FUNCTION_ASC - SEND_ACCOUNT_DELETION_EMAIL_FUNCTION_DESC - DELETE_ACCOUNT_FUNCTION_ASC - DELETE_ACCOUNT_FUNCTION_DESC - SIGN_IN_CROSS_ORIGIN_FUNCTION_ASC - SIGN_IN_CROSS_ORIGIN_FUNCTION_DESC - REQUEST_CROSS_ORIGIN_TOKEN_FUNCTION_ASC - REQUEST_CROSS_ORIGIN_TOKEN_FUNCTION_DESC - EXTEND_TOKEN_EXPIRES_ASC - EXTEND_TOKEN_EXPIRES_DESC + """Filters to entities where no related entity matches.""" + none: EncryptedSecretsModuleFilter } -"""A connection to a list of `UsersModule` values.""" -type UsersModuleConnection { - """A list of `UsersModule` objects.""" - nodes: [UsersModule]! +""" +A filter to be used against `EncryptedSecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input EncryptedSecretsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `UsersModule` and cursor to aid in pagination. - """ - edges: [UsersModuleEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """The count of *all* `UsersModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter -type UsersModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - tableId: UUID! - tableName: String! - typeTableId: UUID! - typeTableName: String! + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Reads a single `Database` that is related to this `UsersModule`.""" - database: Database + """Checks for all expressions in this list.""" + and: [EncryptedSecretsModuleFilter!] - """Reads a single `Schema` that is related to this `UsersModule`.""" - schema: Schema + """Checks for any expressions in this list.""" + or: [EncryptedSecretsModuleFilter!] - """Reads a single `Table` that is related to this `UsersModule`.""" - table: Table + """Negates the expression.""" + not: EncryptedSecretsModuleFilter - """Reads a single `Table` that is related to this `UsersModule`.""" - typeTable: Table -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""A `UsersModule` edge in the connection.""" -type UsersModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """The `UsersModule` at the end of the edge.""" - node: UsersModule + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""Methods to use when ordering `UsersModule`.""" -enum UsersModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - TYPE_TABLE_ID_ASC - TYPE_TABLE_ID_DESC - TYPE_TABLE_NAME_ASC - TYPE_TABLE_NAME_DESC +""" +A filter to be used against many `InvitesModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyInvitesModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: InvitesModuleFilter + + """Filters to entities where every related entity matches.""" + every: InvitesModuleFilter + + """Filters to entities where no related entity matches.""" + none: InvitesModuleFilter } -type HierarchyModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - chartEdgesTableId: UUID! - chartEdgesTableName: String! - hierarchySprtTableId: UUID! - hierarchySprtTableName: String! - chartEdgeGrantsTableId: UUID! - chartEdgeGrantsTableName: String! - entityTableId: UUID! - usersTableId: UUID! - prefix: String! - privateSchemaName: String! - sprtTableName: String! - rebuildHierarchyFunction: String! - getSubordinatesFunction: String! - getManagersFunction: String! - isManagerOfFunction: String! - createdAt: Datetime! +""" +A filter to be used against `InvitesModule` object types. All fields are combined with a logical ‘and.’ +""" +input InvitesModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `HierarchyModule`.""" - chartEdgeGrantsTable: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `HierarchyModule`.""" - chartEdgesTable: Table + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `Database` that is related to this `HierarchyModule`.""" - database: Database + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads a single `Table` that is related to this `HierarchyModule`.""" - entityTable: Table + """Filter by the object’s `emailsTableId` field.""" + emailsTableId: UUIDFilter - """Reads a single `Table` that is related to this `HierarchyModule`.""" - hierarchySprtTable: Table + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """Reads a single `Schema` that is related to this `HierarchyModule`.""" - privateSchema: Schema + """Filter by the object’s `invitesTableId` field.""" + invitesTableId: UUIDFilter - """Reads a single `Schema` that is related to this `HierarchyModule`.""" - schema: Schema + """Filter by the object’s `claimedInvitesTableId` field.""" + claimedInvitesTableId: UUIDFilter - """Reads a single `Table` that is related to this `HierarchyModule`.""" - usersTable: Table -} + """Filter by the object’s `invitesTableName` field.""" + invitesTableName: StringFilter -"""A connection to a list of `Blueprint` values.""" -type BlueprintConnection { - """A list of `Blueprint` objects.""" - nodes: [Blueprint]! + """Filter by the object’s `claimedInvitesTableName` field.""" + claimedInvitesTableName: StringFilter - """ - A list of edges which contains the `Blueprint` and cursor to aid in pagination. - """ - edges: [BlueprintEdge]! + """Filter by the object’s `submitInviteCodeFunction` field.""" + submitInviteCodeFunction: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """The count of *all* `Blueprint` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter + + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter + + """Checks for all expressions in this list.""" + and: [InvitesModuleFilter!] + + """Checks for any expressions in this list.""" + or: [InvitesModuleFilter!] + + """Negates the expression.""" + not: InvitesModuleFilter + + """Filter by the object’s `claimedInvitesTable` relation.""" + claimedInvitesTable: TableFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `emailsTable` relation.""" + emailsTable: TableFilter + + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter + + """A related `entityTable` exists.""" + entityTableExists: Boolean + + """Filter by the object’s `invitesTable` relation.""" + invitesTable: TableFilter + + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter } """ -An owned, editable blueprint scoped to a specific database. Created by copying from a blueprint_template via copy_template_to_blueprint() or built from scratch. The owner can customize the definition at any time. Execute it with construct_blueprint() which creates a separate blueprint_construction record to track the build. +A filter to be used against many `LevelsModule` object types. All fields are combined with a logical ‘and.’ """ -type Blueprint { - """Unique identifier for this blueprint.""" - id: UUID! +input DatabaseToManyLevelsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: LevelsModuleFilter - """The user who owns this blueprint.""" - ownerId: UUID! + """Filters to entities where every related entity matches.""" + every: LevelsModuleFilter - """ - The database this blueprint is scoped to. Tables created by construct_blueprint() are provisioned in this database. - """ - databaseId: UUID! + """Filters to entities where no related entity matches.""" + none: LevelsModuleFilter +} - """Machine-readable name for the blueprint. Must be unique per database.""" - name: String! +""" +A filter to be used against `LevelsModule` object types. All fields are combined with a logical ‘and.’ +""" +input LevelsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Human-readable display name for the blueprint.""" - displayName: String! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Optional description of the blueprint.""" - description: String + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - The blueprint definition as a JSONB document. Contains tables[] (each with table_name, optional schema_name, nodes[] for data behaviors, fields[], grants[], and policies[] using $type), relations[] (using $type with source_table/target_table and optional source_schema/target_schema), indexes[] (using table_name + column), and full_text_searches[] (using table_name + field + sources[]). Everything is name-based — no UUIDs in the definition. - """ - definition: JSON! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """ - If this blueprint was created by copying a template, the ID of the source template. NULL if built from scratch. - """ - templateId: UUID + """Filter by the object’s `stepsTableId` field.""" + stepsTableId: UUIDFilter - """ - UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication and provenance tracking. Backend-computed — clients should never set this directly. - """ - definitionHash: UUID + """Filter by the object’s `stepsTableName` field.""" + stepsTableName: StringFilter - """ - JSONB map of table names to their individual UUIDv5 content hashes. Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across blueprints and templates. Backend-computed via trigger. - """ - tableHashes: JSON + """Filter by the object’s `achievementsTableId` field.""" + achievementsTableId: UUIDFilter - """Timestamp when this blueprint was created.""" - createdAt: Datetime! + """Filter by the object’s `achievementsTableName` field.""" + achievementsTableName: StringFilter - """Timestamp when this blueprint was last modified.""" - updatedAt: Datetime! + """Filter by the object’s `levelsTableId` field.""" + levelsTableId: UUIDFilter - """Reads a single `Database` that is related to this `Blueprint`.""" - database: Database + """Filter by the object’s `levelsTableName` field.""" + levelsTableName: StringFilter - """ - Reads a single `BlueprintTemplate` that is related to this `Blueprint`. - """ - template: BlueprintTemplate + """Filter by the object’s `levelRequirementsTableId` field.""" + levelRequirementsTableId: UUIDFilter - """Reads and enables pagination through a set of `BlueprintConstruction`.""" - blueprintConstructions( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `levelRequirementsTableName` field.""" + levelRequirementsTableName: StringFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `completedStep` field.""" + completedStep: StringFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filter by the object’s `incompletedStep` field.""" + incompletedStep: StringFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `tgAchievement` field.""" + tgAchievement: StringFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `tgAchievementToggle` field.""" + tgAchievementToggle: StringFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BlueprintConstructionFilter + """Filter by the object’s `tgAchievementToggleBoolean` field.""" + tgAchievementToggleBoolean: StringFilter - """The method to use when ordering `BlueprintConstruction`.""" - orderBy: [BlueprintConstructionOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintConstructionConnection! -} + """Filter by the object’s `tgAchievementBoolean` field.""" + tgAchievementBoolean: StringFilter -""" -A shareable, versioned schema recipe for the blueprint marketplace. Templates define arrays of secure_table_provision + relation_provision inputs that together describe a complete domain schema (e.g. e-commerce, telemedicine, habit tracker). Templates are never executed directly — they are copied into a blueprint first via copy_template_to_blueprint(). Can be private (owner-only) or public (marketplace-visible). -""" -type BlueprintTemplate { - """Unique identifier for this template.""" - id: UUID! + """Filter by the object’s `upsertAchievement` field.""" + upsertAchievement: StringFilter - """ - Machine-readable name for the template (e.g. e_commerce_basic). Must be unique per owner + version. - """ - name: String! + """Filter by the object’s `tgUpdateAchievements` field.""" + tgUpdateAchievements: StringFilter - """Semantic version string. Defaults to 1.0.0.""" - version: String! + """Filter by the object’s `stepsRequired` field.""" + stepsRequired: StringFilter - """Human-readable display name for the template (e.g. E-Commerce Basic).""" - displayName: String! + """Filter by the object’s `levelAchieved` field.""" + levelAchieved: StringFilter - """Optional description of what the template provisions.""" - description: String + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """The user who created or published this template.""" - ownerId: UUID! + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter - """ - Access control for the template. private: only the owner can see and copy. public: anyone can browse and copy from the marketplace. Defaults to private. - """ - visibility: String! + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter - """ - Domain categories for marketplace browsing (e.g. e-commerce, healthcare, social). Defaults to empty array. - """ - categories: [String]! + """Filter by the object’s `actorTableId` field.""" + actorTableId: UUIDFilter - """ - Freeform tags for search and discovery (e.g. products, orders, payments). Defaults to empty array. - """ - tags: [String]! + """Checks for all expressions in this list.""" + and: [LevelsModuleFilter!] - """ - The blueprint definition as a JSONB document. Contains tables[] (each with nodes[] for data behaviors via string shorthand or {"$type": "...", "data": {...}} objects, fields[], grants[], and policies[] using {"$type": "...", "data": {...}}), and relations[] (using $type for relation_type with junction config in data). This is the core payload that gets copied into a blueprint for execution. - """ - definition: JSON! + """Checks for any expressions in this list.""" + or: [LevelsModuleFilter!] - """ - Version of the definition format schema. Used for forward-compatible parsing. Defaults to 1. - """ - definitionSchemaVersion: String! + """Negates the expression.""" + not: LevelsModuleFilter - """ - Provenance of the template. user: manually created by a human. system: official curated template from the Constructive team. agent: AI-generated. Defaults to user. - """ - source: String! + """Filter by the object’s `achievementsTable` relation.""" + achievementsTable: TableFilter - """ - Complexity indicator for marketplace filtering. simple: 3-5 tables. moderate: 6-12 tables. complex: 13+ tables. NULL if not categorized. - """ - complexity: String + """Filter by the object’s `actorTable` relation.""" + actorTable: TableFilter - """ - Denormalized count of how many blueprints have been created from this template via copy_template_to_blueprint(). Incremented automatically. Defaults to 0. - """ - copyCount: Int! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - Denormalized count of how many derivative templates have been forked from this template. Defaults to 0. - """ - forkCount: Int! + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter - """ - If this template was forked from another template, the ID of the parent. NULL for original templates. - """ - forkedFromId: UUID + """A related `entityTable` exists.""" + entityTableExists: Boolean - """ - UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication, provenance tracking, and cross-blueprint structural comparison. NULL columns are backend-computed — clients should never set this directly. - """ - definitionHash: UUID + """Filter by the object’s `levelRequirementsTable` relation.""" + levelRequirementsTable: TableFilter - """ - JSONB map of table ref names to their individual UUIDv5 content hashes (e.g. {"products": "uuid", "categories": "uuid"}). Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across different blueprints. Backend-computed via trigger. - """ - tableHashes: JSON + """Filter by the object’s `levelsTable` relation.""" + levelsTable: TableFilter - """Timestamp when this template was created.""" - createdAt: Datetime! + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """Timestamp when this template was last modified.""" - updatedAt: Datetime! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """ - Reads a single `BlueprintTemplate` that is related to this `BlueprintTemplate`. - """ - forkedFrom: BlueprintTemplate + """Filter by the object’s `stepsTable` relation.""" + stepsTable: TableFilter +} - """Reads and enables pagination through a set of `BlueprintTemplate`.""" - blueprintTemplatesByForkedFromId( - """Only read the first `n` values of the set.""" - first: Int +""" +A filter to be used against many `LimitsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyLimitsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: LimitsModuleFilter - """Only read the last `n` values of the set.""" - last: Int + """Filters to entities where every related entity matches.""" + every: LimitsModuleFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filters to entities where no related entity matches.""" + none: LimitsModuleFilter +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +""" +A filter to be used against `LimitsModule` object types. All fields are combined with a logical ‘and.’ +""" +input LimitsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BlueprintTemplateFilter + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """The method to use when ordering `BlueprintTemplate`.""" - orderBy: [BlueprintTemplateOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintTemplateConnection! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads and enables pagination through a set of `Blueprint`.""" - blueprintsByTemplateId( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filter by the object’s `defaultTableId` field.""" + defaultTableId: UUIDFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `defaultTableName` field.""" + defaultTableName: StringFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `limitIncrementFunction` field.""" + limitIncrementFunction: StringFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BlueprintFilter + """Filter by the object’s `limitDecrementFunction` field.""" + limitDecrementFunction: StringFilter - """The method to use when ordering `Blueprint`.""" - orderBy: [BlueprintOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintConnection! -} + """Filter by the object’s `limitIncrementTrigger` field.""" + limitIncrementTrigger: StringFilter -"""A connection to a list of `BlueprintTemplate` values.""" -type BlueprintTemplateConnection { - """A list of `BlueprintTemplate` objects.""" - nodes: [BlueprintTemplate]! + """Filter by the object’s `limitDecrementTrigger` field.""" + limitDecrementTrigger: StringFilter - """ - A list of edges which contains the `BlueprintTemplate` and cursor to aid in pagination. - """ - edges: [BlueprintTemplateEdge]! + """Filter by the object’s `limitUpdateTrigger` field.""" + limitUpdateTrigger: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `limitCheckFunction` field.""" + limitCheckFunction: StringFilter - """ - The count of *all* `BlueprintTemplate` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `limitCreditsTableId` field.""" + limitCreditsTableId: UUIDFilter -"""A `BlueprintTemplate` edge in the connection.""" -type BlueprintTemplateEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `eventsTableId` field.""" + eventsTableId: UUIDFilter - """The `BlueprintTemplate` at the end of the edge.""" - node: BlueprintTemplate -} + """Filter by the object’s `creditCodesTableId` field.""" + creditCodesTableId: UUIDFilter -"""Methods to use when ordering `BlueprintTemplate`.""" -enum BlueprintTemplateOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - VERSION_ASC - VERSION_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - OWNER_ID_ASC - OWNER_ID_DESC - VISIBILITY_ASC - VISIBILITY_DESC - CATEGORIES_ASC - CATEGORIES_DESC - TAGS_ASC - TAGS_DESC - DEFINITION_ASC - DEFINITION_DESC - DEFINITION_SCHEMA_VERSION_ASC - DEFINITION_SCHEMA_VERSION_DESC - SOURCE_ASC - SOURCE_DESC - COMPLEXITY_ASC - COMPLEXITY_DESC - COPY_COUNT_ASC - COPY_COUNT_DESC - FORK_COUNT_ASC - FORK_COUNT_DESC - FORKED_FROM_ID_ASC - FORKED_FROM_ID_DESC - DEFINITION_HASH_ASC - DEFINITION_HASH_DESC - TABLE_HASHES_ASC - TABLE_HASHES_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `creditCodeItemsTableId` field.""" + creditCodeItemsTableId: UUIDFilter -"""Methods to use when ordering `Blueprint`.""" -enum BlueprintOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - NAME_ASC - NAME_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - DEFINITION_ASC - DEFINITION_DESC - TEMPLATE_ID_ASC - TEMPLATE_ID_DESC - DEFINITION_HASH_ASC - DEFINITION_HASH_DESC - TABLE_HASHES_ASC - TABLE_HASHES_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `creditRedemptionsTableId` field.""" + creditRedemptionsTableId: UUIDFilter -"""A connection to a list of `BlueprintConstruction` values.""" -type BlueprintConstructionConnection { - """A list of `BlueprintConstruction` objects.""" - nodes: [BlueprintConstruction]! + """Filter by the object’s `aggregateTableId` field.""" + aggregateTableId: UUIDFilter - """ - A list of edges which contains the `BlueprintConstruction` and cursor to aid in pagination. - """ - edges: [BlueprintConstructionEdge]! + """Filter by the object’s `limitCapsTableId` field.""" + limitCapsTableId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `limitCapsDefaultsTableId` field.""" + limitCapsDefaultsTableId: UUIDFilter - """ - The count of *all* `BlueprintConstruction` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `capCheckTrigger` field.""" + capCheckTrigger: StringFilter -""" -Tracks individual construction attempts of a blueprint. Each time construct_blueprint() is called, a new record is created here. This separates the editable blueprint definition from its build history, allowing blueprints to be re-executed, constructed into multiple databases, and maintain an audit trail of all construction attempts. -""" -type BlueprintConstruction { - """Unique identifier for this construction attempt.""" - id: UUID! + """Filter by the object’s `resolveCapFunction` field.""" + resolveCapFunction: StringFilter - """The blueprint that was constructed.""" - blueprintId: UUID! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """The database the blueprint was constructed into.""" - databaseId: UUID! + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter - """ - The default schema used for tables that did not specify an explicit schema_name. NULL if not yet resolved. - """ - schemaId: UUID + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter - """ - Execution state of this construction attempt. pending: created but not yet started. constructing: currently executing. constructed: successfully completed. failed: execution failed (see error_details). - """ - status: String! + """Filter by the object’s `actorTableId` field.""" + actorTableId: UUIDFilter - """ - Error message from a failed construction attempt. NULL unless status is failed. - """ - errorDetails: String + """Checks for all expressions in this list.""" + and: [LimitsModuleFilter!] - """ - Mapping of table names to created table UUIDs, populated after successful construction. Format: {"products": "uuid", "categories": "uuid", ...}. Defaults to empty object. - """ - tableMap: JSON! + """Checks for any expressions in this list.""" + or: [LimitsModuleFilter!] - """ - Immutable snapshot of the definition at construct-time. Preserved so the exact definition that was executed is recorded even if the user later modifies the blueprint definition. - """ - constructedDefinition: JSON + """Negates the expression.""" + not: LimitsModuleFilter - """ - Timestamp when construction successfully completed. NULL until constructed. - """ - constructedAt: Datetime + """Filter by the object’s `actorTable` relation.""" + actorTable: TableFilter - """Timestamp when this construction attempt was created.""" - createdAt: Datetime! + """Filter by the object’s `aggregateTable` relation.""" + aggregateTable: TableFilter - """Timestamp when this construction attempt was last modified.""" - updatedAt: Datetime! + """A related `aggregateTable` exists.""" + aggregateTableExists: Boolean - """ - Reads a single `Blueprint` that is related to this `BlueprintConstruction`. - """ - blueprint: Blueprint + """Filter by the object’s `creditCodeItemsTable` relation.""" + creditCodeItemsTable: TableFilter - """ - Reads a single `Database` that is related to this `BlueprintConstruction`. - """ - database: Database -} + """A related `creditCodeItemsTable` exists.""" + creditCodeItemsTableExists: Boolean -"""A `BlueprintConstruction` edge in the connection.""" -type BlueprintConstructionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `creditCodesTable` relation.""" + creditCodesTable: TableFilter - """The `BlueprintConstruction` at the end of the edge.""" - node: BlueprintConstruction -} + """A related `creditCodesTable` exists.""" + creditCodesTableExists: Boolean -"""Methods to use when ordering `BlueprintConstruction`.""" -enum BlueprintConstructionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - BLUEPRINT_ID_ASC - BLUEPRINT_ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - STATUS_ASC - STATUS_DESC - ERROR_DETAILS_ASC - ERROR_DETAILS_DESC - TABLE_MAP_ASC - TABLE_MAP_DESC - CONSTRUCTED_DEFINITION_ASC - CONSTRUCTED_DEFINITION_DESC - CONSTRUCTED_AT_ASC - CONSTRUCTED_AT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `creditRedemptionsTable` relation.""" + creditRedemptionsTable: TableFilter -"""A `Blueprint` edge in the connection.""" -type BlueprintEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """A related `creditRedemptionsTable` exists.""" + creditRedemptionsTableExists: Boolean - """The `Blueprint` at the end of the edge.""" - node: Blueprint -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""A connection to a list of `StorageModule` values.""" -type StorageModuleConnection { - """A list of `StorageModule` objects.""" - nodes: [StorageModule]! + """Filter by the object’s `defaultTable` relation.""" + defaultTable: TableFilter - """ - A list of edges which contains the `StorageModule` and cursor to aid in pagination. - """ - edges: [StorageModuleEdge]! + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """A related `entityTable` exists.""" + entityTableExists: Boolean - """The count of *all* `StorageModule` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `eventsTable` relation.""" + eventsTable: TableFilter -type StorageModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - bucketsTableId: UUID! - filesTableId: UUID! - bucketsTableName: String! - filesTableName: String! - membershipType: Int - policies: JSON - skipDefaultPolicyTables: [String]! - entityTableId: UUID - endpoint: String - publicUrlPrefix: String - provider: String - allowedOrigins: [String] - restrictReads: Boolean! - uploadUrlExpirySeconds: Int - downloadUrlExpirySeconds: Int - defaultMaxFileSize: BigInt - maxFilenameLength: Int - cacheTtlSeconds: Int + """A related `eventsTable` exists.""" + eventsTableExists: Boolean - """Reads a single `Table` that is related to this `StorageModule`.""" - bucketsTable: Table + """Filter by the object’s `limitCapsDefaultsTable` relation.""" + limitCapsDefaultsTable: TableFilter - """Reads a single `Database` that is related to this `StorageModule`.""" - database: Database + """A related `limitCapsDefaultsTable` exists.""" + limitCapsDefaultsTableExists: Boolean - """Reads a single `Table` that is related to this `StorageModule`.""" - entityTable: Table + """Filter by the object’s `limitCapsTable` relation.""" + limitCapsTable: TableFilter - """Reads a single `Table` that is related to this `StorageModule`.""" - filesTable: Table + """A related `limitCapsTable` exists.""" + limitCapsTableExists: Boolean - """Reads a single `Schema` that is related to this `StorageModule`.""" - privateSchema: Schema + """Filter by the object’s `limitCreditsTable` relation.""" + limitCreditsTable: TableFilter - """Reads a single `Schema` that is related to this `StorageModule`.""" - schema: Schema -} + """A related `limitCreditsTable` exists.""" + limitCreditsTableExists: Boolean -"""A `StorageModule` edge in the connection.""" -type StorageModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """The `StorageModule` at the end of the edge.""" - node: StorageModule + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""Methods to use when ordering `StorageModule`.""" -enum StorageModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - BUCKETS_TABLE_ID_ASC - BUCKETS_TABLE_ID_DESC - FILES_TABLE_ID_ASC - FILES_TABLE_ID_DESC - BUCKETS_TABLE_NAME_ASC - BUCKETS_TABLE_NAME_DESC - FILES_TABLE_NAME_ASC - FILES_TABLE_NAME_DESC - MEMBERSHIP_TYPE_ASC - MEMBERSHIP_TYPE_DESC - POLICIES_ASC - POLICIES_DESC - SKIP_DEFAULT_POLICY_TABLES_ASC - SKIP_DEFAULT_POLICY_TABLES_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - ENDPOINT_ASC - ENDPOINT_DESC - PUBLIC_URL_PREFIX_ASC - PUBLIC_URL_PREFIX_DESC - PROVIDER_ASC - PROVIDER_DESC - ALLOWED_ORIGINS_ASC - ALLOWED_ORIGINS_DESC - RESTRICT_READS_ASC - RESTRICT_READS_DESC - UPLOAD_URL_EXPIRY_SECONDS_ASC - UPLOAD_URL_EXPIRY_SECONDS_DESC - DOWNLOAD_URL_EXPIRY_SECONDS_ASC - DOWNLOAD_URL_EXPIRY_SECONDS_DESC - DEFAULT_MAX_FILE_SIZE_ASC - DEFAULT_MAX_FILE_SIZE_DESC - MAX_FILENAME_LENGTH_ASC - MAX_FILENAME_LENGTH_DESC - CACHE_TTL_SECONDS_ASC - CACHE_TTL_SECONDS_DESC +""" +A filter to be used against many `MembershipTypesModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyMembershipTypesModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: MembershipTypesModuleFilter + + """Filters to entities where every related entity matches.""" + every: MembershipTypesModuleFilter + + """Filters to entities where no related entity matches.""" + none: MembershipTypesModuleFilter } -"""A connection to a list of `EntityTypeProvision` values.""" -type EntityTypeProvisionConnection { - """A list of `EntityTypeProvision` objects.""" - nodes: [EntityTypeProvision]! +""" +A filter to be used against `MembershipTypesModule` object types. All fields are combined with a logical ‘and.’ +""" +input MembershipTypesModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - A list of edges which contains the `EntityTypeProvision` and cursor to aid in pagination. - """ - edges: [EntityTypeProvisionEdge]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - The count of *all* `EntityTypeProvision` you could get from the connection. - """ - totalCount: Int! + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter + + """Filter by the object’s `tableName` field.""" + tableName: StringFilter + + """Checks for all expressions in this list.""" + and: [MembershipTypesModuleFilter!] + + """Checks for any expressions in this list.""" + or: [MembershipTypesModuleFilter!] + + """Negates the expression.""" + not: MembershipTypesModuleFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -Provisions a new membership entity type. Each INSERT creates an entity table, registers a membership type, - and installs the required modules (permissions, memberships, limits) plus optional modules (profiles, levels, invites). - Uses provision_membership_table() internally. Graceful: duplicate (database_id, prefix) pairs are silently skipped - via the unique constraint (use INSERT ... ON CONFLICT DO NOTHING). - Policy behavior: by default the five entity-table RLS policies are applied (gated by is_visible). - Set table_provision to a single jsonb object (using the same shape as provision_table() / - blueprint tables[] entries) to replace the defaults with your own; set skip_entity_policies=true - as an escape hatch to apply zero policies. +A filter to be used against many `MembershipsModule` object types. All fields are combined with a logical ‘and.’ """ -type EntityTypeProvision { - """Unique identifier for this provision row.""" - id: UUID! +input DatabaseToManyMembershipsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: MembershipsModuleFilter - """The database to provision this entity type in. Required.""" - databaseId: UUID! + """Filters to entities where every related entity matches.""" + every: MembershipsModuleFilter - """ - Human-readable name for this entity type, e.g. 'Data Room', 'Team Channel'. Required. - Stored in the entity_types registry table. - """ - name: String! + """Filters to entities where no related entity matches.""" + none: MembershipsModuleFilter +} - """ - SQL prefix used for table and module naming, e.g. 'data_room', 'team_channel'. Required. - Drives entity table name (prefix || 's' by default), module labels (permissions_module:prefix), - and membership table names (prefix_memberships, prefix_members, etc.). - Must be unique per database — the (database_id, prefix) constraint ensures graceful ON CONFLICT DO NOTHING. - """ - prefix: String! +""" +A filter to be used against `MembershipsModule` object types. All fields are combined with a logical ‘and.’ +""" +input MembershipsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Description of this entity type. Stored in the entity_types registry table. Defaults to empty string. - """ - description: String! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - Prefix of the parent entity type. The trigger resolves this to a membership_type integer - by looking up memberships_module WHERE prefix = parent_entity. - Defaults to 'org' (the organization-level type). For nested types, set to the parent's prefix - (e.g. 'data_room' for a team_channel nested under data_room). - The parent type must already be provisioned before this INSERT. - """ - parentEntity: String! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - Override the entity table name. When NULL (default), the table name is derived as prefix || 's' - (e.g. prefix 'data_room' produces table 'data_rooms'). - Set this when the pluralization rule doesn't apply (e.g. prefix 'staff' should produce 'staff' not 'staffs'). - """ - tableName: String + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """ - Whether members of the parent entity can see child entities. Defaults to true. - When true: a SELECT policy allows parent members to list child entities (e.g. org members can see all data rooms). - When false: only direct members of the entity itself can see it (private entity mode). - Controls whether the parent_member SELECT policy is created on the entity table. - Only meaningful on the defaults path — ignored (no-op) when table_provision is non-NULL or - skip_entity_policies=true, since no default policies are being applied in those cases. - """ - isVisible: Boolean! + """Filter by the object’s `membershipsTableId` field.""" + membershipsTableId: UUIDFilter - """ - Whether to apply limits_module security for this type. Defaults to false. - The limits_module table structure is always created (memberships_module requires it), - but when false, no RLS policies are applied to the limits tables. - Set to true if this entity type needs configurable resource limits per membership. - """ - hasLimits: Boolean! + """Filter by the object’s `membershipsTableName` field.""" + membershipsTableName: StringFilter - """ - Whether to provision profiles_module for this type. Defaults to false. - Profiles provide named permission roles (e.g. 'Editor', 'Viewer') with pre-configured permission bitmasks. - When true, creates profile tables and applies profiles security. - """ - hasProfiles: Boolean! + """Filter by the object’s `membersTableId` field.""" + membersTableId: UUIDFilter - """ - Whether to provision levels_module for this type. Defaults to false. - Levels provide gamification/achievement tracking for members. - When true, creates level steps, achievements, and level tables with security. - """ - hasLevels: Boolean! + """Filter by the object’s `membersTableName` field.""" + membersTableName: StringFilter - """ - Whether to provision storage_module for this type. Defaults to false. - When true, creates {prefix}_buckets and {prefix}_files tables - with entity-scoped RLS (AuthzEntityMembership) using the entity's membership_type. - Storage tables get owner_id FK to the entity table, so files are owned by the entity. - """ - hasStorage: Boolean! + """Filter by the object’s `membershipDefaultsTableId` field.""" + membershipDefaultsTableId: UUIDFilter - """ - Whether to provision invites_module for this type. Defaults to false. - When true, the trigger inserts a row into invites_module which in turn - (via insert_invites_module BEFORE INSERT) creates {prefix}_invites and - {prefix}_claimed_invites tables plus the submit_{prefix}_invite_code() function. - Symmetric counterpart of has_storage. Re-provisioning is idempotent: the - UNIQUE (database_id, membership_type) constraint on invites_module combined with - ON CONFLICT DO NOTHING in the fan-out makes repeated INSERTs safe. - """ - hasInvites: Boolean! + """Filter by the object’s `membershipDefaultsTableName` field.""" + membershipDefaultsTableName: StringFilter - """ - Optional jsonb object for storage module configuration and initial bucket seeding. - Only used when has_storage = true; ignored otherwise. NULL = use defaults. - Recognized keys (all optional): - - upload_url_expiry_seconds (integer) presigned PUT URL expiry override - - download_url_expiry_seconds (integer) presigned GET URL expiry override - - default_max_file_size (bigint) global max file size in bytes for this scope - - allowed_origins (text[]) default CORS origins for all buckets in this scope - - buckets (jsonb[]) array of initial bucket definitions to seed - Each bucket in the buckets array recognizes: - - name (text, required) bucket name e.g. 'documents' - - description (text) human-readable description - - is_public (boolean) whether files are publicly readable (default false) - - allowed_mime_types (text[]) whitelist of MIME types (null = any) - - max_file_size (bigint) max file size in bytes (null = use scope default) - - allowed_origins (text[]) per-bucket CORS override - - provisions (jsonb object) optional: customize storage tables - with additional nodes, fields, grants, and policies. - Keyed by table role: "files", "buckets". - Each value uses the same shape as table_provision: - { nodes, fields, grants, use_rls, policies }. Fanned out - to secure_table_provision targeting the corresponding table. - When a key includes policies[], those REPLACE the default - storage policies for that table; tables without a key still - get defaults. Missing "data" on policy entries is auto-populated - with storage-specific defaults (same as table_provision). - Example: add SearchBm25 for full-text search on files: - {"provisions": {"files": {"nodes": [{"$type": - "SearchBm25", "data": {"source_fields": ["description"]}}]}}} - Example: - storage_config := '{"buckets": [{"name": "documents", "is_public": false, "allowed_mime_types": ["application/pdf"]}], "provisions": {"files": {"nodes": [{"$type": "SearchBm25", "data": {"source_fields": ["description"]}}]}}}'::jsonb - """ - storageConfig: JSON + """Filter by the object’s `membershipSettingsTableId` field.""" + membershipSettingsTableId: UUIDFilter - """ - Escape hatch: when true, apply zero RLS policies to the entity table. Defaults to false. - Use this only when you want the entity table provisioned with zero policies (e.g. because you - plan to insert secure_table_provision rows yourself later). In most cases, prefer leaving this - false and either accepting the five defaults (table_provision=NULL) or overriding them via - table_provision. - Defaults (applied when table_provision IS NULL and skip_entity_policies=false): - - SELECT (parent_member): parent entity members can see child entities (only when is_visible=true) - - SELECT (self_member): direct members of the entity can see it - - INSERT: create_entity permission on the parent entity - - UPDATE: admin_entity permission on the entity itself - - DELETE: owner of the entity can delete it - """ - skipEntityPolicies: Boolean! + """Filter by the object’s `membershipSettingsTableName` field.""" + membershipSettingsTableName: StringFilter - """ - Single jsonb object describing the full security setup to apply to the entity table. - Uses the same vocabulary as metaschema_modules_public.provision_table() and blueprint tables[] - entries, so an entity table is configured the same way an ordinary blueprint table is. - Defaults to NULL; when non-NULL, the five default policies are implicitly replaced by - table_provision.policies[] (is_visible becomes a no-op on this path). - Recognized keys (all optional): - - use_rls (boolean, default true) - - nodes (jsonb array of {"$type","data"} Data* module entries) - - fields (jsonb array of field objects: name,type,is_required,default,min,max,regexp,index) - - grants (jsonb array of grant objects; each with roles[] and privileges[]) - - policies (jsonb array of policy objects; each with $type, privileges, data, name, role, permissive) - The trigger forwards all setup (nodes/fields/grants/policies) as a single secure_table_provision row - against the newly created entity table. - Example — override with two SELECT policies: - table_provision := jsonb_build_object( - 'policies', jsonb_build_array( - jsonb_build_object( - '$type', 'AuthzEntityMembership', - 'privileges', jsonb_build_array('select'), - 'data', jsonb_build_object('entity_field', 'id', 'membership_type', 3), - 'name', 'self_member' - ), - jsonb_build_object( - '$type', 'AuthzDirectOwner', - 'privileges', jsonb_build_array('select', 'update'), - 'data', jsonb_build_object('owner_field', 'owner_id') - ) - ) - ) - """ - tableProvision: JSON + """Filter by the object’s `grantsTableId` field.""" + grantsTableId: UUIDFilter - """ - Output: the auto-assigned integer membership type ID. Populated by the trigger after successful provisioning. - This is the ID used in entity_types, memberships_module, and all module tables. - """ - outMembershipType: Int + """Filter by the object’s `grantsTableName` field.""" + grantsTableName: StringFilter - """ - Output: the UUID of the created entity table. Populated by the trigger. - Use this to reference the entity table in subsequent relation_provision or secure_table_provision rows. - """ - outEntityTableId: UUID + """Filter by the object’s `actorTableId` field.""" + actorTableId: UUIDFilter - """ - Output: the name of the created entity table (e.g. 'data_rooms'). Populated by the trigger. - """ - outEntityTableName: String + """Filter by the object’s `limitsTableId` field.""" + limitsTableId: UUIDFilter - """ - Output: array of installed module labels (e.g. ARRAY['permissions_module:data_room', 'memberships_module:data_room', 'invites_module:data_room']). - Populated by the trigger. Useful for verifying which modules were provisioned. - """ - outInstalledModules: [String] + """Filter by the object’s `defaultLimitsTableId` field.""" + defaultLimitsTableId: UUIDFilter - """ - Output: the UUID of the storage_module row created for this entity type. Populated by the trigger when has_storage=true. - """ - outStorageModuleId: UUID + """Filter by the object’s `permissionsTableId` field.""" + permissionsTableId: UUIDFilter - """ - Output: the UUID of the generated buckets table (e.g. data_room_buckets). Populated by the trigger when has_storage=true. - """ - outBucketsTableId: UUID + """Filter by the object’s `defaultPermissionsTableId` field.""" + defaultPermissionsTableId: UUIDFilter - """ - Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. - """ - outFilesTableId: UUID + """Filter by the object’s `sprtTableId` field.""" + sprtTableId: UUIDFilter - """ - Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. - NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING - (i.e. the invites_module row was created in a previous run). - """ - outInvitesModuleId: UUID + """Filter by the object’s `adminGrantsTableId` field.""" + adminGrantsTableId: UUIDFilter - """ - Reads a single `Database` that is related to this `EntityTypeProvision`. - """ - database: Database -} + """Filter by the object’s `adminGrantsTableName` field.""" + adminGrantsTableName: StringFilter -"""A `EntityTypeProvision` edge in the connection.""" -type EntityTypeProvisionEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `ownerGrantsTableId` field.""" + ownerGrantsTableId: UUIDFilter - """The `EntityTypeProvision` at the end of the edge.""" - node: EntityTypeProvision -} + """Filter by the object’s `ownerGrantsTableName` field.""" + ownerGrantsTableName: StringFilter -"""Methods to use when ordering `EntityTypeProvision`.""" -enum EntityTypeProvisionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - NAME_ASC - NAME_DESC - PREFIX_ASC - PREFIX_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - PARENT_ENTITY_ASC - PARENT_ENTITY_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC - IS_VISIBLE_ASC - IS_VISIBLE_DESC - HAS_LIMITS_ASC - HAS_LIMITS_DESC - HAS_PROFILES_ASC - HAS_PROFILES_DESC - HAS_LEVELS_ASC - HAS_LEVELS_DESC - HAS_STORAGE_ASC - HAS_STORAGE_DESC - HAS_INVITES_ASC - HAS_INVITES_DESC - STORAGE_CONFIG_ASC - STORAGE_CONFIG_DESC - SKIP_ENTITY_POLICIES_ASC - SKIP_ENTITY_POLICIES_DESC - TABLE_PROVISION_ASC - TABLE_PROVISION_DESC - OUT_MEMBERSHIP_TYPE_ASC - OUT_MEMBERSHIP_TYPE_DESC - OUT_ENTITY_TABLE_ID_ASC - OUT_ENTITY_TABLE_ID_DESC - OUT_ENTITY_TABLE_NAME_ASC - OUT_ENTITY_TABLE_NAME_DESC - OUT_INSTALLED_MODULES_ASC - OUT_INSTALLED_MODULES_DESC - OUT_STORAGE_MODULE_ID_ASC - OUT_STORAGE_MODULE_ID_DESC - OUT_BUCKETS_TABLE_ID_ASC - OUT_BUCKETS_TABLE_ID_DESC - OUT_FILES_TABLE_ID_ASC - OUT_FILES_TABLE_ID_DESC - OUT_INVITES_MODULE_ID_ASC - OUT_INVITES_MODULE_ID_DESC -} + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter -type RateLimitsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - rateLimitSettingsTableId: UUID! - ipRateLimitsTableId: UUID! - rateLimitsTableId: UUID! - rateLimitSettingsTable: String! - ipRateLimitsTable: String! - rateLimitsTable: String! + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter - """Reads a single `Database` that is related to this `RateLimitsModule`.""" - database: Database + """Filter by the object’s `entityTableOwnerId` field.""" + entityTableOwnerId: UUIDFilter - """Reads a single `Table` that is related to this `RateLimitsModule`.""" - ipRateLimitsTableByIpRateLimitsTableId: Table + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Reads a single `Table` that is related to this `RateLimitsModule`.""" - rateLimitSettingsTableByRateLimitSettingsTableId: Table + """Filter by the object’s `actorMaskCheck` field.""" + actorMaskCheck: StringFilter - """Reads a single `Table` that is related to this `RateLimitsModule`.""" - rateLimitsTableByRateLimitsTableId: Table + """Filter by the object’s `actorPermCheck` field.""" + actorPermCheck: StringFilter - """Reads a single `Schema` that is related to this `RateLimitsModule`.""" - schema: Schema -} + """Filter by the object’s `entityIdsByMask` field.""" + entityIdsByMask: StringFilter -type DevicesModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - userDevicesTableId: UUID! - deviceSettingsTableId: UUID! - userDevicesTable: String! - deviceSettingsTable: String! + """Filter by the object’s `entityIdsByPerm` field.""" + entityIdsByPerm: StringFilter - """Reads a single `Database` that is related to this `DevicesModule`.""" - database: Database + """Filter by the object’s `entityIdsFunction` field.""" + entityIdsFunction: StringFilter - """Reads a single `Table` that is related to this `DevicesModule`.""" - deviceSettingsTableByDeviceSettingsTableId: Table + """Filter by the object’s `memberProfilesTableId` field.""" + memberProfilesTableId: UUIDFilter - """Reads a single `Schema` that is related to this `DevicesModule`.""" - schema: Schema + """Checks for all expressions in this list.""" + and: [MembershipsModuleFilter!] - """Reads a single `Table` that is related to this `DevicesModule`.""" - userDevicesTableByUserDevicesTableId: Table -} + """Checks for any expressions in this list.""" + or: [MembershipsModuleFilter!] -"""A connection to a list of `WebauthnCredentialsModule` values.""" -type WebauthnCredentialsModuleConnection { - """A list of `WebauthnCredentialsModule` objects.""" - nodes: [WebauthnCredentialsModule]! + """Negates the expression.""" + not: MembershipsModuleFilter - """ - A list of edges which contains the `WebauthnCredentialsModule` and cursor to aid in pagination. - """ - edges: [WebauthnCredentialsModuleEdge]! + """Filter by the object’s `actorTable` relation.""" + actorTable: TableFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - The count of *all* `WebauthnCredentialsModule` you could get from the connection. - """ - totalCount: Int! + """Filter by the object’s `defaultLimitsTable` relation.""" + defaultLimitsTable: TableFilter + + """Filter by the object’s `defaultPermissionsTable` relation.""" + defaultPermissionsTable: TableFilter + + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter + + """A related `entityTable` exists.""" + entityTableExists: Boolean + + """Filter by the object’s `entityTableOwner` relation.""" + entityTableOwner: FieldFilter + + """A related `entityTableOwner` exists.""" + entityTableOwnerExists: Boolean + + """Filter by the object’s `grantsTable` relation.""" + grantsTable: TableFilter + + """Filter by the object’s `limitsTable` relation.""" + limitsTable: TableFilter + + """Filter by the object’s `membersTable` relation.""" + membersTable: TableFilter + + """Filter by the object’s `membershipDefaultsTable` relation.""" + membershipDefaultsTable: TableFilter + + """Filter by the object’s `membershipSettingsTable` relation.""" + membershipSettingsTable: TableFilter + + """A related `membershipSettingsTable` exists.""" + membershipSettingsTableExists: Boolean + + """Filter by the object’s `membershipsTable` relation.""" + membershipsTable: TableFilter + + """Filter by the object’s `permissionsTable` relation.""" + permissionsTable: TableFilter + + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `sprtTable` relation.""" + sprtTable: TableFilter } """ -Config row for the webauthn_credentials_module, which provisions the per-user WebAuthn/passkey credentials table (public key, counter, transports, device type, backup state) mirroring crypto_addresses_module. The sibling webauthn_auth_module holds RP config and the registration/sign-in challenge state. +A filter to be used against many `PermissionsModule` object types. All fields are combined with a logical ‘and.’ """ -type WebauthnCredentialsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! +input DatabaseToManyPermissionsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: PermissionsModuleFilter - """ - Private schema that hosts SECURITY DEFINER helpers which write to webauthn_credentials (registration / counter-bump / delete). - """ - privateSchemaId: UUID! - tableId: UUID! - ownerTableId: UUID! - tableName: String! + """Filters to entities where every related entity matches.""" + every: PermissionsModuleFilter - """ - Reads a single `Database` that is related to this `WebauthnCredentialsModule`. - """ - database: Database + """Filters to entities where no related entity matches.""" + none: PermissionsModuleFilter +} - """ - Reads a single `Table` that is related to this `WebauthnCredentialsModule`. - """ - ownerTable: Table +""" +A filter to be used against `PermissionsModule` object types. All fields are combined with a logical ‘and.’ +""" +input PermissionsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Reads a single `Schema` that is related to this `WebauthnCredentialsModule`. - """ - privateSchema: Schema + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - Reads a single `Schema` that is related to this `WebauthnCredentialsModule`. - """ - schema: Schema + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - Reads a single `Table` that is related to this `WebauthnCredentialsModule`. - """ - table: Table -} + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter -"""A `WebauthnCredentialsModule` edge in the connection.""" -type WebauthnCredentialsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """The `WebauthnCredentialsModule` at the end of the edge.""" - node: WebauthnCredentialsModule -} + """Filter by the object’s `tableName` field.""" + tableName: StringFilter -"""Methods to use when ordering `WebauthnCredentialsModule`.""" -enum WebauthnCredentialsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - TABLE_ID_ASC - TABLE_ID_DESC - OWNER_TABLE_ID_ASC - OWNER_TABLE_ID_DESC - TABLE_NAME_ASC - TABLE_NAME_DESC -} + """Filter by the object’s `defaultTableId` field.""" + defaultTableId: UUIDFilter -"""A connection to a list of `WebauthnAuthModule` values.""" -type WebauthnAuthModuleConnection { - """A list of `WebauthnAuthModule` objects.""" - nodes: [WebauthnAuthModule]! + """Filter by the object’s `defaultTableName` field.""" + defaultTableName: StringFilter - """ - A list of edges which contains the `WebauthnAuthModule` and cursor to aid in pagination. - """ - edges: [WebauthnAuthModuleEdge]! + """Filter by the object’s `bitlen` field.""" + bitlen: IntFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter - """ - The count of *all* `WebauthnAuthModule` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter -type WebauthnAuthModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - usersTableId: UUID! - credentialsTableId: UUID! - sessionsTableId: UUID! - sessionCredentialsTableId: UUID! - sessionSecretsTableId: UUID! - authSettingsTableId: UUID! - rpId: String! - rpName: String! - originAllowlist: [String]! - attestationType: String! - requireUserVerification: Boolean! - residentKey: String! - challengeExpiry: Interval! + """Filter by the object’s `actorTableId` field.""" + actorTableId: UUIDFilter - """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" - authSettingsTable: Table + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" - credentialsTable: Table + """Filter by the object’s `getPaddedMask` field.""" + getPaddedMask: StringFilter - """ - Reads a single `Database` that is related to this `WebauthnAuthModule`. - """ - database: Database + """Filter by the object’s `getMask` field.""" + getMask: StringFilter - """Reads a single `Schema` that is related to this `WebauthnAuthModule`.""" - schema: Schema + """Filter by the object’s `getByMask` field.""" + getByMask: StringFilter - """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" - sessionCredentialsTable: Table + """Filter by the object’s `getMaskByName` field.""" + getMaskByName: StringFilter - """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" - sessionSecretsTable: Table + """Checks for all expressions in this list.""" + and: [PermissionsModuleFilter!] - """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" - sessionsTable: Table + """Checks for any expressions in this list.""" + or: [PermissionsModuleFilter!] - """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" - usersTable: Table -} + """Negates the expression.""" + not: PermissionsModuleFilter -"""A `WebauthnAuthModule` edge in the connection.""" -type WebauthnAuthModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `actorTable` relation.""" + actorTable: TableFilter - """The `WebauthnAuthModule` at the end of the edge.""" - node: WebauthnAuthModule -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""Methods to use when ordering `WebauthnAuthModule`.""" -enum WebauthnAuthModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - CREDENTIALS_TABLE_ID_ASC - CREDENTIALS_TABLE_ID_DESC - SESSIONS_TABLE_ID_ASC - SESSIONS_TABLE_ID_DESC - SESSION_CREDENTIALS_TABLE_ID_ASC - SESSION_CREDENTIALS_TABLE_ID_DESC - SESSION_SECRETS_TABLE_ID_ASC - SESSION_SECRETS_TABLE_ID_DESC - AUTH_SETTINGS_TABLE_ID_ASC - AUTH_SETTINGS_TABLE_ID_DESC - RP_ID_ASC - RP_ID_DESC - RP_NAME_ASC - RP_NAME_DESC - ORIGIN_ALLOWLIST_ASC - ORIGIN_ALLOWLIST_DESC - ATTESTATION_TYPE_ASC - ATTESTATION_TYPE_DESC - REQUIRE_USER_VERIFICATION_ASC - REQUIRE_USER_VERIFICATION_DESC - RESIDENT_KEY_ASC - RESIDENT_KEY_DESC - CHALLENGE_EXPIRY_ASC - CHALLENGE_EXPIRY_DESC -} + """Filter by the object’s `defaultTable` relation.""" + defaultTable: TableFilter -"""A connection to a list of `NotificationsModule` values.""" -type NotificationsModuleConnection { - """A list of `NotificationsModule` objects.""" - nodes: [NotificationsModule]! + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter - """ - A list of edges which contains the `NotificationsModule` and cursor to aid in pagination. - """ - edges: [NotificationsModuleEdge]! + """A related `entityTable` exists.""" + entityTableExists: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """ - The count of *all* `NotificationsModule` you could get from the connection. - """ - totalCount: Int! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } -type NotificationsModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - notificationsTableId: UUID! - readStateTableId: UUID! - preferencesTableId: UUID - channelsTableId: UUID - deliveryLogTableId: UUID - ownerTableId: UUID! - userSettingsTableId: UUID - organizationSettingsTableId: UUID - hasChannels: Boolean! - hasPreferences: Boolean! - hasSettingsExtension: Boolean! - hasDigestMetadata: Boolean! - hasSubscriptions: Boolean! +""" +A filter to be used against many `PhoneNumbersModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyPhoneNumbersModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: PhoneNumbersModuleFilter - """Reads a single `Table` that is related to this `NotificationsModule`.""" - channelsTableByChannelsTableId: Table + """Filters to entities where every related entity matches.""" + every: PhoneNumbersModuleFilter - """ - Reads a single `Database` that is related to this `NotificationsModule`. - """ - database: Database + """Filters to entities where no related entity matches.""" + none: PhoneNumbersModuleFilter +} - """Reads a single `Table` that is related to this `NotificationsModule`.""" - deliveryLogTableByDeliveryLogTableId: Table +""" +A filter to be used against `PhoneNumbersModule` object types. All fields are combined with a logical ‘and.’ +""" +input PhoneNumbersModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Table` that is related to this `NotificationsModule`.""" - notificationsTableByNotificationsTableId: Table + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `NotificationsModule`.""" - organizationSettingsTableByOrganizationSettingsTableId: Table + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `Table` that is related to this `NotificationsModule`.""" - ownerTable: Table + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads a single `Table` that is related to this `NotificationsModule`.""" - preferencesTableByPreferencesTableId: Table + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Reads a single `Schema` that is related to this `NotificationsModule`.""" - privateSchema: Schema + """Filter by the object’s `ownerTableId` field.""" + ownerTableId: UUIDFilter - """Reads a single `Table` that is related to this `NotificationsModule`.""" - readStateTableByReadStateTableId: Table + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Reads a single `Schema` that is related to this `NotificationsModule`.""" - schema: Schema + """Checks for all expressions in this list.""" + and: [PhoneNumbersModuleFilter!] - """Reads a single `Table` that is related to this `NotificationsModule`.""" - userSettingsTableByUserSettingsTableId: Table -} + """Checks for any expressions in this list.""" + or: [PhoneNumbersModuleFilter!] -"""A `NotificationsModule` edge in the connection.""" -type NotificationsModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Negates the expression.""" + not: PhoneNumbersModuleFilter - """The `NotificationsModule` at the end of the edge.""" - node: NotificationsModule + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `ownerTable` relation.""" + ownerTable: TableFilter + + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""Methods to use when ordering `NotificationsModule`.""" -enum NotificationsModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - NOTIFICATIONS_TABLE_ID_ASC - NOTIFICATIONS_TABLE_ID_DESC - READ_STATE_TABLE_ID_ASC - READ_STATE_TABLE_ID_DESC - PREFERENCES_TABLE_ID_ASC - PREFERENCES_TABLE_ID_DESC - CHANNELS_TABLE_ID_ASC - CHANNELS_TABLE_ID_DESC - DELIVERY_LOG_TABLE_ID_ASC - DELIVERY_LOG_TABLE_ID_DESC - OWNER_TABLE_ID_ASC - OWNER_TABLE_ID_DESC - USER_SETTINGS_TABLE_ID_ASC - USER_SETTINGS_TABLE_ID_DESC - ORGANIZATION_SETTINGS_TABLE_ID_ASC - ORGANIZATION_SETTINGS_TABLE_ID_DESC - HAS_CHANNELS_ASC - HAS_CHANNELS_DESC - HAS_PREFERENCES_ASC - HAS_PREFERENCES_DESC - HAS_SETTINGS_EXTENSION_ASC - HAS_SETTINGS_EXTENSION_DESC - HAS_DIGEST_METADATA_ASC - HAS_DIGEST_METADATA_DESC - HAS_SUBSCRIPTIONS_ASC - HAS_SUBSCRIPTIONS_DESC +""" +A filter to be used against many `ProfilesModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyProfilesModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: ProfilesModuleFilter + + """Filters to entities where every related entity matches.""" + every: ProfilesModuleFilter + + """Filters to entities where no related entity matches.""" + none: ProfilesModuleFilter } -type PlansModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - plansTableId: UUID! - plansTableName: String! - planLimitsTableId: UUID! - planLimitsTableName: String! - applyPlanFunction: String! - applyPlanAggregateFunction: String! - prefix: String +""" +A filter to be used against `ProfilesModule` object types. All fields are combined with a logical ‘and.’ +""" +input ProfilesModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `Database` that is related to this `PlansModule`.""" - database: Database + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `Table` that is related to this `PlansModule`.""" - planLimitsTable: Table + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `Table` that is related to this `PlansModule`.""" - plansTable: Table + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads a single `Schema` that is related to this `PlansModule`.""" - privateSchema: Schema + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Reads a single `Schema` that is related to this `PlansModule`.""" - schema: Schema -} + """Filter by the object’s `tableName` field.""" + tableName: StringFilter -type BillingModule { - id: UUID! - databaseId: UUID! - schemaId: UUID! - privateSchemaId: UUID! - metersTableId: UUID! - metersTableName: String! - planSubscriptionsTableId: UUID! - planSubscriptionsTableName: String! - ledgerTableId: UUID! - ledgerTableName: String! - balancesTableId: UUID! - balancesTableName: String! - recordUsageFunction: String! - prefix: String + """Filter by the object’s `profilePermissionsTableId` field.""" + profilePermissionsTableId: UUIDFilter - """Reads a single `Table` that is related to this `BillingModule`.""" - balancesTable: Table + """Filter by the object’s `profilePermissionsTableName` field.""" + profilePermissionsTableName: StringFilter - """Reads a single `Database` that is related to this `BillingModule`.""" - database: Database + """Filter by the object’s `profileGrantsTableId` field.""" + profileGrantsTableId: UUIDFilter - """Reads a single `Table` that is related to this `BillingModule`.""" - ledgerTable: Table + """Filter by the object’s `profileGrantsTableName` field.""" + profileGrantsTableName: StringFilter - """Reads a single `Table` that is related to this `BillingModule`.""" - metersTable: Table + """Filter by the object’s `profileDefinitionGrantsTableId` field.""" + profileDefinitionGrantsTableId: UUIDFilter - """Reads a single `Table` that is related to this `BillingModule`.""" - planSubscriptionsTable: Table + """Filter by the object’s `profileDefinitionGrantsTableName` field.""" + profileDefinitionGrantsTableName: StringFilter - """Reads a single `Schema` that is related to this `BillingModule`.""" - privateSchema: Schema + """Filter by the object’s `profileTemplatesTableId` field.""" + profileTemplatesTableId: UUIDFilter - """Reads a single `Schema` that is related to this `BillingModule`.""" - schema: Schema -} + """Filter by the object’s `profileTemplatesTableName` field.""" + profileTemplatesTableName: StringFilter -"""A connection to a list of `DatabaseProvisionModule` values.""" -type DatabaseProvisionModuleConnection { - """A list of `DatabaseProvisionModule` objects.""" - nodes: [DatabaseProvisionModule]! + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter - """ - A list of edges which contains the `DatabaseProvisionModule` and cursor to aid in pagination. - """ - edges: [DatabaseProvisionModuleEdge]! + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `actorTableId` field.""" + actorTableId: UUIDFilter - """ - The count of *all* `DatabaseProvisionModule` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `permissionsTableId` field.""" + permissionsTableId: UUIDFilter -""" -Tracks database provisioning requests and their status. The BEFORE INSERT trigger creates the database and sets database_id before RLS policies are evaluated. -""" -type DatabaseProvisionModule { - id: UUID! + """Filter by the object’s `membershipsTableId` field.""" + membershipsTableId: UUIDFilter - """The name for the new database""" - databaseName: String! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """UUID of the user who owns this database""" - ownerId: UUID! + """Checks for all expressions in this list.""" + and: [ProfilesModuleFilter!] - """ - Subdomain prefix for the database. If null, auto-generated using unique_names + random chars - """ - subdomain: String + """Checks for any expressions in this list.""" + or: [ProfilesModuleFilter!] - """Base domain for the database (e.g., example.com)""" - domain: String! + """Negates the expression.""" + not: ProfilesModuleFilter - """Array of module IDs to install, or ["all"] for all modules""" - modules: [String]! + """Filter by the object’s `actorTable` relation.""" + actorTable: TableFilter - """Additional configuration options for provisioning""" - options: JSON! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - When true, copies the owner user and password hash from source database to the newly provisioned database - """ - bootstrapUser: Boolean! + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter - """Current status: pending, in_progress, completed, or failed""" - status: String! - errorMessage: String + """A related `entityTable` exists.""" + entityTableExists: Boolean - """The ID of the provisioned database (set by trigger before RLS check)""" - databaseId: UUID - createdAt: Datetime! - updatedAt: Datetime! - completedAt: Datetime + """Filter by the object’s `membershipsTable` relation.""" + membershipsTable: TableFilter - """ - Reads a single `Database` that is related to this `DatabaseProvisionModule`. - """ - database: Database -} + """Filter by the object’s `permissionsTable` relation.""" + permissionsTable: TableFilter -"""A `DatabaseProvisionModule` edge in the connection.""" -type DatabaseProvisionModuleEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """The `DatabaseProvisionModule` at the end of the edge.""" - node: DatabaseProvisionModule -} + """Filter by the object’s `profileDefinitionGrantsTable` relation.""" + profileDefinitionGrantsTable: TableFilter -"""Methods to use when ordering `DatabaseProvisionModule`.""" -enum DatabaseProvisionModuleOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATABASE_NAME_ASC - DATABASE_NAME_DESC - OWNER_ID_ASC - OWNER_ID_DESC - SUBDOMAIN_ASC - SUBDOMAIN_DESC - DOMAIN_ASC - DOMAIN_DESC - MODULES_ASC - MODULES_DESC - OPTIONS_ASC - OPTIONS_DESC - BOOTSTRAP_USER_ASC - BOOTSTRAP_USER_DESC - STATUS_ASC - STATUS_DESC - ERROR_MESSAGE_ASC - ERROR_MESSAGE_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - COMPLETED_AT_ASC - COMPLETED_AT_DESC -} + """Filter by the object’s `profileGrantsTable` relation.""" + profileGrantsTable: TableFilter -"""A `Database` edge in the connection.""" -type DatabaseEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `profilePermissionsTable` relation.""" + profilePermissionsTable: TableFilter - """The `Database` at the end of the edge.""" - node: Database -} + """Filter by the object’s `profileTemplatesTable` relation.""" + profileTemplatesTable: TableFilter -"""Methods to use when ordering `Database`.""" -enum DatabaseOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - SCHEMA_HASH_ASC - SCHEMA_HASH_DESC - NAME_ASC - NAME_DESC - LABEL_ASC - LABEL_DESC - HASH_ASC - HASH_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter + + """Filter by the object’s `table` relation.""" + table: TableFilter } """ -Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status +A filter to be used against `RlsModule` object types. All fields are combined with a logical ‘and.’ """ -type AppMembership { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID +input RlsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Whether this membership has been approved by an admin""" - isApproved: Boolean! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Whether this member has been banned from the entity""" - isBanned: Boolean! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Whether this membership is temporarily disabled""" - isDisabled: Boolean! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Whether this member has been verified (e.g. email confirmation)""" - isVerified: Boolean! + """Filter by the object’s `sessionCredentialsTableId` field.""" + sessionCredentialsTableId: UUIDFilter - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean! + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter - """Whether the actor is the owner of this entity""" - isOwner: Boolean! + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean! + """Filter by the object’s `authenticate` field.""" + authenticate: StringFilter - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString! + """Filter by the object’s `authenticateStrict` field.""" + authenticateStrict: StringFilter - """ - Bitmask of permissions directly granted to this member (not from profiles) - """ - granted: BitString! + """Filter by the object’s `currentRole` field.""" + currentRole: StringFilter - """References the user who holds this membership""" - actorId: UUID! - profileId: UUID - - """Reads a single `User` that is related to this `AppMembership`.""" - actor: User -} + """Filter by the object’s `currentRoleId` field.""" + currentRoleId: StringFilter -"""A connection to a list of `AppAdminGrant` values.""" -type AppAdminGrantConnection { - """A list of `AppAdminGrant` objects.""" - nodes: [AppAdminGrant]! + """Checks for all expressions in this list.""" + and: [RlsModuleFilter!] - """ - A list of edges which contains the `AppAdminGrant` and cursor to aid in pagination. - """ - edges: [AppAdminGrantEdge]! + """Checks for any expressions in this list.""" + or: [RlsModuleFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: RlsModuleFilter - """The count of *all* `AppAdminGrant` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""Records of admin role grants and revocations between members""" -type AppAdminGrant { - id: UUID! + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """The member receiving or losing the admin grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `sessionCredentialsTable` relation.""" + sessionCredentialsTable: TableFilter - """Reads a single `User` that is related to this `AppAdminGrant`.""" - actor: User + """Filter by the object’s `sessionsTable` relation.""" + sessionsTable: TableFilter - """Reads a single `User` that is related to this `AppAdminGrant`.""" - grantor: User + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter } -"""A `AppAdminGrant` edge in the connection.""" -type AppAdminGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `SecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySecretsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SecretsModuleFilter - """The `AppAdminGrant` at the end of the edge.""" - node: AppAdminGrant -} + """Filters to entities where every related entity matches.""" + every: SecretsModuleFilter -"""Methods to use when ordering `AppAdminGrant`.""" -enum AppAdminGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filters to entities where no related entity matches.""" + none: SecretsModuleFilter } -"""A connection to a list of `AppOwnerGrant` values.""" -type AppOwnerGrantConnection { - """A list of `AppOwnerGrant` objects.""" - nodes: [AppOwnerGrant]! - - """ - A list of edges which contains the `AppOwnerGrant` and cursor to aid in pagination. - """ - edges: [AppOwnerGrantEdge]! +""" +A filter to be used against `SecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input SecretsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """The count of *all* `AppOwnerGrant` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""Records of ownership transfers and grants between members""" -type AppOwnerGrant { - id: UUID! + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean! + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """The member receiving or losing the ownership grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Checks for all expressions in this list.""" + and: [SecretsModuleFilter!] - """Reads a single `User` that is related to this `AppOwnerGrant`.""" - actor: User + """Checks for any expressions in this list.""" + or: [SecretsModuleFilter!] - """Reads a single `User` that is related to this `AppOwnerGrant`.""" - grantor: User -} + """Negates the expression.""" + not: SecretsModuleFilter -"""A `AppOwnerGrant` edge in the connection.""" -type AppOwnerGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """The `AppOwnerGrant` at the end of the edge.""" - node: AppOwnerGrant -} + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter -"""Methods to use when ordering `AppOwnerGrant`.""" -enum AppOwnerGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""A connection to a list of `AppGrant` values.""" -type AppGrantConnection { - """A list of `AppGrant` objects.""" - nodes: [AppGrant]! - - """ - A list of edges which contains the `AppGrant` and cursor to aid in pagination. - """ - edges: [AppGrantEdge]! +""" +A filter to be used against many `SessionsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySessionsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SessionsModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: SessionsModuleFilter - """The count of *all* `AppGrant` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: SessionsModuleFilter } """ -Records of individual permission grants and revocations for members via bitmask +A filter to be used against `SessionsModule` object types. All fields are combined with a logical ‘and.’ """ -type AppGrant { - id: UUID! - - """Bitmask of permissions being granted or revoked""" - permissions: BitString! - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean! - - """The member receiving or losing the permission grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime - - """Reads a single `User` that is related to this `AppGrant`.""" - actor: User +input SessionsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `User` that is related to this `AppGrant`.""" - grantor: User -} + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter -"""A `AppGrant` edge in the connection.""" -type AppGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """The `AppGrant` at the end of the edge.""" - node: AppGrant -} + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter -"""Methods to use when ordering `AppGrant`.""" -enum AppGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `sessionCredentialsTableId` field.""" + sessionCredentialsTableId: UUIDFilter -"""A connection to a list of `OrgMembership` values.""" -type OrgMembershipConnection { - """A list of `OrgMembership` objects.""" - nodes: [OrgMembership]! + """Filter by the object’s `authSettingsTableId` field.""" + authSettingsTableId: UUIDFilter - """ - A list of edges which contains the `OrgMembership` and cursor to aid in pagination. - """ - edges: [OrgMembershipEdge]! + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `sessionsDefaultExpiration` field.""" + sessionsDefaultExpiration: IntervalFilter - """The count of *all* `OrgMembership` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `sessionsTable` field.""" + sessionsTable: StringFilter -""" -Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status -""" -type OrgMembership { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Filter by the object’s `sessionCredentialsTable` field.""" + sessionCredentialsTable: StringFilter - """Whether this membership has been approved by an admin""" - isApproved: Boolean! + """Filter by the object’s `authSettingsTable` field.""" + authSettingsTable: StringFilter - """Whether this member has been banned from the entity""" - isBanned: Boolean! + """Checks for all expressions in this list.""" + and: [SessionsModuleFilter!] - """Whether this membership is temporarily disabled""" - isDisabled: Boolean! + """Checks for any expressions in this list.""" + or: [SessionsModuleFilter!] - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean! + """Negates the expression.""" + not: SessionsModuleFilter """ - Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + Filter by the object’s `authSettingsTableByAuthSettingsTableId` relation. """ - isExternal: Boolean! - - """Whether the actor is the owner of this entity""" - isOwner: Boolean! + authSettingsTableByAuthSettingsTableId: TableFilter - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter """ - Bitmask of permissions directly granted to this member (not from profiles) + Filter by the object’s `sessionCredentialsTableBySessionCredentialsTableId` relation. """ - granted: BitString! - - """References the user who holds this membership""" - actorId: UUID! + sessionCredentialsTableBySessionCredentialsTableId: TableFilter - """References the entity (org or group) this membership belongs to""" - entityId: UUID! + """Filter by the object’s `sessionsTableBySessionsTableId` relation.""" + sessionsTableBySessionsTableId: TableFilter - """Whether this member has read-only access (blocks mutations when true)""" - isReadOnly: Boolean! - profileId: UUID + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter +} - """Reads a single `User` that is related to this `OrgMembership`.""" - actor: User +""" +A filter to be used against many `UserAuthModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyUserAuthModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: UserAuthModuleFilter - """Reads a single `User` that is related to this `OrgMembership`.""" - entity: User + """Filters to entities where every related entity matches.""" + every: UserAuthModuleFilter - """ - Reads a single `OrgMemberProfile` that is related to this `OrgMembership`. - """ - orgMemberProfileByMembershipId: OrgMemberProfile + """Filters to entities where no related entity matches.""" + none: UserAuthModuleFilter } """ -Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) +A filter to be used against `UserAuthModule` object types. All fields are combined with a logical ‘and.’ """ -type OrgMemberProfile { - id: UUID! - createdAt: Datetime - updatedAt: Datetime +input UserAuthModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """References the membership this profile belongs to (1:1)""" - membershipId: UUID! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """References the entity this profile belongs to (used for RLS lookups)""" - entityId: UUID! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """References the user who owns this profile (for self-edit RLS)""" - actorId: UUID! + """Filter by the object’s `emailsTableId` field.""" + emailsTableId: UUIDFilter - """Display name shown to other entity members""" - displayName: String + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """ - Email address visible to other entity members (auto-populated from verified primary email) - """ - email: String + """Filter by the object’s `secretsTableId` field.""" + secretsTableId: UUIDFilter - """Job title or role description visible to other entity members""" - title: String + """Filter by the object’s `encryptedTableId` field.""" + encryptedTableId: UUIDFilter - """Short biography visible to other entity members""" - bio: String + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter - """Profile picture visible to other entity members""" - profilePicture: ConstructiveInternalTypeImage + """Filter by the object’s `sessionCredentialsTableId` field.""" + sessionCredentialsTableId: UUIDFilter - """Reads a single `User` that is related to this `OrgMemberProfile`.""" - actor: User + """Filter by the object’s `auditsTableId` field.""" + auditsTableId: UUIDFilter - """Reads a single `User` that is related to this `OrgMemberProfile`.""" - entity: User + """Filter by the object’s `auditsTableName` field.""" + auditsTableName: StringFilter - """ - Reads a single `OrgMembership` that is related to this `OrgMemberProfile`. - """ - membership: OrgMembership -} + """Filter by the object’s `signInFunction` field.""" + signInFunction: StringFilter -"""A `OrgMembership` edge in the connection.""" -type OrgMembershipEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `signUpFunction` field.""" + signUpFunction: StringFilter - """The `OrgMembership` at the end of the edge.""" - node: OrgMembership -} + """Filter by the object’s `signOutFunction` field.""" + signOutFunction: StringFilter -"""Methods to use when ordering `OrgMembership`.""" -enum OrgMembershipOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - IS_BANNED_ASC - IS_BANNED_DESC - IS_DISABLED_ASC - IS_DISABLED_DESC - IS_ACTIVE_ASC - IS_ACTIVE_DESC - IS_EXTERNAL_ASC - IS_EXTERNAL_DESC - IS_OWNER_ASC - IS_OWNER_DESC - IS_ADMIN_ASC - IS_ADMIN_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - GRANTED_ASC - GRANTED_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - IS_READ_ONLY_ASC - IS_READ_ONLY_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC -} + """Filter by the object’s `setPasswordFunction` field.""" + setPasswordFunction: StringFilter -""" -Default membership settings per entity, controlling initial approval and verification state for new members -""" -type OrgMembershipDefault { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Filter by the object’s `resetPasswordFunction` field.""" + resetPasswordFunction: StringFilter - """Whether new members are automatically approved upon joining""" - isApproved: Boolean! + """Filter by the object’s `forgotPasswordFunction` field.""" + forgotPasswordFunction: StringFilter - """References the entity these membership defaults apply to""" - entityId: UUID! + """Filter by the object’s `sendVerificationEmailFunction` field.""" + sendVerificationEmailFunction: StringFilter - """Reads a single `User` that is related to this `OrgMembershipDefault`.""" - entity: User -} + """Filter by the object’s `verifyEmailFunction` field.""" + verifyEmailFunction: StringFilter -"""Per-entity settings for the memberships module""" -type OrgMembershipSetting { - id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Filter by the object’s `verifyPasswordFunction` field.""" + verifyPasswordFunction: StringFilter - """References the entity these settings apply to""" - entityId: UUID! + """Filter by the object’s `checkPasswordFunction` field.""" + checkPasswordFunction: StringFilter - """ - When a member is deleted, whether to cascade-remove their descendant-entity memberships - """ - deleteMemberCascadeChildren: Boolean! + """Filter by the object’s `sendAccountDeletionEmailFunction` field.""" + sendAccountDeletionEmailFunction: StringFilter - """ - When a child entity is created, whether to auto-add existing org-level owners as child-entity owners - """ - createChildCascadeOwners: Boolean! + """Filter by the object’s `deleteAccountFunction` field.""" + deleteAccountFunction: StringFilter - """ - When a child entity is created, whether to auto-add existing org-level admins as child-entity admins - """ - createChildCascadeAdmins: Boolean! + """Filter by the object’s `signInCrossOriginFunction` field.""" + signInCrossOriginFunction: StringFilter - """ - When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members - """ - createChildCascadeMembers: Boolean! + """Filter by the object’s `requestCrossOriginTokenFunction` field.""" + requestCrossOriginTokenFunction: StringFilter - """ - Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) - """ - allowExternalMembers: Boolean! + """Filter by the object’s `extendTokenExpires` field.""" + extendTokenExpires: StringFilter - """ - Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) - """ - inviteProfileAssignmentMode: String! + """Checks for all expressions in this list.""" + and: [UserAuthModuleFilter!] - """ - Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. - """ - populateMemberEmail: Boolean! + """Checks for any expressions in this list.""" + or: [UserAuthModuleFilter!] - """ - Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) - """ - limitAllocationMode: String! + """Negates the expression.""" + not: UserAuthModuleFilter - """Reads a single `User` that is related to this `OrgMembershipSetting`.""" - entity: User -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""A connection to a list of `OrgMember` values.""" -type OrgMemberConnection { - """A list of `OrgMember` objects.""" - nodes: [OrgMember]! + """Filter by the object’s `emailsTable` relation.""" + emailsTable: TableFilter - """ - A list of edges which contains the `OrgMember` and cursor to aid in pagination. - """ - edges: [OrgMemberEdge]! + """Filter by the object’s `encryptedTable` relation.""" + encryptedTable: TableFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """The count of *all* `OrgMember` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `secretsTable` relation.""" + secretsTable: TableFilter + + """Filter by the object’s `sessionCredentialsTable` relation.""" + sessionCredentialsTable: TableFilter + + """Filter by the object’s `sessionsTable` relation.""" + sessionsTable: TableFilter + + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter } """ -Simplified view of active members in an entity, used for listing who belongs to an org or group +A filter to be used against many `UsersModule` object types. All fields are combined with a logical ‘and.’ """ -type OrgMember { - id: UUID! +input DatabaseToManyUsersModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: UsersModuleFilter - """Whether this member has admin privileges""" - isAdmin: Boolean! + """Filters to entities where every related entity matches.""" + every: UsersModuleFilter - """References the user who is a member""" - actorId: UUID! + """Filters to entities where no related entity matches.""" + none: UsersModuleFilter +} - """References the entity (org or group) this member belongs to""" - entityId: UUID! +""" +A filter to be used against `UsersModule` object types. All fields are combined with a logical ‘and.’ +""" +input UsersModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `User` that is related to this `OrgMember`.""" - actor: User + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `User` that is related to this `OrgMember`.""" - entity: User -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A `OrgMember` edge in the connection.""" -type OrgMemberEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """The `OrgMember` at the end of the edge.""" - node: OrgMember -} + """Filter by the object’s `tableName` field.""" + tableName: StringFilter -"""Methods to use when ordering `OrgMember`.""" -enum OrgMemberOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_ADMIN_ASC - IS_ADMIN_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} + """Filter by the object’s `typeTableId` field.""" + typeTableId: UUIDFilter -"""A connection to a list of `OrgAdminGrant` values.""" -type OrgAdminGrantConnection { - """A list of `OrgAdminGrant` objects.""" - nodes: [OrgAdminGrant]! + """Filter by the object’s `typeTableName` field.""" + typeTableName: StringFilter - """ - A list of edges which contains the `OrgAdminGrant` and cursor to aid in pagination. - """ - edges: [OrgAdminGrantEdge]! + """Checks for all expressions in this list.""" + and: [UsersModuleFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Checks for any expressions in this list.""" + or: [UsersModuleFilter!] - """The count of *all* `OrgAdminGrant` you could get from the connection.""" - totalCount: Int! -} + """Negates the expression.""" + not: UsersModuleFilter -"""Records of admin role grants and revocations between members""" -type OrgAdminGrant { - id: UUID! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """The member receiving or losing the admin grant""" - actorId: UUID! + """Filter by the object’s `table` relation.""" + table: TableFilter - """The entity (org or group) this admin grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `typeTable` relation.""" + typeTable: TableFilter +} - """Reads a single `User` that is related to this `OrgAdminGrant`.""" - actor: User +""" +A filter to be used against `HierarchyModule` object types. All fields are combined with a logical ‘and.’ +""" +input HierarchyModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `User` that is related to this `OrgAdminGrant`.""" - entity: User + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `User` that is related to this `OrgAdminGrant`.""" - grantor: User -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A `OrgAdminGrant` edge in the connection.""" -type OrgAdminGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """The `OrgAdminGrant` at the end of the edge.""" - node: OrgAdminGrant -} + """Filter by the object’s `chartEdgesTableId` field.""" + chartEdgesTableId: UUIDFilter -"""Methods to use when ordering `OrgAdminGrant`.""" -enum OrgAdminGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `chartEdgesTableName` field.""" + chartEdgesTableName: StringFilter -"""A connection to a list of `OrgOwnerGrant` values.""" -type OrgOwnerGrantConnection { - """A list of `OrgOwnerGrant` objects.""" - nodes: [OrgOwnerGrant]! + """Filter by the object’s `hierarchySprtTableId` field.""" + hierarchySprtTableId: UUIDFilter - """ - A list of edges which contains the `OrgOwnerGrant` and cursor to aid in pagination. - """ - edges: [OrgOwnerGrantEdge]! + """Filter by the object’s `hierarchySprtTableName` field.""" + hierarchySprtTableName: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `chartEdgeGrantsTableId` field.""" + chartEdgeGrantsTableId: UUIDFilter - """The count of *all* `OrgOwnerGrant` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `chartEdgeGrantsTableName` field.""" + chartEdgeGrantsTableName: StringFilter -"""Records of ownership transfers and grants between members""" -type OrgOwnerGrant { - id: UUID! + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean! + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """The member receiving or losing the ownership grant""" - actorId: UUID! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """The entity (org or group) this ownership grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `privateSchemaName` field.""" + privateSchemaName: StringFilter - """Reads a single `User` that is related to this `OrgOwnerGrant`.""" - actor: User + """Filter by the object’s `sprtTableName` field.""" + sprtTableName: StringFilter - """Reads a single `User` that is related to this `OrgOwnerGrant`.""" - entity: User + """Filter by the object’s `rebuildHierarchyFunction` field.""" + rebuildHierarchyFunction: StringFilter - """Reads a single `User` that is related to this `OrgOwnerGrant`.""" - grantor: User -} + """Filter by the object’s `getSubordinatesFunction` field.""" + getSubordinatesFunction: StringFilter -"""A `OrgOwnerGrant` edge in the connection.""" -type OrgOwnerGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `getManagersFunction` field.""" + getManagersFunction: StringFilter - """The `OrgOwnerGrant` at the end of the edge.""" - node: OrgOwnerGrant -} + """Filter by the object’s `isManagerOfFunction` field.""" + isManagerOfFunction: StringFilter -"""Methods to use when ordering `OrgOwnerGrant`.""" -enum OrgOwnerGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""A connection to a list of `OrgMemberProfile` values.""" -type OrgMemberProfileConnection { - """A list of `OrgMemberProfile` objects.""" - nodes: [OrgMemberProfile]! + """Checks for all expressions in this list.""" + and: [HierarchyModuleFilter!] - """ - A list of edges which contains the `OrgMemberProfile` and cursor to aid in pagination. - """ - edges: [OrgMemberProfileEdge]! + """Checks for any expressions in this list.""" + or: [HierarchyModuleFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: HierarchyModuleFilter - """ - The count of *all* `OrgMemberProfile` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `chartEdgeGrantsTable` relation.""" + chartEdgeGrantsTable: TableFilter -"""A `OrgMemberProfile` edge in the connection.""" -type OrgMemberProfileEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `chartEdgesTable` relation.""" + chartEdgesTable: TableFilter - """The `OrgMemberProfile` at the end of the edge.""" - node: OrgMemberProfile -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""Methods to use when ordering `OrgMemberProfile`.""" -enum OrgMemberProfileOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - MEMBERSHIP_ID_ASC - MEMBERSHIP_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC - EMAIL_ASC - EMAIL_DESC - TITLE_ASC - TITLE_DESC - BIO_ASC - BIO_DESC - PROFILE_PICTURE_ASC - PROFILE_PICTURE_DESC -} + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter -"""A connection to a list of `OrgGrant` values.""" -type OrgGrantConnection { - """A list of `OrgGrant` objects.""" - nodes: [OrgGrant]! + """Filter by the object’s `hierarchySprtTable` relation.""" + hierarchySprtTable: TableFilter - """ - A list of edges which contains the `OrgGrant` and cursor to aid in pagination. - """ - edges: [OrgGrantEdge]! + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """The count of *all* `OrgGrant` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter } """ -Records of individual permission grants and revocations for members via bitmask +A filter to be used against many `SecureTableProvision` object types. All fields are combined with a logical ‘and.’ """ -type OrgGrant { - id: UUID! - - """Bitmask of permissions being granted or revoked""" - permissions: BitString! - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean! - - """The member receiving or losing the permission grant""" - actorId: UUID! - - """The entity (org or group) this permission grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime - - """Reads a single `User` that is related to this `OrgGrant`.""" - actor: User +input DatabaseToManySecureTableProvisionFilter { + """Filters to entities where at least one related entity matches.""" + some: SecureTableProvisionFilter - """Reads a single `User` that is related to this `OrgGrant`.""" - entity: User + """Filters to entities where every related entity matches.""" + every: SecureTableProvisionFilter - """Reads a single `User` that is related to this `OrgGrant`.""" - grantor: User + """Filters to entities where no related entity matches.""" + none: SecureTableProvisionFilter } -"""A `OrgGrant` edge in the connection.""" -type OrgGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `RelationProvision` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyRelationProvisionFilter { + """Filters to entities where at least one related entity matches.""" + some: RelationProvisionFilter - """The `OrgGrant` at the end of the edge.""" - node: OrgGrant -} + """Filters to entities where every related entity matches.""" + every: RelationProvisionFilter -"""Methods to use when ordering `OrgGrant`.""" -enum OrgGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - IS_GRANT_ASC - IS_GRANT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filters to entities where no related entity matches.""" + none: RelationProvisionFilter } -"""A connection to a list of `OrgChartEdge` values.""" -type OrgChartEdgeConnection { - """A list of `OrgChartEdge` objects.""" - nodes: [OrgChartEdge]! - - """ - A list of edges which contains the `OrgChartEdge` and cursor to aid in pagination. - """ - edges: [OrgChartEdgeEdge]! +""" +A filter to be used against many `Blueprint` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyBlueprintFilter { + """Filters to entities where at least one related entity matches.""" + some: BlueprintFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: BlueprintFilter - """The count of *all* `OrgChartEdge` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: BlueprintFilter } """ -Organizational chart edges defining parent-child reporting relationships between members within an entity +A filter to be used against `Blueprint` object types. All fields are combined with a logical ‘and.’ """ -type OrgChartEdge { - id: UUID! - createdAt: Datetime - updatedAt: Datetime +input BlueprintFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Organization this hierarchy edge belongs to""" - entityId: UUID! + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """User ID of the subordinate (employee) in this reporting relationship""" - childId: UUID! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - User ID of the manager; NULL indicates a top-level position with no direct report - """ - parentId: UUID + """Filter by the object’s `name` field.""" + name: StringFilter - """Job title or role name for this position in the org chart""" - positionTitle: String + """Filter by the object’s `displayName` field.""" + displayName: StringFilter - """Numeric seniority level for this position (higher = more senior)""" - positionLevel: Int + """Filter by the object’s `description` field.""" + description: StringFilter - """Reads a single `User` that is related to this `OrgChartEdge`.""" - child: User + """Filter by the object’s `definition` field.""" + definition: JSONFilter - """Reads a single `User` that is related to this `OrgChartEdge`.""" - entity: User + """Filter by the object’s `templateId` field.""" + templateId: UUIDFilter - """Reads a single `User` that is related to this `OrgChartEdge`.""" - parent: User -} + """Filter by the object’s `definitionHash` field.""" + definitionHash: UUIDFilter -"""A `OrgChartEdge` edge in the connection.""" -type OrgChartEdgeEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `tableHashes` field.""" + tableHashes: JSONFilter - """The `OrgChartEdge` at the end of the edge.""" - node: OrgChartEdge -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""Methods to use when ordering `OrgChartEdge`.""" -enum OrgChartEdgeOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - CHILD_ID_ASC - CHILD_ID_DESC - PARENT_ID_ASC - PARENT_ID_DESC - POSITION_TITLE_ASC - POSITION_TITLE_DESC - POSITION_LEVEL_ASC - POSITION_LEVEL_DESC -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""A connection to a list of `OrgChartEdgeGrant` values.""" -type OrgChartEdgeGrantConnection { - """A list of `OrgChartEdgeGrant` objects.""" - nodes: [OrgChartEdgeGrant]! + """Checks for all expressions in this list.""" + and: [BlueprintFilter!] - """ - A list of edges which contains the `OrgChartEdgeGrant` and cursor to aid in pagination. - """ - edges: [OrgChartEdgeGrantEdge]! + """Checks for any expressions in this list.""" + or: [BlueprintFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: BlueprintFilter - """ - The count of *all* `OrgChartEdgeGrant` you could get from the connection. - """ - totalCount: Int! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """Filter by the object’s `template` relation.""" + template: BlueprintTemplateFilter + + """A related `template` exists.""" + templateExists: Boolean + + """Filter by the object’s `blueprintConstructions` relation.""" + blueprintConstructions: BlueprintToManyBlueprintConstructionFilter + + """`blueprintConstructions` exist.""" + blueprintConstructionsExist: Boolean } """ -Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table +A filter to be used against `BlueprintTemplate` object types. All fields are combined with a logical ‘and.’ """ -type OrgChartEdgeGrant { - id: UUID! - - """Organization this grant applies to""" - entityId: UUID! - - """User ID of the subordinate being placed in the hierarchy""" - childId: UUID! +input BlueprintTemplateFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """User ID of the manager being assigned; NULL for top-level positions""" - parentId: UUID + """Filter by the object’s `name` field.""" + name: StringFilter - """ - User ID of the admin who performed this grant or revocation; NULL if grantor was deleted - """ - grantorId: UUID + """Filter by the object’s `version` field.""" + version: StringFilter - """TRUE to add/update the edge, FALSE to remove it""" - isGrant: Boolean! + """Filter by the object’s `displayName` field.""" + displayName: StringFilter - """Job title or role name being assigned in this grant""" - positionTitle: String + """Filter by the object’s `description` field.""" + description: StringFilter - """Numeric seniority level being assigned in this grant""" - positionLevel: Int + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """Timestamp when this grant or revocation was recorded""" - createdAt: Datetime! + """Filter by the object’s `visibility` field.""" + visibility: StringFilter - """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" - child: User + """Filter by the object’s `categories` field.""" + categories: StringListFilter - """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" - entity: User + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" - grantor: User + """Filter by the object’s `definition` field.""" + definition: JSONFilter - """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" - parent: User -} + """Filter by the object’s `definitionSchemaVersion` field.""" + definitionSchemaVersion: StringFilter -"""A `OrgChartEdgeGrant` edge in the connection.""" -type OrgChartEdgeGrantEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `source` field.""" + source: StringFilter - """The `OrgChartEdgeGrant` at the end of the edge.""" - node: OrgChartEdgeGrant -} + """Filter by the object’s `complexity` field.""" + complexity: StringFilter -"""Methods to use when ordering `OrgChartEdgeGrant`.""" -enum OrgChartEdgeGrantOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - CHILD_ID_ASC - CHILD_ID_DESC - PARENT_ID_ASC - PARENT_ID_DESC - GRANTOR_ID_ASC - GRANTOR_ID_DESC - IS_GRANT_ASC - IS_GRANT_DESC - POSITION_TITLE_ASC - POSITION_TITLE_DESC - POSITION_LEVEL_ASC - POSITION_LEVEL_DESC - CREATED_AT_ASC - CREATED_AT_DESC -} + """Filter by the object’s `copyCount` field.""" + copyCount: IntFilter -"""A connection to a list of `OrgPermissionDefault` values.""" -type OrgPermissionDefaultConnection { - """A list of `OrgPermissionDefault` objects.""" - nodes: [OrgPermissionDefault]! + """Filter by the object’s `forkCount` field.""" + forkCount: IntFilter - """ - A list of edges which contains the `OrgPermissionDefault` and cursor to aid in pagination. - """ - edges: [OrgPermissionDefaultEdge]! + """Filter by the object’s `forkedFromId` field.""" + forkedFromId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `definitionHash` field.""" + definitionHash: UUIDFilter - """ - The count of *all* `OrgPermissionDefault` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `tableHashes` field.""" + tableHashes: JSONFilter -""" -Stores the default permission bitmask assigned to new members upon joining -""" -type OrgPermissionDefault { - id: UUID! + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """Default permission bitmask applied to new members""" - permissions: BitString! + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """References the entity these default permissions apply to""" - entityId: UUID! + """Checks for all expressions in this list.""" + and: [BlueprintTemplateFilter!] - """Reads a single `User` that is related to this `OrgPermissionDefault`.""" - entity: User -} + """Checks for any expressions in this list.""" + or: [BlueprintTemplateFilter!] -"""A `OrgPermissionDefault` edge in the connection.""" -type OrgPermissionDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Negates the expression.""" + not: BlueprintTemplateFilter - """The `OrgPermissionDefault` at the end of the edge.""" - node: OrgPermissionDefault -} + """Filter by the object’s `forkedFrom` relation.""" + forkedFrom: BlueprintTemplateFilter -"""Methods to use when ordering `OrgPermissionDefault`.""" -enum OrgPermissionDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} + """A related `forkedFrom` exists.""" + forkedFromExists: Boolean -"""A connection to a list of `AppLimit` values.""" -type AppLimitConnection { - """A list of `AppLimit` objects.""" - nodes: [AppLimit]! + """Filter by the object’s `blueprintTemplatesByForkedFromId` relation.""" + blueprintTemplatesByForkedFromId: BlueprintTemplateToManyBlueprintTemplateFilter - """ - A list of edges which contains the `AppLimit` and cursor to aid in pagination. - """ - edges: [AppLimitEdge]! + """`blueprintTemplatesByForkedFromId` exist.""" + blueprintTemplatesByForkedFromIdExist: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `blueprintsByTemplateId` relation.""" + blueprintsByTemplateId: BlueprintTemplateToManyBlueprintFilter - """The count of *all* `AppLimit` you could get from the connection.""" - totalCount: Int! + """`blueprintsByTemplateId` exist.""" + blueprintsByTemplateIdExist: Boolean } -"""Tracks per-actor usage counts against configurable maximum limits""" -type AppLimit { - id: UUID! +""" +A filter to be used against many `BlueprintTemplate` object types. All fields are combined with a logical ‘and.’ +""" +input BlueprintTemplateToManyBlueprintTemplateFilter { + """Filters to entities where at least one related entity matches.""" + some: BlueprintTemplateFilter - """Name identifier of the limit being tracked""" - name: String + """Filters to entities where every related entity matches.""" + every: BlueprintTemplateFilter - """User whose usage is being tracked against this limit""" - actorId: UUID! + """Filters to entities where no related entity matches.""" + none: BlueprintTemplateFilter +} - """Current usage count for this actor and limit""" - num: BigInt +""" +A filter to be used against many `Blueprint` object types. All fields are combined with a logical ‘and.’ +""" +input BlueprintTemplateToManyBlueprintFilter { + """Filters to entities where at least one related entity matches.""" + some: BlueprintFilter - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt + """Filters to entities where every related entity matches.""" + every: BlueprintFilter - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt + """Filters to entities where no related entity matches.""" + none: BlueprintFilter +} - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime +""" +A filter to be used against many `BlueprintConstruction` object types. All fields are combined with a logical ‘and.’ +""" +input BlueprintToManyBlueprintConstructionFilter { + """Filters to entities where at least one related entity matches.""" + some: BlueprintConstructionFilter - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: Interval + """Filters to entities where every related entity matches.""" + every: BlueprintConstructionFilter - """Reads a single `User` that is related to this `AppLimit`.""" - actor: User + """Filters to entities where no related entity matches.""" + none: BlueprintConstructionFilter } -"""A `AppLimit` edge in the connection.""" -type AppLimitEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `AppLimit` at the end of the edge.""" - node: AppLimit -} +""" +A filter to be used against `BlueprintConstruction` object types. All fields are combined with a logical ‘and.’ +""" +input BlueprintConstructionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""Methods to use when ordering `AppLimit`.""" -enum AppLimitOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NUM_ASC - NUM_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC - WINDOW_START_ASC - WINDOW_START_DESC - WINDOW_DURATION_ASC - WINDOW_DURATION_DESC -} + """Filter by the object’s `blueprintId` field.""" + blueprintId: UUIDFilter -"""A connection to a list of `OrgLimit` values.""" -type OrgLimitConnection { - """A list of `OrgLimit` objects.""" - nodes: [OrgLimit]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - A list of edges which contains the `OrgLimit` and cursor to aid in pagination. - """ - edges: [OrgLimitEdge]! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `status` field.""" + status: StringFilter - """The count of *all* `OrgLimit` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `errorDetails` field.""" + errorDetails: StringFilter -"""Tracks per-actor usage counts against configurable maximum limits""" -type OrgLimit { - id: UUID! + """Filter by the object’s `tableMap` field.""" + tableMap: JSONFilter - """Name identifier of the limit being tracked""" - name: String + """Filter by the object’s `constructedDefinition` field.""" + constructedDefinition: JSONFilter - """User whose usage is being tracked against this limit""" - actorId: UUID! + """Filter by the object’s `constructedAt` field.""" + constructedAt: DatetimeFilter - """Current usage count for this actor and limit""" - num: BigInt + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt + """Checks for all expressions in this list.""" + and: [BlueprintConstructionFilter!] - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Checks for any expressions in this list.""" + or: [BlueprintConstructionFilter!] - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: Interval - entityId: UUID! + """Negates the expression.""" + not: BlueprintConstructionFilter - """Reads a single `User` that is related to this `OrgLimit`.""" - actor: User + """Filter by the object’s `blueprint` relation.""" + blueprint: BlueprintFilter - """Reads a single `User` that is related to this `OrgLimit`.""" - entity: User + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } -"""A `OrgLimit` edge in the connection.""" -type OrgLimitEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `BlueprintConstruction` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyBlueprintConstructionFilter { + """Filters to entities where at least one related entity matches.""" + some: BlueprintConstructionFilter - """The `OrgLimit` at the end of the edge.""" - node: OrgLimit -} + """Filters to entities where every related entity matches.""" + every: BlueprintConstructionFilter -"""Methods to use when ordering `OrgLimit`.""" -enum OrgLimitOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NUM_ASC - NUM_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC - WINDOW_START_ASC - WINDOW_START_DESC - WINDOW_DURATION_ASC - WINDOW_DURATION_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC + """Filters to entities where no related entity matches.""" + none: BlueprintConstructionFilter } -"""A connection to a list of `OrgLimitAggregate` values.""" -type OrgLimitAggregateConnection { - """A list of `OrgLimitAggregate` objects.""" - nodes: [OrgLimitAggregate]! - - """ - A list of edges which contains the `OrgLimitAggregate` and cursor to aid in pagination. - """ - edges: [OrgLimitAggregateEdge]! +""" +A filter to be used against many `StorageModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyStorageModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: StorageModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: StorageModuleFilter - """ - The count of *all* `OrgLimitAggregate` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: StorageModuleFilter } """ -Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) +A filter to be used against `StorageModule` object types. All fields are combined with a logical ‘and.’ """ -type OrgLimitAggregate { - id: UUID! +input StorageModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Name identifier of the aggregate limit being tracked""" - name: String + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Entity (org) whose aggregate usage is being tracked""" - entityId: UUID! - - """Current aggregate usage count for this entity and limit""" - num: BigInt + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Maximum allowed aggregate usage; negative means unlimited""" - max: BigInt + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Filter by the object’s `bucketsTableId` field.""" + bucketsTableId: UUIDFilter - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Filter by the object’s `filesTableId` field.""" + filesTableId: UUIDFilter - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: Interval + """Filter by the object’s `bucketsTableName` field.""" + bucketsTableName: StringFilter - """Reads a single `User` that is related to this `OrgLimitAggregate`.""" - entity: User -} + """Filter by the object’s `filesTableName` field.""" + filesTableName: StringFilter -"""A `OrgLimitAggregate` edge in the connection.""" -type OrgLimitAggregateEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `membershipType` field.""" + membershipType: IntFilter - """The `OrgLimitAggregate` at the end of the edge.""" - node: OrgLimitAggregate -} + """Filter by the object’s `policies` field.""" + policies: JSONFilter -"""Methods to use when ordering `OrgLimitAggregate`.""" -enum OrgLimitAggregateOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - NUM_ASC - NUM_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC - WINDOW_START_ASC - WINDOW_START_DESC - WINDOW_DURATION_ASC - WINDOW_DURATION_DESC -} + """Filter by the object’s `skipDefaultPolicyTables` field.""" + skipDefaultPolicyTables: StringListFilter -"""A connection to a list of `AppStep` values.""" -type AppStepConnection { - """A list of `AppStep` objects.""" - nodes: [AppStep]! + """Filter by the object’s `entityTableId` field.""" + entityTableId: UUIDFilter - """ - A list of edges which contains the `AppStep` and cursor to aid in pagination. - """ - edges: [AppStepEdge]! + """Filter by the object’s `endpoint` field.""" + endpoint: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `publicUrlPrefix` field.""" + publicUrlPrefix: StringFilter - """The count of *all* `AppStep` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `provider` field.""" + provider: StringFilter -""" -Log of individual user actions toward level requirements; every single step ever taken is recorded here -""" -type AppStep { - id: UUID! - actorId: UUID! + """Filter by the object’s `allowedOrigins` field.""" + allowedOrigins: StringListFilter - """Name identifier of the level requirement this step fulfills""" - name: String! + """Filter by the object’s `restrictReads` field.""" + restrictReads: BooleanFilter - """Number of units completed in this step action""" - count: Int! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `hasPathShares` field.""" + hasPathShares: BooleanFilter - """Reads a single `User` that is related to this `AppStep`.""" - actor: User -} + """Filter by the object’s `pathSharesTableId` field.""" + pathSharesTableId: UUIDFilter -"""A `AppStep` edge in the connection.""" -type AppStepEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `uploadUrlExpirySeconds` field.""" + uploadUrlExpirySeconds: IntFilter - """The `AppStep` at the end of the edge.""" - node: AppStep -} + """Filter by the object’s `downloadUrlExpirySeconds` field.""" + downloadUrlExpirySeconds: IntFilter -"""Methods to use when ordering `AppStep`.""" -enum AppStepOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NAME_ASC - NAME_DESC - COUNT_ASC - COUNT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `defaultMaxFileSize` field.""" + defaultMaxFileSize: BigIntFilter -"""A connection to a list of `AppAchievement` values.""" -type AppAchievementConnection { - """A list of `AppAchievement` objects.""" - nodes: [AppAchievement]! + """Filter by the object’s `maxFilenameLength` field.""" + maxFilenameLength: IntFilter - """ - A list of edges which contains the `AppAchievement` and cursor to aid in pagination. - """ - edges: [AppAchievementEdge]! + """Filter by the object’s `cacheTtlSeconds` field.""" + cacheTtlSeconds: IntFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `maxBulkFiles` field.""" + maxBulkFiles: IntFilter - """The count of *all* `AppAchievement` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `maxBulkTotalSize` field.""" + maxBulkTotalSize: BigIntFilter -""" -Aggregated user progress for level requirements, tallying the total count; updated via triggers and should not be modified manually -""" -type AppAchievement { - id: UUID! - actorId: UUID! + """Filter by the object’s `hasVersioning` field.""" + hasVersioning: BooleanFilter - """Name identifier of the level requirement being tracked""" - name: String! + """Filter by the object’s `hasContentHash` field.""" + hasContentHash: BooleanFilter - """Cumulative count of completed steps toward this requirement""" - count: Int! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `hasCustomKeys` field.""" + hasCustomKeys: BooleanFilter - """Reads a single `User` that is related to this `AppAchievement`.""" - actor: User -} + """Filter by the object’s `hasAuditLog` field.""" + hasAuditLog: BooleanFilter -"""A `AppAchievement` edge in the connection.""" -type AppAchievementEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `fileEventsTableId` field.""" + fileEventsTableId: UUIDFilter - """The `AppAchievement` at the end of the edge.""" - node: AppAchievement -} + """Checks for all expressions in this list.""" + and: [StorageModuleFilter!] -"""Methods to use when ordering `AppAchievement`.""" -enum AppAchievementOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - NAME_ASC - NAME_DESC - COUNT_ASC - COUNT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Checks for any expressions in this list.""" + or: [StorageModuleFilter!] -"""A connection to a list of `AppLevel` values.""" -type AppLevelConnection { - """A list of `AppLevel` objects.""" - nodes: [AppLevel]! + """Negates the expression.""" + not: StorageModuleFilter - """ - A list of edges which contains the `AppLevel` and cursor to aid in pagination. - """ - edges: [AppLevelEdge]! + """Filter by the object’s `bucketsTable` relation.""" + bucketsTable: TableFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """The count of *all* `AppLevel` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `entityTable` relation.""" + entityTable: TableFilter -""" -Defines available levels that users can achieve by completing requirements -""" -type AppLevel { - id: UUID! + """A related `entityTable` exists.""" + entityTableExists: Boolean - """Unique name of the level""" - name: String! + """Filter by the object’s `fileEventsTable` relation.""" + fileEventsTable: TableFilter - """Human-readable description of what this level represents""" - description: String + """A related `fileEventsTable` exists.""" + fileEventsTableExists: Boolean - """Badge or icon image associated with this level""" - image: ConstructiveInternalTypeImage + """Filter by the object’s `filesTable` relation.""" + filesTable: TableFilter - """Optional owner (actor) who created or manages this level""" - ownerId: UUID - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `pathSharesTable` relation.""" + pathSharesTable: TableFilter - """Reads a single `User` that is related to this `AppLevel`.""" - owner: User -} + """A related `pathSharesTable` exists.""" + pathSharesTableExists: Boolean -"""A `AppLevel` edge in the connection.""" -type AppLevelEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """The `AppLevel` at the end of the edge.""" - node: AppLevel + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } -"""Methods to use when ordering `AppLevel`.""" -enum AppLevelOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - IMAGE_ASC - IMAGE_DESC - OWNER_ID_ASC - OWNER_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} +""" +A filter to be used against many `EntityTypeProvision` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyEntityTypeProvisionFilter { + """Filters to entities where at least one related entity matches.""" + some: EntityTypeProvisionFilter -"""A connection to a list of `Email` values.""" -type EmailConnection { - """A list of `Email` objects.""" - nodes: [Email]! + """Filters to entities where every related entity matches.""" + every: EntityTypeProvisionFilter - """ - A list of edges which contains the `Email` and cursor to aid in pagination. - """ - edges: [EmailEdge]! + """Filters to entities where no related entity matches.""" + none: EntityTypeProvisionFilter +} - """Information to aid in pagination.""" - pageInfo: PageInfo! +""" +A filter to be used against `EntityTypeProvision` object types. All fields are combined with a logical ‘and.’ +""" +input EntityTypeProvisionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The count of *all* `Email` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter -"""User email addresses with verification and primary-email management""" -type Email { - id: UUID! - ownerId: UUID! + """Filter by the object’s `name` field.""" + name: StringFilter - """The email address""" - email: ConstructiveInternalTypeEmail! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Whether the email address has been verified via confirmation link""" - isVerified: Boolean! + """Filter by the object’s `description` field.""" + description: StringFilter - """Whether this is the user's primary email address""" - isPrimary: Boolean! + """Filter by the object’s `parentEntity` field.""" + parentEntity: StringFilter - """Optional user-provided label for this email (e.g. "Work", "Personal").""" - name: String - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Reads a single `User` that is related to this `Email`.""" - owner: User -} + """Filter by the object’s `isVisible` field.""" + isVisible: BooleanFilter -"""A `Email` edge in the connection.""" -type EmailEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `hasLimits` field.""" + hasLimits: BooleanFilter - """The `Email` at the end of the edge.""" - node: Email -} + """Filter by the object’s `hasProfiles` field.""" + hasProfiles: BooleanFilter -"""Methods to use when ordering `Email`.""" -enum EmailOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - EMAIL_ASC - EMAIL_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC - IS_PRIMARY_ASC - IS_PRIMARY_DESC - NAME_ASC - NAME_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `hasLevels` field.""" + hasLevels: BooleanFilter -"""A connection to a list of `PhoneNumber` values.""" -type PhoneNumberConnection { - """A list of `PhoneNumber` objects.""" - nodes: [PhoneNumber]! + """Filter by the object’s `hasStorage` field.""" + hasStorage: BooleanFilter - """ - A list of edges which contains the `PhoneNumber` and cursor to aid in pagination. - """ - edges: [PhoneNumberEdge]! + """Filter by the object’s `hasInvites` field.""" + hasInvites: BooleanFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `storageConfig` field.""" + storageConfig: JSONFilter - """The count of *all* `PhoneNumber` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `skipEntityPolicies` field.""" + skipEntityPolicies: BooleanFilter -""" -User phone numbers with country code, verification, and primary-number management -""" -type PhoneNumber { - id: UUID! - ownerId: UUID! + """Filter by the object’s `tableProvision` field.""" + tableProvision: JSONFilter - """Country calling code (e.g. +1, +44)""" - cc: String! + """Filter by the object’s `outMembershipType` field.""" + outMembershipType: IntFilter - """The phone number without country code""" - number: String! + """Filter by the object’s `outEntityTableId` field.""" + outEntityTableId: UUIDFilter - """Whether the phone number has been verified via SMS code""" - isVerified: Boolean! + """Filter by the object’s `outEntityTableName` field.""" + outEntityTableName: StringFilter - """Whether this is the user's primary phone number""" - isPrimary: Boolean! + """Filter by the object’s `outInstalledModules` field.""" + outInstalledModules: StringListFilter - """ - Optional user-provided label for this phone number (e.g. "Mobile", "Work"). - """ - name: String - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `outStorageModuleId` field.""" + outStorageModuleId: UUIDFilter - """Reads a single `User` that is related to this `PhoneNumber`.""" - owner: User -} + """Filter by the object’s `outBucketsTableId` field.""" + outBucketsTableId: UUIDFilter -"""A `PhoneNumber` edge in the connection.""" -type PhoneNumberEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `outFilesTableId` field.""" + outFilesTableId: UUIDFilter - """The `PhoneNumber` at the end of the edge.""" - node: PhoneNumber -} + """Filter by the object’s `outPathSharesTableId` field.""" + outPathSharesTableId: UUIDFilter -"""Methods to use when ordering `PhoneNumber`.""" -enum PhoneNumberOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - CC_ASC - CC_DESC - NUMBER_ASC - NUMBER_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC - IS_PRIMARY_ASC - IS_PRIMARY_DESC - NAME_ASC - NAME_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `outInvitesModuleId` field.""" + outInvitesModuleId: UUIDFilter -"""A connection to a list of `CryptoAddress` values.""" -type CryptoAddressConnection { - """A list of `CryptoAddress` objects.""" - nodes: [CryptoAddress]! + """Checks for all expressions in this list.""" + and: [EntityTypeProvisionFilter!] - """ - A list of edges which contains the `CryptoAddress` and cursor to aid in pagination. - """ - edges: [CryptoAddressEdge]! + """Checks for any expressions in this list.""" + or: [EntityTypeProvisionFilter!] - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Negates the expression.""" + not: EntityTypeProvisionFilter - """The count of *all* `CryptoAddress` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter } """ -Cryptocurrency wallet addresses owned by users, with network-specific validation and verification +A filter to be used against `RateLimitsModule` object types. All fields are combined with a logical ‘and.’ """ -type CryptoAddress { - id: UUID! - ownerId: UUID! - - """ - The cryptocurrency wallet address, validated against network-specific patterns - """ - address: String! +input RateLimitsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Whether ownership of this address has been cryptographically verified""" - isVerified: Boolean! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Whether this is the user's primary cryptocurrency address""" - isPrimary: Boolean! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). - """ - name: String - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `rateLimitSettingsTableId` field.""" + rateLimitSettingsTableId: UUIDFilter - """Reads a single `User` that is related to this `CryptoAddress`.""" - owner: User -} + """Filter by the object’s `ipRateLimitsTableId` field.""" + ipRateLimitsTableId: UUIDFilter -"""A `CryptoAddress` edge in the connection.""" -type CryptoAddressEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `rateLimitsTableId` field.""" + rateLimitsTableId: UUIDFilter - """The `CryptoAddress` at the end of the edge.""" - node: CryptoAddress -} + """Filter by the object’s `rateLimitSettingsTable` field.""" + rateLimitSettingsTable: StringFilter -"""Methods to use when ordering `CryptoAddress`.""" -enum CryptoAddressOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - ADDRESS_ASC - ADDRESS_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC - IS_PRIMARY_ASC - IS_PRIMARY_DESC - NAME_ASC - NAME_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `ipRateLimitsTable` field.""" + ipRateLimitsTable: StringFilter -"""A connection to a list of `WebauthnCredential` values.""" -type WebauthnCredentialConnection { - """A list of `WebauthnCredential` objects.""" - nodes: [WebauthnCredential]! + """Filter by the object’s `rateLimitsTable` field.""" + rateLimitsTable: StringFilter + + """Checks for all expressions in this list.""" + and: [RateLimitsModuleFilter!] + + """Checks for any expressions in this list.""" + or: [RateLimitsModuleFilter!] + + """Negates the expression.""" + not: RateLimitsModuleFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter """ - A list of edges which contains the `WebauthnCredential` and cursor to aid in pagination. + Filter by the object’s `ipRateLimitsTableByIpRateLimitsTableId` relation. """ - edges: [WebauthnCredentialEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! + ipRateLimitsTableByIpRateLimitsTableId: TableFilter """ - The count of *all* `WebauthnCredential` you could get from the connection. + Filter by the object’s `rateLimitSettingsTableByRateLimitSettingsTableId` relation. """ - totalCount: Int! + rateLimitSettingsTableByRateLimitSettingsTableId: TableFilter + + """Filter by the object’s `rateLimitsTableByRateLimitsTableId` relation.""" + rateLimitsTableByRateLimitsTableId: TableFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } """ -WebAuthn/passkey credentials owned by users. One row per registered authenticator (security key, device biometric, synced passkey). Schema mirrors SimpleWebAuthn's canonical Passkey object. +A filter to be used against `DevicesModule` object types. All fields are combined with a logical ‘and.’ """ -type WebauthnCredential { - id: UUID! - ownerId: UUID! +input DevicesModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. - """ - credentialId: String! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """COSE-encoded public key bytes from the authenticator attestation.""" - publicKey: Base64EncodedBinary! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """ - Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. - """ - signCount: BigInt! + """Filter by the object’s `userDevicesTableId` field.""" + userDevicesTableId: UUIDFilter - """ - Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. - """ - webauthnUserId: String! + """Filter by the object’s `deviceSettingsTableId` field.""" + deviceSettingsTableId: UUIDFilter - """ - Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. - """ - transports: [String] + """Filter by the object’s `userDevicesTable` field.""" + userDevicesTable: StringFilter - """ - Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. - """ - credentialDeviceType: String! + """Filter by the object’s `deviceSettingsTable` field.""" + deviceSettingsTable: StringFilter - """ - Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. - """ - backupEligible: Boolean! + """Checks for all expressions in this list.""" + and: [DevicesModuleFilter!] - """Current backup state; updated on each successful sign-in assertion.""" - backupState: Boolean! + """Checks for any expressions in this list.""" + or: [DevicesModuleFilter!] + + """Negates the expression.""" + not: DevicesModuleFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter """ - User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. + Filter by the object’s `deviceSettingsTableByDeviceSettingsTableId` relation. """ - name: String + deviceSettingsTableByDeviceSettingsTableId: TableFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter """ - Timestamp of the most recent successful sign-in assertion using this credential. + Filter by the object’s `userDevicesTableByUserDevicesTableId` relation. """ - lastUsedAt: Datetime - createdAt: Datetime - updatedAt: Datetime - - """Reads a single `User` that is related to this `WebauthnCredential`.""" - owner: User + userDevicesTableByUserDevicesTableId: TableFilter } -"""A `WebauthnCredential` edge in the connection.""" -type WebauthnCredentialEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `SessionSecretsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManySessionSecretsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: SessionSecretsModuleFilter - """The `WebauthnCredential` at the end of the edge.""" - node: WebauthnCredential -} + """Filters to entities where every related entity matches.""" + every: SessionSecretsModuleFilter -"""Methods to use when ordering `WebauthnCredential`.""" -enum WebauthnCredentialOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - CREDENTIAL_ID_ASC - CREDENTIAL_ID_DESC - PUBLIC_KEY_ASC - PUBLIC_KEY_DESC - SIGN_COUNT_ASC - SIGN_COUNT_DESC - WEBAUTHN_USER_ID_ASC - WEBAUTHN_USER_ID_DESC - TRANSPORTS_ASC - TRANSPORTS_DESC - CREDENTIAL_DEVICE_TYPE_ASC - CREDENTIAL_DEVICE_TYPE_DESC - BACKUP_ELIGIBLE_ASC - BACKUP_ELIGIBLE_DESC - BACKUP_STATE_ASC - BACKUP_STATE_DESC - NAME_ASC - NAME_DESC - LAST_USED_AT_ASC - LAST_USED_AT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filters to entities where no related entity matches.""" + none: SessionSecretsModuleFilter } -"""A connection to a list of `AppInvite` values.""" -type AppInviteConnection { - """A list of `AppInvite` objects.""" - nodes: [AppInvite]! - - """ - A list of edges which contains the `AppInvite` and cursor to aid in pagination. - """ - edges: [AppInviteEdge]! +""" +A filter to be used against many `WebauthnCredentialsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyWebauthnCredentialsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: WebauthnCredentialsModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: WebauthnCredentialsModuleFilter - """The count of *all* `AppInvite` you could get from the connection.""" - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: WebauthnCredentialsModuleFilter } """ -Invitation records sent to prospective members via email, with token-based redemption and expiration +A filter to be used against `WebauthnCredentialsModule` object types. All fields are combined with a logical ‘and.’ """ -type AppInvite { - id: UUID! +input WebauthnCredentialsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """User ID of the member who sent this invitation""" - senderId: UUID! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Unique random hex token used to redeem this invitation""" - inviteToken: String! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean! + """Filter by the object’s `tableId` field.""" + tableId: UUIDFilter - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int! + """Filter by the object’s `ownerTableId` field.""" + ownerTableId: UUIDFilter - """Running count of how many times this invite has been claimed""" - inviteCount: Int! + """Filter by the object’s `tableName` field.""" + tableName: StringFilter - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean! + """Checks for all expressions in this list.""" + and: [WebauthnCredentialsModuleFilter!] - """Optional JSON payload of additional invite metadata""" - data: JSON + """Checks for any expressions in this list.""" + or: [WebauthnCredentialsModuleFilter!] - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """Negates the expression.""" + not: WebauthnCredentialsModuleFilter - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime! - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Reads a single `User` that is related to this `AppInvite`.""" - sender: User -} + """Filter by the object’s `ownerTable` relation.""" + ownerTable: TableFilter -"""A `AppInvite` edge in the connection.""" -type AppInviteEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """The `AppInvite` at the end of the edge.""" - node: AppInvite -} + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter -"""Methods to use when ordering `AppInvite`.""" -enum AppInviteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - EMAIL_ASC - EMAIL_DESC - SENDER_ID_ASC - SENDER_ID_DESC - INVITE_TOKEN_ASC - INVITE_TOKEN_DESC - INVITE_VALID_ASC - INVITE_VALID_DESC - INVITE_LIMIT_ASC - INVITE_LIMIT_DESC - INVITE_COUNT_ASC - INVITE_COUNT_DESC - MULTIPLE_ASC - MULTIPLE_DESC - DATA_ASC - DATA_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC - EXPIRES_AT_ASC - EXPIRES_AT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC + """Filter by the object’s `table` relation.""" + table: TableFilter } -"""A connection to a list of `AppClaimedInvite` values.""" -type AppClaimedInviteConnection { - """A list of `AppClaimedInvite` objects.""" - nodes: [AppClaimedInvite]! - - """ - A list of edges which contains the `AppClaimedInvite` and cursor to aid in pagination. - """ - edges: [AppClaimedInviteEdge]! +""" +A filter to be used against many `WebauthnAuthModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyWebauthnAuthModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: WebauthnAuthModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: WebauthnAuthModuleFilter - """ - The count of *all* `AppClaimedInvite` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: WebauthnAuthModuleFilter } """ -Records of successfully claimed invitations, linking senders to receivers +A filter to be used against `WebauthnAuthModule` object types. All fields are combined with a logical ‘and.’ """ -type AppClaimedInvite { - id: UUID! - - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON +input WebauthnAuthModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """User ID of the original invitation sender""" - senderId: UUID + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Reads a single `User` that is related to this `AppClaimedInvite`.""" - receiver: User + """Filter by the object’s `usersTableId` field.""" + usersTableId: UUIDFilter - """Reads a single `User` that is related to this `AppClaimedInvite`.""" - sender: User -} + """Filter by the object’s `credentialsTableId` field.""" + credentialsTableId: UUIDFilter -"""A `AppClaimedInvite` edge in the connection.""" -type AppClaimedInviteEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `sessionsTableId` field.""" + sessionsTableId: UUIDFilter - """The `AppClaimedInvite` at the end of the edge.""" - node: AppClaimedInvite -} + """Filter by the object’s `sessionCredentialsTableId` field.""" + sessionCredentialsTableId: UUIDFilter -"""Methods to use when ordering `AppClaimedInvite`.""" -enum AppClaimedInviteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATA_ASC - DATA_DESC - SENDER_ID_ASC - SENDER_ID_DESC - RECEIVER_ID_ASC - RECEIVER_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC -} + """Filter by the object’s `sessionSecretsTableId` field.""" + sessionSecretsTableId: UUIDFilter -"""A connection to a list of `OrgInvite` values.""" -type OrgInviteConnection { - """A list of `OrgInvite` objects.""" - nodes: [OrgInvite]! + """Filter by the object’s `authSettingsTableId` field.""" + authSettingsTableId: UUIDFilter - """ - A list of edges which contains the `OrgInvite` and cursor to aid in pagination. - """ - edges: [OrgInviteEdge]! + """Filter by the object’s `rpId` field.""" + rpId: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `rpName` field.""" + rpName: StringFilter - """The count of *all* `OrgInvite` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `originAllowlist` field.""" + originAllowlist: StringListFilter -""" -Invitation records sent to prospective members via email, with token-based redemption and expiration -""" -type OrgInvite { - id: UUID! + """Filter by the object’s `attestationType` field.""" + attestationType: StringFilter - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """Filter by the object’s `requireUserVerification` field.""" + requireUserVerification: BooleanFilter - """User ID of the member who sent this invitation""" - senderId: UUID! + """Filter by the object’s `residentKey` field.""" + residentKey: StringFilter - """User ID of the intended recipient, if targeting a specific user""" - receiverId: UUID + """Filter by the object’s `challengeExpiry` field.""" + challengeExpiry: IntervalFilter - """Unique random hex token used to redeem this invitation""" - inviteToken: String! + """Checks for all expressions in this list.""" + and: [WebauthnAuthModuleFilter!] - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean! + """Checks for any expressions in this list.""" + or: [WebauthnAuthModuleFilter!] - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int! + """Negates the expression.""" + not: WebauthnAuthModuleFilter - """Running count of how many times this invite has been claimed""" - inviteCount: Int! + """Filter by the object’s `authSettingsTable` relation.""" + authSettingsTable: TableFilter - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean! + """Filter by the object’s `credentialsTable` relation.""" + credentialsTable: TableFilter - """Optional JSON payload of additional invite metadata""" - data: JSON + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime! - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! + """Filter by the object’s `sessionCredentialsTable` relation.""" + sessionCredentialsTable: TableFilter - """Reads a single `User` that is related to this `OrgInvite`.""" - entity: User + """Filter by the object’s `sessionSecretsTable` relation.""" + sessionSecretsTable: TableFilter - """Reads a single `User` that is related to this `OrgInvite`.""" - receiver: User + """Filter by the object’s `sessionsTable` relation.""" + sessionsTable: TableFilter - """Reads a single `User` that is related to this `OrgInvite`.""" - sender: User + """Filter by the object’s `usersTable` relation.""" + usersTable: TableFilter } -"""A `OrgInvite` edge in the connection.""" -type OrgInviteEdge { - """A cursor for use in pagination.""" - cursor: Cursor +""" +A filter to be used against many `IdentityProvidersModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyIdentityProvidersModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: IdentityProvidersModuleFilter - """The `OrgInvite` at the end of the edge.""" - node: OrgInvite + """Filters to entities where every related entity matches.""" + every: IdentityProvidersModuleFilter + + """Filters to entities where no related entity matches.""" + none: IdentityProvidersModuleFilter } -"""Methods to use when ordering `OrgInvite`.""" -enum OrgInviteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - EMAIL_ASC - EMAIL_DESC - SENDER_ID_ASC - SENDER_ID_DESC - RECEIVER_ID_ASC - RECEIVER_ID_DESC - INVITE_TOKEN_ASC - INVITE_TOKEN_DESC - INVITE_VALID_ASC - INVITE_VALID_DESC - INVITE_LIMIT_ASC - INVITE_LIMIT_DESC - INVITE_COUNT_ASC - INVITE_COUNT_DESC - MULTIPLE_ASC - MULTIPLE_DESC - DATA_ASC - DATA_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC - EXPIRES_AT_ASC - EXPIRES_AT_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} - -"""A connection to a list of `OrgClaimedInvite` values.""" -type OrgClaimedInviteConnection { - """A list of `OrgClaimedInvite` objects.""" - nodes: [OrgClaimedInvite]! - - """ - A list of edges which contains the `OrgClaimedInvite` and cursor to aid in pagination. - """ - edges: [OrgClaimedInviteEdge]! +""" +A filter to be used against many `NotificationsModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyNotificationsModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: NotificationsModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filters to entities where every related entity matches.""" + every: NotificationsModuleFilter - """ - The count of *all* `OrgClaimedInvite` you could get from the connection. - """ - totalCount: Int! + """Filters to entities where no related entity matches.""" + none: NotificationsModuleFilter } """ -Records of successfully claimed invitations, linking senders to receivers +A filter to be used against `NotificationsModule` object types. All fields are combined with a logical ‘and.’ """ -type OrgClaimedInvite { - id: UUID! - - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON - - """User ID of the original invitation sender""" - senderId: UUID - - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! - - """Reads a single `User` that is related to this `OrgClaimedInvite`.""" - entity: User +input NotificationsModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reads a single `User` that is related to this `OrgClaimedInvite`.""" - receiver: User + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Reads a single `User` that is related to this `OrgClaimedInvite`.""" - sender: User -} + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter -"""A `OrgClaimedInvite` edge in the connection.""" -type OrgClaimedInviteEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """The `OrgClaimedInvite` at the end of the edge.""" - node: OrgClaimedInvite -} + """Filter by the object’s `notificationsTableId` field.""" + notificationsTableId: UUIDFilter -"""Methods to use when ordering `OrgClaimedInvite`.""" -enum OrgClaimedInviteOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - DATA_ASC - DATA_DESC - SENDER_ID_ASC - SENDER_ID_DESC - RECEIVER_ID_ASC - RECEIVER_ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC -} + """Filter by the object’s `readStateTableId` field.""" + readStateTableId: UUIDFilter -"""A connection to a list of `AuditLog` values.""" -type AuditLogConnection { - """A list of `AuditLog` objects.""" - nodes: [AuditLog]! + """Filter by the object’s `preferencesTableId` field.""" + preferencesTableId: UUIDFilter - """ - A list of edges which contains the `AuditLog` and cursor to aid in pagination. - """ - edges: [AuditLogEdge]! + """Filter by the object’s `channelsTableId` field.""" + channelsTableId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `deliveryLogTableId` field.""" + deliveryLogTableId: UUIDFilter - """The count of *all* `AuditLog` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `ownerTableId` field.""" + ownerTableId: UUIDFilter -""" -Append-only audit log of authentication events (sign-in, sign-up, password changes, etc.) -""" -type AuditLog { - id: UUID! + """Filter by the object’s `userSettingsTableId` field.""" + userSettingsTableId: UUIDFilter - """ - Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) - """ - event: String! + """Filter by the object’s `organizationSettingsTableId` field.""" + organizationSettingsTableId: UUIDFilter - """User who performed the authentication action; NULL if user was deleted""" - actorId: UUID + """Filter by the object’s `hasChannels` field.""" + hasChannels: BooleanFilter - """Request origin (domain) where the auth event occurred""" - origin: ConstructiveInternalTypeOrigin + """Filter by the object’s `hasPreferences` field.""" + hasPreferences: BooleanFilter - """Browser or client user-agent string from the request""" - userAgent: String + """Filter by the object’s `hasSettingsExtension` field.""" + hasSettingsExtension: BooleanFilter - """IP address of the client that initiated the auth event""" - ipAddress: InternetAddress + """Filter by the object’s `hasDigestMetadata` field.""" + hasDigestMetadata: BooleanFilter - """Whether the authentication attempt succeeded""" - success: Boolean! + """Filter by the object’s `hasSubscriptions` field.""" + hasSubscriptions: BooleanFilter - """Timestamp when the audit event was recorded""" - createdAt: Datetime! + """Checks for all expressions in this list.""" + and: [NotificationsModuleFilter!] - """Reads a single `User` that is related to this `AuditLog`.""" - actor: User -} + """Checks for any expressions in this list.""" + or: [NotificationsModuleFilter!] -"""A `AuditLog` edge in the connection.""" -type AuditLogEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Negates the expression.""" + not: NotificationsModuleFilter - """The `AuditLog` at the end of the edge.""" - node: AuditLog -} + """Filter by the object’s `channelsTableByChannelsTableId` relation.""" + channelsTableByChannelsTableId: TableFilter -"""Methods to use when ordering `AuditLog`.""" -enum AuditLogOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - EVENT_ASC - EVENT_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ORIGIN_ASC - ORIGIN_DESC - USER_AGENT_ASC - USER_AGENT_DESC - IP_ADDRESS_ASC - IP_ADDRESS_DESC - SUCCESS_ASC - SUCCESS_DESC - CREATED_AT_ASC - CREATED_AT_DESC -} + """A related `channelsTableByChannelsTableId` exists.""" + channelsTableByChannelsTableIdExists: Boolean -"""A connection to a list of `AgentThread` values.""" -type AgentThreadConnection { - """A list of `AgentThread` objects.""" - nodes: [AgentThread]! + """Filter by the object’s `database` relation.""" + database: DatabaseFilter """ - A list of edges which contains the `AgentThread` and cursor to aid in pagination. + Filter by the object’s `deliveryLogTableByDeliveryLogTableId` relation. """ - edges: [AgentThreadEdge]! + deliveryLogTableByDeliveryLogTableId: TableFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """A related `deliveryLogTableByDeliveryLogTableId` exists.""" + deliveryLogTableByDeliveryLogTableIdExists: Boolean - """The count of *all* `AgentThread` you could get from the connection.""" - totalCount: Int! -} + """ + Filter by the object’s `notificationsTableByNotificationsTableId` relation. + """ + notificationsTableByNotificationsTableId: TableFilter -""" -Top-level AI/LLM conversation. Owns the chat-mode + model + system-prompt snapshot for the lifetime of the conversation, and is the entity-scoping anchor — descendants (agent_message, agent_task) inherit entity_id from this row via DataInheritFromParent. RLS is owner-only (AuthzDirectOwner); entity_id is a grouping dimension, not a security dimension. -""" -type AgentThread { """ - Human-readable conversation title. Typically auto-generated from the first user message and editable by the user. NULL until a title has been computed. + Filter by the object’s `organizationSettingsTableByOrganizationSettingsTableId` relation. """ - title: String + organizationSettingsTableByOrganizationSettingsTableId: TableFilter """ - Conversation mode: 'ask' for plain Q&A (no tool execution) or 'agent' for tool-enabled execution. Stored as free-text (no CHECK) so new modes can be added without migration. + A related `organizationSettingsTableByOrganizationSettingsTableId` exists. """ - mode: String! + organizationSettingsTableByOrganizationSettingsTableIdExists: Boolean + + """Filter by the object’s `ownerTable` relation.""" + ownerTable: TableFilter """ - Snapshot of the LLM model id this thread is bound to (e.g. 'gpt-5', 'claude-sonnet-4'). Captured on creation so a resumed conversation stays on the same model even if app defaults change. NULL means use the app default at request time. + Filter by the object’s `preferencesTableByPreferencesTableId` relation. """ - model: String + preferencesTableByPreferencesTableId: TableFilter + + """A related `preferencesTableByPreferencesTableId` exists.""" + preferencesTableByPreferencesTableIdExists: Boolean + + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter + + """Filter by the object’s `readStateTableByReadStateTableId` relation.""" + readStateTableByReadStateTableId: TableFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter """ - Snapshot of the system prompt active for this thread. Stored on the thread (rather than referenced from a registry) so the conversation remains reproducible even if a future system_prompt registry changes its canonical text. NULL means use the app default at request time. + Filter by the object’s `userSettingsTableByUserSettingsTableId` relation. """ - systemPrompt: String - id: UUID! + userSettingsTableByUserSettingsTableId: TableFilter - """Timestamp when this record was created""" - createdAt: Datetime! + """A related `userSettingsTableByUserSettingsTableId` exists.""" + userSettingsTableByUserSettingsTableIdExists: Boolean +} - """Timestamp when this record was last updated""" - updatedAt: Datetime! +""" +A filter to be used against `PlansModule` object types. All fields are combined with a logical ‘and.’ +""" +input PlansModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """User who owns this record within the entity""" - ownerId: UUID! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Entity this record belongs to""" - entityId: UUID! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Current status of this record""" - status: String! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Reads a single `User` that is related to this `AgentThread`.""" - entity: User + """Filter by the object’s `plansTableId` field.""" + plansTableId: UUIDFilter - """Reads a single `User` that is related to this `AgentThread`.""" - owner: User + """Filter by the object’s `plansTableName` field.""" + plansTableName: StringFilter - """Reads and enables pagination through a set of `AgentMessage`.""" - agentMessagesByThreadId( - """Only read the first `n` values of the set.""" - first: Int + """Filter by the object’s `planLimitsTableId` field.""" + planLimitsTableId: UUIDFilter - """Only read the last `n` values of the set.""" - last: Int + """Filter by the object’s `planLimitsTableName` field.""" + planLimitsTableName: StringFilter - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Filter by the object’s `planPricingTableId` field.""" + planPricingTableId: UUIDFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `planOverridesTableId` field.""" + planOverridesTableId: UUIDFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `applyPlanFunction` field.""" + applyPlanFunction: StringFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AgentMessageFilter + """Filter by the object’s `applyPlanAggregateFunction` field.""" + applyPlanAggregateFunction: StringFilter - """The method to use when ordering `AgentMessage`.""" - orderBy: [AgentMessageOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentMessageConnection! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Reads and enables pagination through a set of `AgentTask`.""" - agentTasksByThreadId( - """Only read the first `n` values of the set.""" - first: Int + """Checks for all expressions in this list.""" + and: [PlansModuleFilter!] - """Only read the last `n` values of the set.""" - last: Int + """Checks for any expressions in this list.""" + or: [PlansModuleFilter!] - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Negates the expression.""" + not: PlansModuleFilter - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Filter by the object’s `database` relation.""" + database: DatabaseFilter - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Filter by the object’s `planLimitsTable` relation.""" + planLimitsTable: TableFilter - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AgentTaskFilter + """Filter by the object’s `planOverridesTable` relation.""" + planOverridesTable: TableFilter - """The method to use when ordering `AgentTask`.""" - orderBy: [AgentTaskOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentTaskConnection! -} + """A related `planOverridesTable` exists.""" + planOverridesTableExists: Boolean -"""A connection to a list of `AgentMessage` values.""" -type AgentMessageConnection { - """A list of `AgentMessage` objects.""" - nodes: [AgentMessage]! + """Filter by the object’s `planPricingTable` relation.""" + planPricingTable: TableFilter - """ - A list of edges which contains the `AgentMessage` and cursor to aid in pagination. - """ - edges: [AgentMessageEdge]! + """A related `planPricingTable` exists.""" + planPricingTableExists: Boolean - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `plansTable` relation.""" + plansTable: TableFilter - """The count of *all* `AgentMessage` you could get from the connection.""" - totalCount: Int! + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter + + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } """ -A single message in an agent_thread. The full client-rendered content (TextPart and ToolPart, including the ToolPart state machine and inline approval object) lives in the `parts` jsonb column — there is no separate agent_tool_call or agent_tool_approval table in v1. Cascade-deleted with the parent thread; RLS is owner-only. +A filter to be used against `BillingModule` object types. All fields are combined with a logical ‘and.’ """ -type AgentMessage { - """ - Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. - """ - threadId: UUID! +input BillingModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Entity (org/group/personal-org id) this message is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger, which copies it from agent_thread.entity_id via thread_id; the application never sets this column directly. Used for org-scoped grouping queries (e.g. 'all my messages in org X'), NOT for RLS — RLS is owner-only. - """ - entityId: UUID! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - Who authored this message: 'user' or 'assistant'. Stored as free-text (no CHECK) so additional roles can be introduced without migration. Tool inputs/outputs do NOT get their own role — they appear as ToolPart entries inside the assistant message's `parts` array. - """ - authorRole: String! - id: UUID! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Timestamp when this record was created""" - createdAt: Datetime! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """Timestamp when this record was last updated""" - updatedAt: Datetime! + """Filter by the object’s `metersTableId` field.""" + metersTableId: UUIDFilter - """User who owns this record""" - ownerId: UUID! + """Filter by the object’s `metersTableName` field.""" + metersTableName: StringFilter - """JSON metadata for extensible key-value storage""" - parts: JSON + """Filter by the object’s `planSubscriptionsTableId` field.""" + planSubscriptionsTableId: UUIDFilter - """Reads a single `User` that is related to this `AgentMessage`.""" - owner: User + """Filter by the object’s `planSubscriptionsTableName` field.""" + planSubscriptionsTableName: StringFilter - """Reads a single `AgentThread` that is related to this `AgentMessage`.""" - thread: AgentThread -} + """Filter by the object’s `ledgerTableId` field.""" + ledgerTableId: UUIDFilter -"""A `AgentMessage` edge in the connection.""" -type AgentMessageEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `ledgerTableName` field.""" + ledgerTableName: StringFilter - """The `AgentMessage` at the end of the edge.""" - node: AgentMessage -} + """Filter by the object’s `balancesTableId` field.""" + balancesTableId: UUIDFilter -"""Methods to use when ordering `AgentMessage`.""" -enum AgentMessageOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - THREAD_ID_ASC - THREAD_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - AUTHOR_ROLE_ASC - AUTHOR_ROLE_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - OWNER_ID_ASC - OWNER_ID_DESC - PARTS_ASC - PARTS_DESC -} + """Filter by the object’s `balancesTableName` field.""" + balancesTableName: StringFilter -"""A connection to a list of `AgentTask` values.""" -type AgentTaskConnection { - """A list of `AgentTask` objects.""" - nodes: [AgentTask]! + """Filter by the object’s `recordUsageFunction` field.""" + recordUsageFunction: StringFilter - """ - A list of edges which contains the `AgentTask` and cursor to aid in pagination. - """ - edges: [AgentTaskEdge]! + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Checks for all expressions in this list.""" + and: [BillingModuleFilter!] - """The count of *all* `AgentTask` you could get from the connection.""" - totalCount: Int! -} + """Checks for any expressions in this list.""" + or: [BillingModuleFilter!] -""" -An agent- or user-authored todo item attached to an agent_thread. Captures the planning surface for agent-mode conversations: each row is a single discrete unit of work with a status lifecycle (pending → in-progress → done|failed). Cascade-deleted with the parent thread; RLS is owner-only. -""" -type AgentTask { - """ - Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. - """ - threadId: UUID! + """Negates the expression.""" + not: BillingModuleFilter - """ - Entity (org/group/personal-org id) this task is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger from agent_thread.entity_id via thread_id; the application never sets this column directly. - """ - entityId: UUID! - - """Natural-language description of the work to do. Required.""" - description: String! - - """ - Who created the task: 'agent' (added by the LLM during planning) or 'user' (added manually by the human). Stored as free-text (no CHECK) so additional sources can be introduced later. - """ - source: String! - - """ - Error message captured when the task transitioned to 'failed'. NULL while the task is still pending/in-progress, or when it completed successfully. - """ - error: String - id: UUID! - - """Timestamp when this record was created""" - createdAt: Datetime! - - """Timestamp when this record was last updated""" - updatedAt: Datetime! - - """User who owns this record""" - ownerId: UUID! - - """Current status of this record""" - status: String! - - """Reads a single `User` that is related to this `AgentTask`.""" - owner: User + """Filter by the object’s `balancesTable` relation.""" + balancesTable: TableFilter - """Reads a single `AgentThread` that is related to this `AgentTask`.""" - thread: AgentThread -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -"""A `AgentTask` edge in the connection.""" -type AgentTaskEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `ledgerTable` relation.""" + ledgerTable: TableFilter - """The `AgentTask` at the end of the edge.""" - node: AgentTask -} + """Filter by the object’s `metersTable` relation.""" + metersTable: TableFilter -"""Methods to use when ordering `AgentTask`.""" -enum AgentTaskOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - THREAD_ID_ASC - THREAD_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - SOURCE_ASC - SOURCE_DESC - ERROR_ASC - ERROR_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - OWNER_ID_ASC - OWNER_ID_DESC - STATUS_ASC - STATUS_DESC -} + """Filter by the object’s `planSubscriptionsTable` relation.""" + planSubscriptionsTable: TableFilter -"""A `AgentThread` edge in the connection.""" -type AgentThreadEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """The `AgentThread` at the end of the edge.""" - node: AgentThread + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter } -"""Methods to use when ordering `AgentThread`.""" -enum AgentThreadOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - TITLE_ASC - TITLE_DESC - MODE_ASC - MODE_DESC - MODEL_ASC - MODEL_DESC - SYSTEM_PROMPT_ASC - SYSTEM_PROMPT_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - OWNER_ID_ASC - OWNER_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - STATUS_ASC - STATUS_DESC -} +""" +A filter to be used against `BillingProviderModule` object types. All fields are combined with a logical ‘and.’ +""" +input BillingProviderModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""A connection to a list of `RoleType` values.""" -type RoleTypeConnection { - """A list of `RoleType` objects.""" - nodes: [RoleType]! + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - A list of edges which contains the `RoleType` and cursor to aid in pagination. - """ - edges: [RoleTypeEdge]! + """Filter by the object’s `schemaId` field.""" + schemaId: UUIDFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `privateSchemaId` field.""" + privateSchemaId: UUIDFilter - """The count of *all* `RoleType` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `provider` field.""" + provider: StringFilter -"""A `RoleType` edge in the connection.""" -type RoleTypeEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `productsTableId` field.""" + productsTableId: UUIDFilter - """The `RoleType` at the end of the edge.""" - node: RoleType -} + """Filter by the object’s `pricesTableId` field.""" + pricesTableId: UUIDFilter -"""Methods to use when ordering `RoleType`.""" -enum RoleTypeOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC -} + """Filter by the object’s `subscriptionsTableId` field.""" + subscriptionsTableId: UUIDFilter -"""A connection to a list of `IdentityProvider` values.""" -type IdentityProviderConnection { - """A list of `IdentityProvider` objects.""" - nodes: [IdentityProvider]! + """Filter by the object’s `billingCustomersTableId` field.""" + billingCustomersTableId: UUIDFilter - """ - A list of edges which contains the `IdentityProvider` and cursor to aid in pagination. - """ - edges: [IdentityProviderEdge]! + """Filter by the object’s `billingCustomersTableName` field.""" + billingCustomersTableName: StringFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `billingProductsTableId` field.""" + billingProductsTableId: UUIDFilter - """ - The count of *all* `IdentityProvider` you could get from the connection. - """ - totalCount: Int! -} + """Filter by the object’s `billingProductsTableName` field.""" + billingProductsTableName: StringFilter -type IdentityProvider { - slug: String - kind: String - displayName: String - enabled: Boolean - isBuiltIn: Boolean -} + """Filter by the object’s `billingPricesTableId` field.""" + billingPricesTableId: UUIDFilter -"""A `IdentityProvider` edge in the connection.""" -type IdentityProviderEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `billingPricesTableName` field.""" + billingPricesTableName: StringFilter - """The `IdentityProvider` at the end of the edge.""" - node: IdentityProvider -} + """Filter by the object’s `billingSubscriptionsTableId` field.""" + billingSubscriptionsTableId: UUIDFilter -""" -A filter to be used against `IdentityProvider` object types. All fields are combined with a logical ‘and.’ -""" -input IdentityProviderFilter { - """Filter by the object’s `slug` field.""" - slug: StringFilter + """Filter by the object’s `billingSubscriptionsTableName` field.""" + billingSubscriptionsTableName: StringFilter - """Filter by the object’s `kind` field.""" - kind: StringFilter + """Filter by the object’s `billingWebhookEventsTableId` field.""" + billingWebhookEventsTableId: UUIDFilter - """Filter by the object’s `displayName` field.""" - displayName: StringFilter + """Filter by the object’s `billingWebhookEventsTableName` field.""" + billingWebhookEventsTableName: StringFilter - """Filter by the object’s `enabled` field.""" - enabled: BooleanFilter + """Filter by the object’s `processBillingEventFunction` field.""" + processBillingEventFunction: StringFilter - """Filter by the object’s `isBuiltIn` field.""" - isBuiltIn: BooleanFilter + """Filter by the object’s `prefix` field.""" + prefix: StringFilter """Checks for all expressions in this list.""" - and: [IdentityProviderFilter!] + and: [BillingProviderModuleFilter!] """Checks for any expressions in this list.""" - or: [IdentityProviderFilter!] + or: [BillingProviderModuleFilter!] """Negates the expression.""" - not: IdentityProviderFilter -} - -"""Methods to use when ordering `IdentityProvider`.""" -enum IdentityProviderOrderBy { - NATURAL - SLUG_ASC - SLUG_DESC - KIND_ASC - KIND_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC - ENABLED_ASC - ENABLED_DESC - IS_BUILT_IN_ASC - IS_BUILT_IN_DESC -} - -"""A connection to a list of `Ref` values.""" -type RefConnection { - """A list of `Ref` objects.""" - nodes: [Ref]! - - """ - A list of edges which contains the `Ref` and cursor to aid in pagination. - """ - edges: [RefEdge]! + not: BillingProviderModuleFilter - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Filter by the object’s `billingCustomersTable` relation.""" + billingCustomersTable: TableFilter - """The count of *all* `Ref` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `billingPricesTable` relation.""" + billingPricesTable: TableFilter -"""A ref is a data structure for pointing to a commit.""" -type Ref { - """The primary unique identifier for the ref.""" - id: UUID! + """Filter by the object’s `billingProductsTable` relation.""" + billingProductsTable: TableFilter - """The name of the ref or branch""" - name: String! - databaseId: UUID! - storeId: UUID! - commitId: UUID -} + """Filter by the object’s `billingSubscriptionsTable` relation.""" + billingSubscriptionsTable: TableFilter -"""A `Ref` edge in the connection.""" -type RefEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `billingWebhookEventsTable` relation.""" + billingWebhookEventsTable: TableFilter - """The `Ref` at the end of the edge.""" - node: Ref -} + """Filter by the object’s `database` relation.""" + database: DatabaseFilter -""" -A filter to be used against `Ref` object types. All fields are combined with a logical ‘and.’ -""" -input RefFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `pricesTable` relation.""" + pricesTable: TableFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """A related `pricesTable` exists.""" + pricesTableExists: Boolean - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter + """Filter by the object’s `privateSchema` relation.""" + privateSchema: SchemaFilter - """Filter by the object’s `storeId` field.""" - storeId: UUIDFilter + """Filter by the object’s `productsTable` relation.""" + productsTable: TableFilter - """Filter by the object’s `commitId` field.""" - commitId: UUIDFilter + """A related `productsTable` exists.""" + productsTableExists: Boolean - """Checks for all expressions in this list.""" - and: [RefFilter!] + """Filter by the object’s `schema` relation.""" + schema: SchemaFilter - """Checks for any expressions in this list.""" - or: [RefFilter!] + """Filter by the object’s `subscriptionsTable` relation.""" + subscriptionsTable: TableFilter - """Negates the expression.""" - not: RefFilter + """A related `subscriptionsTable` exists.""" + subscriptionsTableExists: Boolean } -"""Methods to use when ordering `Ref`.""" -enum RefOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - STORE_ID_ASC - STORE_ID_DESC - COMMIT_ID_ASC - COMMIT_ID_DESC -} +""" +A filter to be used against many `DatabaseProvisionModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseToManyDatabaseProvisionModuleFilter { + """Filters to entities where at least one related entity matches.""" + some: DatabaseProvisionModuleFilter -"""A connection to a list of `Store` values.""" -type StoreConnection { - """A list of `Store` objects.""" - nodes: [Store]! + """Filters to entities where every related entity matches.""" + every: DatabaseProvisionModuleFilter - """ - A list of edges which contains the `Store` and cursor to aid in pagination. - """ - edges: [StoreEdge]! + """Filters to entities where no related entity matches.""" + none: DatabaseProvisionModuleFilter +} - """Information to aid in pagination.""" - pageInfo: PageInfo! +""" +A filter to be used against `DatabaseProvisionModule` object types. All fields are combined with a logical ‘and.’ +""" +input DatabaseProvisionModuleFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The count of *all* `Store` you could get from the connection.""" - totalCount: Int! -} + """Filter by the object’s `databaseName` field.""" + databaseName: StringFilter -"""A store represents an isolated object repository within a database.""" -type Store { - """The primary unique identifier for the store.""" - id: UUID! + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """The name of the store (e.g., metaschema, migrations).""" - name: String! + """Filter by the object’s `subdomain` field.""" + subdomain: StringFilter - """The database this store belongs to.""" - databaseId: UUID! + """Filter by the object’s `domain` field.""" + domain: StringFilter - """The current head tree_id for this store.""" - hash: UUID - createdAt: Datetime -} + """Filter by the object’s `modules` field.""" + modules: StringListFilter -"""A `Store` edge in the connection.""" -type StoreEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Filter by the object’s `options` field.""" + options: JSONFilter - """The `Store` at the end of the edge.""" - node: Store -} + """Filter by the object’s `bootstrapUser` field.""" + bootstrapUser: BooleanFilter -""" -A filter to be used against `Store` object types. All fields are combined with a logical ‘and.’ -""" -input StoreFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Filter by the object’s `status` field.""" + status: StringFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """Filter by the object’s `errorMessage` field.""" + errorMessage: StringFilter """Filter by the object’s `databaseId` field.""" databaseId: UUIDFilter - """Filter by the object’s `hash` field.""" - hash: UUIDFilter - """Filter by the object’s `createdAt` field.""" createdAt: DatetimeFilter + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter + + """Filter by the object’s `completedAt` field.""" + completedAt: DatetimeFilter + """Checks for all expressions in this list.""" - and: [StoreFilter!] + and: [DatabaseProvisionModuleFilter!] """Checks for any expressions in this list.""" - or: [StoreFilter!] + or: [DatabaseProvisionModuleFilter!] """Negates the expression.""" - not: StoreFilter + not: DatabaseProvisionModuleFilter + + """Filter by the object’s `database` relation.""" + database: DatabaseFilter + + """A related `database` exists.""" + databaseExists: Boolean } -"""Methods to use when ordering `Store`.""" -enum StoreOrderBy { +"""Methods to use when ordering `CheckConstraint`.""" +enum CheckConstraintOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - NAME_ASC - NAME_DESC DATABASE_ID_ASC DATABASE_ID_DESC - HASH_ASC - HASH_DESC + TABLE_ID_ASC + TABLE_ID_DESC + NAME_ASC + NAME_DESC + TYPE_ASC + TYPE_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + EXPR_ASC + EXPR_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC CREATED_AT_ASC CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `AppPermissionDefault` values.""" -type AppPermissionDefaultConnection { - """A list of `AppPermissionDefault` objects.""" - nodes: [AppPermissionDefault]! +"""A connection to a list of `Field` values.""" +type FieldConnection { + """A list of `Field` objects.""" + nodes: [Field]! """ - A list of edges which contains the `AppPermissionDefault` and cursor to aid in pagination. + A list of edges which contains the `Field` and cursor to aid in pagination. """ - edges: [AppPermissionDefaultEdge]! + edges: [FieldEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `AppPermissionDefault` you could get from the connection. - """ + """The count of *all* `Field` you could get from the connection.""" totalCount: Int! } -""" -Stores the default permission bitmask assigned to new members upon joining -""" -type AppPermissionDefault { +type Field { id: UUID! + databaseId: UUID! + tableId: UUID! + name: String! + label: String + description: String + smartTags: JSON + isRequired: Boolean! + apiRequired: Boolean! + defaultValue: String + defaultValueAst: JSON + type: String! + fieldOrder: Int! + regexp: String + chk: JSON + chkExpr: JSON + min: Float + max: Float + tags: [String]! + category: ObjectCategory! + module: String + scope: Int + createdAt: Datetime + updatedAt: Datetime - """Default permission bitmask applied to new members""" - permissions: BitString! -} + """Reads a single `Database` that is related to this `Field`.""" + database: Database -"""A `AppPermissionDefault` edge in the connection.""" -type AppPermissionDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads a single `Table` that is related to this `Field`.""" + table: Table - """The `AppPermissionDefault` at the end of the edge.""" - node: AppPermissionDefault -} + """Reads and enables pagination through a set of `SpatialRelation`.""" + spatialRelations( + """Only read the first `n` values of the set.""" + first: Int -""" -A filter to be used against `AppPermissionDefault` object types. All fields are combined with a logical ‘and.’ -""" -input AppPermissionDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `permissions` field.""" - permissions: BitStringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [AppPermissionDefaultFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [AppPermissionDefaultFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: AppPermissionDefaultFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SpatialRelationFilter -"""Methods to use when ordering `AppPermissionDefault`.""" -enum AppPermissionDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC -} - -""" -A filter to be used against `AppPermission` object types. All fields are combined with a logical ‘and.’ -""" -input AppPermissionFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `bitnum` field.""" - bitnum: IntFilter - - """Filter by the object’s `bitstr` field.""" - bitstr: BitStringFilter + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] + ): SpatialRelationConnection! - """Filter by the object’s `description` field.""" - description: StringFilter + """Reads and enables pagination through a set of `SpatialRelation`.""" + spatialRelationsByRefFieldId( + """Only read the first `n` values of the set.""" + first: Int - """Checks for all expressions in this list.""" - and: [AppPermissionFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Checks for any expressions in this list.""" - or: [AppPermissionFilter!] + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Negates the expression.""" - not: AppPermissionFilter -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""Methods to use when ordering `AppPermission`.""" -enum AppPermissionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - BITNUM_ASC - BITNUM_DESC - BITSTR_ASC - BITSTR_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -""" -A filter to be used against `OrgPermission` object types. All fields are combined with a logical ‘and.’ -""" -input OrgPermissionFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SpatialRelationFilter - """Filter by the object’s `name` field.""" - name: StringFilter + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] + ): SpatialRelationConnection! - """Filter by the object’s `bitnum` field.""" - bitnum: IntFilter + """Reads and enables pagination through a set of `Partition`.""" + partitionsByPartitionKeyId( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `bitstr` field.""" - bitstr: BitStringFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `description` field.""" - description: StringFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Checks for all expressions in this list.""" - and: [OrgPermissionFilter!] + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Checks for any expressions in this list.""" - or: [OrgPermissionFilter!] + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Negates the expression.""" - not: OrgPermissionFilter -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: PartitionFilter -"""Methods to use when ordering `OrgPermission`.""" -enum OrgPermissionOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - BITNUM_ASC - BITNUM_DESC - BITSTR_ASC - BITSTR_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC + """The method to use when ordering `Partition`.""" + orderBy: [PartitionOrderBy!] = [PRIMARY_KEY_ASC] + ): PartitionConnection! } -"""A connection to a list of `MembershipType` values.""" -type MembershipTypeConnection { - """A list of `MembershipType` objects.""" - nodes: [MembershipType]! +"""A connection to a list of `SpatialRelation` values.""" +type SpatialRelationConnection { + """A list of `SpatialRelation` objects.""" + nodes: [SpatialRelation]! """ - A list of edges which contains the `MembershipType` and cursor to aid in pagination. + A list of edges which contains the `SpatialRelation` and cursor to aid in pagination. """ - edges: [MembershipTypeEdge]! + edges: [SpatialRelationEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `MembershipType` you could get from the connection.""" - totalCount: Int! -} - -""" -Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) -""" -type MembershipType { """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + The count of *all* `SpatialRelation` you could get from the connection. """ - id: Int! + totalCount: Int! +} - """Human-readable name of the membership type""" +type SpatialRelation { + id: UUID! + databaseId: UUID! + tableId: UUID! + fieldId: UUID! + refTableId: UUID! + refFieldId: UUID! name: String! + operator: String! + paramName: String + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + createdAt: Datetime + updatedAt: Datetime - """Description of what this membership type represents""" - description: String! + """Reads a single `Database` that is related to this `SpatialRelation`.""" + database: Database - """ - Short prefix used to namespace tables and functions for this membership scope - """ - prefix: String! + """Reads a single `Field` that is related to this `SpatialRelation`.""" + field: Field - """ - Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) - """ - parentMembershipType: Int + """Reads a single `Field` that is related to this `SpatialRelation`.""" + refField: Field - """ - When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs - """ - hasUsersTableEntry: Boolean! + """Reads a single `Table` that is related to this `SpatialRelation`.""" + refTable: Table + + """Reads a single `Table` that is related to this `SpatialRelation`.""" + table: Table } -"""A `MembershipType` edge in the connection.""" -type MembershipTypeEdge { +"""A `SpatialRelation` edge in the connection.""" +type SpatialRelationEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `MembershipType` at the end of the edge.""" - node: MembershipType -} - -""" -A filter to be used against `MembershipType` object types. All fields are combined with a logical ‘and.’ -""" -input MembershipTypeFilter { - """Filter by the object’s `id` field.""" - id: IntFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `prefix` field.""" - prefix: StringFilter - - """Filter by the object’s `parentMembershipType` field.""" - parentMembershipType: IntFilter - - """Filter by the object’s `hasUsersTableEntry` field.""" - hasUsersTableEntry: BooleanFilter - - """Checks for all expressions in this list.""" - and: [MembershipTypeFilter!] - - """Checks for any expressions in this list.""" - or: [MembershipTypeFilter!] - - """Negates the expression.""" - not: MembershipTypeFilter + """The `SpatialRelation` at the end of the edge.""" + node: SpatialRelation } -"""Methods to use when ordering `MembershipType`.""" -enum MembershipTypeOrderBy { +"""Methods to use when ordering `SpatialRelation`.""" +enum SpatialRelationOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + FIELD_ID_ASC + FIELD_ID_DESC + REF_TABLE_ID_ASC + REF_TABLE_ID_DESC + REF_FIELD_ID_ASC + REF_FIELD_ID_DESC NAME_ASC NAME_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - PREFIX_ASC - PREFIX_DESC - PARENT_MEMBERSHIP_TYPE_ASC - PARENT_MEMBERSHIP_TYPE_DESC - HAS_USERS_TABLE_ENTRY_ASC - HAS_USERS_TABLE_ENTRY_DESC + OPERATOR_ASC + OPERATOR_DESC + PARAM_NAME_ASC + PARAM_NAME_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `MigrateFile` values.""" -type MigrateFileConnection { - """A list of `MigrateFile` objects.""" - nodes: [MigrateFile]! +"""A connection to a list of `Partition` values.""" +type PartitionConnection { + """A list of `Partition` objects.""" + nodes: [Partition]! """ - A list of edges which contains the `MigrateFile` and cursor to aid in pagination. + A list of edges which contains the `Partition` and cursor to aid in pagination. """ - edges: [MigrateFileEdge]! + edges: [PartitionEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `MigrateFile` you could get from the connection.""" + """The count of *all* `Partition` you could get from the connection.""" totalCount: Int! } -type MigrateFile { - id: UUID - databaseId: UUID - upload: ConstructiveInternalTypeUpload -} - -scalar ConstructiveInternalTypeUpload - -"""A `MigrateFile` edge in the connection.""" -type MigrateFileEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `MigrateFile` at the end of the edge.""" - node: MigrateFile -} - -""" -A filter to be used against `MigrateFile` object types. All fields are combined with a logical ‘and.’ -""" -input MigrateFileFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `upload` field.""" - upload: ConstructiveInternalTypeUploadFilter +type Partition { + id: UUID! + databaseId: UUID! + tableId: UUID! + strategy: String! + partitionKeyId: UUID! + interval: String + retention: String + lookahead: Int! + namingPattern: String! + createdAt: Datetime! + updatedAt: Datetime! - """Checks for all expressions in this list.""" - and: [MigrateFileFilter!] + """Reads a single `Database` that is related to this `Partition`.""" + database: Database - """Checks for any expressions in this list.""" - or: [MigrateFileFilter!] + """Reads a single `Field` that is related to this `Partition`.""" + partitionKey: Field - """Negates the expression.""" - not: MigrateFileFilter + """Reads a single `Table` that is related to this `Partition`.""" + table: Table } -""" -A filter to be used against ConstructiveInternalTypeUpload fields. All fields are combined with a logical ‘and.’ -""" -input ConstructiveInternalTypeUploadFilter { - """ - Is null (if `true` is specified) or is not null (if `false` is specified). - """ - isNull: Boolean - - """Equal to the specified value.""" - equalTo: ConstructiveInternalTypeUpload - - """Not equal to the specified value.""" - notEqualTo: ConstructiveInternalTypeUpload - - """ - Not equal to the specified value, treating null like an ordinary value. - """ - distinctFrom: ConstructiveInternalTypeUpload - - """Equal to the specified value, treating null like an ordinary value.""" - notDistinctFrom: ConstructiveInternalTypeUpload - - """Included in the specified list.""" - in: [ConstructiveInternalTypeUpload!] - - """Not included in the specified list.""" - notIn: [ConstructiveInternalTypeUpload!] - - """Less than the specified value.""" - lessThan: ConstructiveInternalTypeUpload - - """Less than or equal to the specified value.""" - lessThanOrEqualTo: ConstructiveInternalTypeUpload - - """Greater than the specified value.""" - greaterThan: ConstructiveInternalTypeUpload - - """Greater than or equal to the specified value.""" - greaterThanOrEqualTo: ConstructiveInternalTypeUpload - - """Contains the specified JSON.""" - contains: ConstructiveInternalTypeUpload - - """Contains the specified key.""" - containsKey: String - - """Contains all of the specified keys.""" - containsAllKeys: [String!] - - """Contains any of the specified keys.""" - containsAnyKeys: [String!] +"""A `Partition` edge in the connection.""" +type PartitionEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Contained by the specified JSON.""" - containedBy: ConstructiveInternalTypeUpload + """The `Partition` at the end of the edge.""" + node: Partition } -"""Methods to use when ordering `MigrateFile`.""" -enum MigrateFileOrderBy { +"""Methods to use when ordering `Partition`.""" +enum PartitionOrderBy { NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC ID_ASC ID_DESC DATABASE_ID_ASC DATABASE_ID_DESC - UPLOAD_ASC - UPLOAD_DESC -} - -"""A connection to a list of `DevicesModule` values.""" -type DevicesModuleConnection { - """A list of `DevicesModule` objects.""" - nodes: [DevicesModule]! - - """ - A list of edges which contains the `DevicesModule` and cursor to aid in pagination. - """ - edges: [DevicesModuleEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `DevicesModule` you could get from the connection.""" - totalCount: Int! + TABLE_ID_ASC + TABLE_ID_DESC + STRATEGY_ASC + STRATEGY_DESC + PARTITION_KEY_ID_ASC + PARTITION_KEY_ID_DESC + INTERVAL_ASC + INTERVAL_DESC + RETENTION_ASC + RETENTION_DESC + LOOKAHEAD_ASC + LOOKAHEAD_DESC + NAMING_PATTERN_ASC + NAMING_PATTERN_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A `DevicesModule` edge in the connection.""" -type DevicesModuleEdge { +"""A `Field` edge in the connection.""" +type FieldEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `DevicesModule` at the end of the edge.""" - node: DevicesModule + """The `Field` at the end of the edge.""" + node: Field } -"""Methods to use when ordering `DevicesModule`.""" -enum DevicesModuleOrderBy { +"""Methods to use when ordering `Field`.""" +enum FieldOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -25982,417 +22119,547 @@ enum DevicesModuleOrderBy { ID_DESC DATABASE_ID_ASC DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - USER_DEVICES_TABLE_ID_ASC - USER_DEVICES_TABLE_ID_DESC - DEVICE_SETTINGS_TABLE_ID_ASC - DEVICE_SETTINGS_TABLE_ID_DESC - USER_DEVICES_TABLE_ASC - USER_DEVICES_TABLE_DESC - DEVICE_SETTINGS_TABLE_ASC - DEVICE_SETTINGS_TABLE_DESC + TABLE_ID_ASC + TABLE_ID_DESC + NAME_ASC + NAME_DESC + LABEL_ASC + LABEL_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + IS_REQUIRED_ASC + IS_REQUIRED_DESC + API_REQUIRED_ASC + API_REQUIRED_DESC + DEFAULT_VALUE_ASC + DEFAULT_VALUE_DESC + DEFAULT_VALUE_AST_ASC + DEFAULT_VALUE_AST_DESC + TYPE_ASC + TYPE_DESC + FIELD_ORDER_ASC + FIELD_ORDER_DESC + REGEXP_ASC + REGEXP_DESC + CHK_ASC + CHK_DESC + CHK_EXPR_ASC + CHK_EXPR_DESC + MIN_ASC + MIN_DESC + MAX_ASC + MAX_DESC + TAGS_ASC + TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `NodeTypeRegistry` values.""" -type NodeTypeRegistryConnection { - """A list of `NodeTypeRegistry` objects.""" - nodes: [NodeTypeRegistry]! +"""A connection to a list of `ForeignKeyConstraint` values.""" +type ForeignKeyConstraintConnection { + """A list of `ForeignKeyConstraint` objects.""" + nodes: [ForeignKeyConstraint]! """ - A list of edges which contains the `NodeTypeRegistry` and cursor to aid in pagination. + A list of edges which contains the `ForeignKeyConstraint` and cursor to aid in pagination. """ - edges: [NodeTypeRegistryEdge]! + edges: [ForeignKeyConstraintEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! """ - The count of *all* `NodeTypeRegistry` you could get from the connection. + The count of *all* `ForeignKeyConstraint` you could get from the connection. """ totalCount: Int! } -type NodeTypeRegistry { - name: String! - slug: String! - category: String! - displayName: String +type ForeignKeyConstraint { + id: UUID! + databaseId: UUID! + tableId: UUID! + name: String description: String - parameterSchema: JSON! + smartTags: JSON + type: String + fieldIds: [UUID]! + refTableId: UUID! + refFieldIds: [UUID]! + deleteAction: String + updateAction: String + category: ObjectCategory! + module: String + scope: Int tags: [String]! -} - -"""A `NodeTypeRegistry` edge in the connection.""" -type NodeTypeRegistryEdge { - """A cursor for use in pagination.""" - cursor: Cursor + createdAt: Datetime + updatedAt: Datetime - """The `NodeTypeRegistry` at the end of the edge.""" - node: NodeTypeRegistry -} - -""" -A filter to be used against `NodeTypeRegistry` object types. All fields are combined with a logical ‘and.’ -""" -input NodeTypeRegistryFilter { - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `slug` field.""" - slug: StringFilter - - """Filter by the object’s `category` field.""" - category: StringFilter - - """Filter by the object’s `displayName` field.""" - displayName: StringFilter - - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `parameterSchema` field.""" - parameterSchema: JSONFilter + """ + Reads a single `Database` that is related to this `ForeignKeyConstraint`. + """ + database: Database - """Filter by the object’s `tags` field.""" - tags: StringListFilter + """Reads a single `Table` that is related to this `ForeignKeyConstraint`.""" + refTable: Table - """Checks for all expressions in this list.""" - and: [NodeTypeRegistryFilter!] + """Reads a single `Table` that is related to this `ForeignKeyConstraint`.""" + table: Table +} - """Checks for any expressions in this list.""" - or: [NodeTypeRegistryFilter!] +"""A `ForeignKeyConstraint` edge in the connection.""" +type ForeignKeyConstraintEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Negates the expression.""" - not: NodeTypeRegistryFilter + """The `ForeignKeyConstraint` at the end of the edge.""" + node: ForeignKeyConstraint } -"""Methods to use when ordering `NodeTypeRegistry`.""" -enum NodeTypeRegistryOrderBy { +"""Methods to use when ordering `ForeignKeyConstraint`.""" +enum ForeignKeyConstraintOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC NAME_ASC NAME_DESC - SLUG_ASC - SLUG_DESC - CATEGORY_ASC - CATEGORY_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC DESCRIPTION_ASC DESCRIPTION_DESC - PARAMETER_SCHEMA_ASC - PARAMETER_SCHEMA_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + TYPE_ASC + TYPE_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + REF_TABLE_ID_ASC + REF_TABLE_ID_DESC + REF_FIELD_IDS_ASC + REF_FIELD_IDS_DESC + DELETE_ACTION_ASC + DELETE_ACTION_DESC + UPDATE_ACTION_ASC + UPDATE_ACTION_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC TAGS_ASC TAGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `AppLimitDefault` values.""" -type AppLimitDefaultConnection { - """A list of `AppLimitDefault` objects.""" - nodes: [AppLimitDefault]! +"""A connection to a list of `FullTextSearch` values.""" +type FullTextSearchConnection { + """A list of `FullTextSearch` objects.""" + nodes: [FullTextSearch]! """ - A list of edges which contains the `AppLimitDefault` and cursor to aid in pagination. + A list of edges which contains the `FullTextSearch` and cursor to aid in pagination. """ - edges: [AppLimitDefaultEdge]! + edges: [FullTextSearchEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `AppLimitDefault` you could get from the connection. - """ + """The count of *all* `FullTextSearch` you could get from the connection.""" totalCount: Int! } -""" -Default maximum values for each named limit, applied when no per-actor override exists -""" -type AppLimitDefault { +type FullTextSearch { id: UUID! + databaseId: UUID! + tableId: UUID! + fieldId: UUID! + fieldIds: [UUID]! + weights: [String]! + langs: [String]! + createdAt: Datetime + updatedAt: Datetime - """Name identifier of the limit this default applies to""" - name: String! - - """Default maximum usage allowed for this limit""" - max: BigInt + """Reads a single `Database` that is related to this `FullTextSearch`.""" + database: Database - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Reads a single `Table` that is related to this `FullTextSearch`.""" + table: Table } -"""A `AppLimitDefault` edge in the connection.""" -type AppLimitDefaultEdge { +"""A `FullTextSearch` edge in the connection.""" +type FullTextSearchEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppLimitDefault` at the end of the edge.""" - node: AppLimitDefault -} - -""" -A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ -""" -input AppLimitDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `max` field.""" - max: BigIntFilter - - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter - - """Checks for all expressions in this list.""" - and: [AppLimitDefaultFilter!] - - """Checks for any expressions in this list.""" - or: [AppLimitDefaultFilter!] - - """Negates the expression.""" - not: AppLimitDefaultFilter + """The `FullTextSearch` at the end of the edge.""" + node: FullTextSearch } -"""Methods to use when ordering `AppLimitDefault`.""" -enum AppLimitDefaultOrderBy { +"""Methods to use when ordering `FullTextSearch`.""" +enum FullTextSearchOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - NAME_ASC - NAME_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + FIELD_ID_ASC + FIELD_ID_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + WEIGHTS_ASC + WEIGHTS_DESC + LANGS_ASC + LANGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `OrgLimitDefault` values.""" -type OrgLimitDefaultConnection { - """A list of `OrgLimitDefault` objects.""" - nodes: [OrgLimitDefault]! +"""A connection to a list of `Index` values.""" +type IndexConnection { + """A list of `Index` objects.""" + nodes: [Index]! """ - A list of edges which contains the `OrgLimitDefault` and cursor to aid in pagination. + A list of edges which contains the `Index` and cursor to aid in pagination. """ - edges: [OrgLimitDefaultEdge]! + edges: [IndexEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `OrgLimitDefault` you could get from the connection. - """ + """The count of *all* `Index` you could get from the connection.""" totalCount: Int! } -""" -Default maximum values for each named limit, applied when no per-actor override exists -""" -type OrgLimitDefault { +type Index { id: UUID! - - """Name identifier of the limit this default applies to""" + databaseId: UUID! + tableId: UUID! name: String! + fieldIds: [UUID] + includeFieldIds: [UUID] + accessMethod: String! + indexParams: JSON + whereClause: JSON + isUnique: Boolean! + options: JSON + opClasses: [String] + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + createdAt: Datetime + updatedAt: Datetime - """Default maximum usage allowed for this limit""" - max: BigInt + """Reads a single `Database` that is related to this `Index`.""" + database: Database - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Reads a single `Table` that is related to this `Index`.""" + table: Table } -"""A `OrgLimitDefault` edge in the connection.""" -type OrgLimitDefaultEdge { +"""A `Index` edge in the connection.""" +type IndexEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgLimitDefault` at the end of the edge.""" - node: OrgLimitDefault -} - -""" -A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ -""" -input OrgLimitDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `max` field.""" - max: BigIntFilter - - """Filter by the object’s `softMax` field.""" - softMax: BigIntFilter - - """Checks for all expressions in this list.""" - and: [OrgLimitDefaultFilter!] - - """Checks for any expressions in this list.""" - or: [OrgLimitDefaultFilter!] - - """Negates the expression.""" - not: OrgLimitDefaultFilter + """The `Index` at the end of the edge.""" + node: Index } -"""Methods to use when ordering `OrgLimitDefault`.""" -enum OrgLimitDefaultOrderBy { +"""Methods to use when ordering `Index`.""" +enum IndexOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC NAME_ASC NAME_DESC - MAX_ASC - MAX_DESC - SOFT_MAX_ASC - SOFT_MAX_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + INCLUDE_FIELD_IDS_ASC + INCLUDE_FIELD_IDS_DESC + ACCESS_METHOD_ASC + ACCESS_METHOD_DESC + INDEX_PARAMS_ASC + INDEX_PARAMS_DESC + WHERE_CLAUSE_ASC + WHERE_CLAUSE_DESC + IS_UNIQUE_ASC + IS_UNIQUE_DESC + OPTIONS_ASC + OPTIONS_DESC + OP_CLASSES_ASC + OP_CLASSES_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `UserConnectedAccount` values.""" -type UserConnectedAccountConnection { - """A list of `UserConnectedAccount` objects.""" - nodes: [UserConnectedAccount]! +"""A connection to a list of `Policy` values.""" +type PolicyConnection { + """A list of `Policy` objects.""" + nodes: [Policy]! """ - A list of edges which contains the `UserConnectedAccount` and cursor to aid in pagination. + A list of edges which contains the `Policy` and cursor to aid in pagination. """ - edges: [UserConnectedAccountEdge]! + edges: [PolicyEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `UserConnectedAccount` you could get from the connection. - """ + """The count of *all* `Policy` you could get from the connection.""" totalCount: Int! } -type UserConnectedAccount { - id: UUID - ownerId: UUID - service: String - identifier: String - details: JSON - isVerified: Boolean +type Policy { + id: UUID! + databaseId: UUID! + tableId: UUID! + name: String + granteeName: String + privilege: String + permissive: Boolean + disabled: Boolean + policyType: String + data: JSON + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! createdAt: Datetime updatedAt: Datetime + + """Reads a single `Database` that is related to this `Policy`.""" + database: Database + + """Reads a single `Table` that is related to this `Policy`.""" + table: Table } -"""A `UserConnectedAccount` edge in the connection.""" -type UserConnectedAccountEdge { +"""A `Policy` edge in the connection.""" +type PolicyEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `UserConnectedAccount` at the end of the edge.""" - node: UserConnectedAccount + """The `Policy` at the end of the edge.""" + node: Policy } -""" -A filter to be used against `UserConnectedAccount` object types. All fields are combined with a logical ‘and.’ -""" -input UserConnectedAccountFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `ownerId` field.""" - ownerId: UUIDFilter +"""Methods to use when ordering `Policy`.""" +enum PolicyOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + NAME_ASC + NAME_DESC + GRANTEE_NAME_ASC + GRANTEE_NAME_DESC + PRIVILEGE_ASC + PRIVILEGE_DESC + PERMISSIVE_ASC + PERMISSIVE_DESC + DISABLED_ASC + DISABLED_DESC + POLICY_TYPE_ASC + POLICY_TYPE_DESC + DATA_ASC + DATA_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """Filter by the object’s `service` field.""" - service: StringFilter +"""A connection to a list of `PrimaryKeyConstraint` values.""" +type PrimaryKeyConstraintConnection { + """A list of `PrimaryKeyConstraint` objects.""" + nodes: [PrimaryKeyConstraint]! - """Filter by the object’s `identifier` field.""" - identifier: StringFilter + """ + A list of edges which contains the `PrimaryKeyConstraint` and cursor to aid in pagination. + """ + edges: [PrimaryKeyConstraintEdge]! - """Filter by the object’s `details` field.""" - details: JSONFilter + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """ + The count of *all* `PrimaryKeyConstraint` you could get from the connection. + """ + totalCount: Int! +} - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter +type PrimaryKeyConstraint { + id: UUID! + databaseId: UUID! + tableId: UUID! + name: String + type: String + fieldIds: [UUID]! + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + createdAt: Datetime + updatedAt: Datetime - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Reads a single `Database` that is related to this `PrimaryKeyConstraint`. + """ + database: Database - """Checks for all expressions in this list.""" - and: [UserConnectedAccountFilter!] + """Reads a single `Table` that is related to this `PrimaryKeyConstraint`.""" + table: Table +} - """Checks for any expressions in this list.""" - or: [UserConnectedAccountFilter!] +"""A `PrimaryKeyConstraint` edge in the connection.""" +type PrimaryKeyConstraintEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Negates the expression.""" - not: UserConnectedAccountFilter + """The `PrimaryKeyConstraint` at the end of the edge.""" + node: PrimaryKeyConstraint } -"""Methods to use when ordering `UserConnectedAccount`.""" -enum UserConnectedAccountOrderBy { +"""Methods to use when ordering `PrimaryKeyConstraint`.""" +enum PrimaryKeyConstraintOrderBy { NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC ID_ASC ID_DESC - OWNER_ID_ASC - OWNER_ID_DESC - SERVICE_ASC - SERVICE_DESC - IDENTIFIER_ASC - IDENTIFIER_DESC - DETAILS_ASC - DETAILS_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + NAME_ASC + NAME_DESC + TYPE_ASC + TYPE_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC } -""" -A filter to be used against `Object` object types. All fields are combined with a logical ‘and.’ -""" -input ObjectFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter +"""A connection to a list of `TableGrant` values.""" +type TableGrantConnection { + """A list of `TableGrant` objects.""" + nodes: [TableGrant]! - """Filter by the object’s `kids` field.""" - kids: UUIDListFilter + """ + A list of edges which contains the `TableGrant` and cursor to aid in pagination. + """ + edges: [TableGrantEdge]! - """Filter by the object’s `ktree` field.""" - ktree: StringListFilter + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Filter by the object’s `data` field.""" - data: JSONFilter + """The count of *all* `TableGrant` you could get from the connection.""" + totalCount: Int! +} - """Filter by the object’s `frzn` field.""" - frzn: BooleanFilter +type TableGrant { + id: UUID! + databaseId: UUID! + tableId: UUID! + privilege: String! + granteeName: String! + fieldIds: [UUID] + isGrant: Boolean! + createdAt: Datetime + updatedAt: Datetime - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Reads a single `Database` that is related to this `TableGrant`.""" + database: Database - """Checks for all expressions in this list.""" - and: [ObjectFilter!] + """Reads a single `Table` that is related to this `TableGrant`.""" + table: Table +} - """Checks for any expressions in this list.""" - or: [ObjectFilter!] +"""A `TableGrant` edge in the connection.""" +type TableGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Negates the expression.""" - not: ObjectFilter + """The `TableGrant` at the end of the edge.""" + node: TableGrant } -"""Methods to use when ordering `Object`.""" -enum ObjectOrderBy { +"""Methods to use when ordering `TableGrant`.""" +enum TableGrantOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -26400,227 +22667,156 @@ enum ObjectOrderBy { ID_DESC DATABASE_ID_ASC DATABASE_ID_DESC - KIDS_ASC - KIDS_DESC - KTREE_ASC - KTREE_DESC - DATA_ASC - DATA_DESC - FRZN_ASC - FRZN_DESC - CREATED_AT_ASC - CREATED_AT_DESC -} - -""" -A filter to be used against `AppLevelRequirement` object types. All fields are combined with a logical ‘and.’ -""" -input AppLevelRequirementFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `level` field.""" - level: StringFilter - - """Filter by the object’s `description` field.""" - description: StringFilter - - """Filter by the object’s `requiredCount` field.""" - requiredCount: IntFilter - - """Filter by the object’s `priority` field.""" - priority: IntFilter - - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter - - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter - - """Checks for all expressions in this list.""" - and: [AppLevelRequirementFilter!] - - """Checks for any expressions in this list.""" - or: [AppLevelRequirementFilter!] - - """Negates the expression.""" - not: AppLevelRequirementFilter -} - -"""Methods to use when ordering `AppLevelRequirement`.""" -enum AppLevelRequirementOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - LEVEL_ASC - LEVEL_DESC - DESCRIPTION_ASC - DESCRIPTION_DESC - REQUIRED_COUNT_ASC - REQUIRED_COUNT_DESC - PRIORITY_ASC - PRIORITY_DESC + TABLE_ID_ASC + TABLE_ID_DESC + PRIVILEGE_ASC + PRIVILEGE_DESC + GRANTEE_NAME_ASC + GRANTEE_NAME_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + IS_GRANT_ASC + IS_GRANT_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC } -"""A connection to a list of `Commit` values.""" -type CommitConnection { - """A list of `Commit` objects.""" - nodes: [Commit]! +"""A connection to a list of `Trigger` values.""" +type TriggerConnection { + """A list of `Trigger` objects.""" + nodes: [Trigger]! """ - A list of edges which contains the `Commit` and cursor to aid in pagination. + A list of edges which contains the `Trigger` and cursor to aid in pagination. """ - edges: [CommitEdge]! + edges: [TriggerEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `Commit` you could get from the connection.""" + """The count of *all* `Trigger` you could get from the connection.""" totalCount: Int! } -"""A commit records changes to the repository.""" -type Commit { - """The primary unique identifier for the commit.""" +type Trigger { id: UUID! - - """The commit message""" - message: String - - """The repository identifier""" databaseId: UUID! - storeId: UUID! - - """Parent commits""" - parentIds: [UUID] - - """The author of the commit""" - authorId: UUID + tableId: UUID! + name: String! + event: String + functionName: String + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + createdAt: Datetime + updatedAt: Datetime - """The committer of the commit""" - committerId: UUID + """Reads a single `Database` that is related to this `Trigger`.""" + database: Database - """The root of the tree""" - treeId: UUID - date: Datetime! + """Reads a single `Table` that is related to this `Trigger`.""" + table: Table } -"""A `Commit` edge in the connection.""" -type CommitEdge { +"""A `Trigger` edge in the connection.""" +type TriggerEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `Commit` at the end of the edge.""" - node: Commit -} - -""" -A filter to be used against `Commit` object types. All fields are combined with a logical ‘and.’ -""" -input CommitFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter - - """Filter by the object’s `message` field.""" - message: StringFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `storeId` field.""" - storeId: UUIDFilter - - """Filter by the object’s `parentIds` field.""" - parentIds: UUIDListFilter - - """Filter by the object’s `authorId` field.""" - authorId: UUIDFilter - - """Filter by the object’s `committerId` field.""" - committerId: UUIDFilter - - """Filter by the object’s `treeId` field.""" - treeId: UUIDFilter - - """Filter by the object’s `date` field.""" - date: DatetimeFilter - - """Checks for all expressions in this list.""" - and: [CommitFilter!] - - """Checks for any expressions in this list.""" - or: [CommitFilter!] - - """Negates the expression.""" - not: CommitFilter + """The `Trigger` at the end of the edge.""" + node: Trigger } -"""Methods to use when ordering `Commit`.""" -enum CommitOrderBy { +"""Methods to use when ordering `Trigger`.""" +enum TriggerOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - MESSAGE_ASC - MESSAGE_DESC DATABASE_ID_ASC DATABASE_ID_DESC - STORE_ID_ASC - STORE_ID_DESC - PARENT_IDS_ASC - PARENT_IDS_DESC - AUTHOR_ID_ASC - AUTHOR_ID_DESC - COMMITTER_ID_ASC - COMMITTER_ID_DESC - TREE_ID_ASC - TREE_ID_DESC - DATE_ASC - DATE_DESC + TABLE_ID_ASC + TABLE_ID_DESC + NAME_ASC + NAME_DESC + EVENT_ASC + EVENT_DESC + FUNCTION_NAME_ASC + FUNCTION_NAME_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `RateLimitsModule` values.""" -type RateLimitsModuleConnection { - """A list of `RateLimitsModule` objects.""" - nodes: [RateLimitsModule]! +"""A connection to a list of `UniqueConstraint` values.""" +type UniqueConstraintConnection { + """A list of `UniqueConstraint` objects.""" + nodes: [UniqueConstraint]! """ - A list of edges which contains the `RateLimitsModule` and cursor to aid in pagination. + A list of edges which contains the `UniqueConstraint` and cursor to aid in pagination. """ - edges: [RateLimitsModuleEdge]! + edges: [UniqueConstraintEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! """ - The count of *all* `RateLimitsModule` you could get from the connection. + The count of *all* `UniqueConstraint` you could get from the connection. """ totalCount: Int! } -"""A `RateLimitsModule` edge in the connection.""" -type RateLimitsModuleEdge { +type UniqueConstraint { + id: UUID! + databaseId: UUID! + tableId: UUID! + name: String + description: String + smartTags: JSON + type: String + fieldIds: [UUID]! + category: ObjectCategory! + module: String + scope: Int + tags: [String]! + createdAt: Datetime + updatedAt: Datetime + + """Reads a single `Database` that is related to this `UniqueConstraint`.""" + database: Database + + """Reads a single `Table` that is related to this `UniqueConstraint`.""" + table: Table +} + +"""A `UniqueConstraint` edge in the connection.""" +type UniqueConstraintEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `RateLimitsModule` at the end of the edge.""" - node: RateLimitsModule + """The `UniqueConstraint` at the end of the edge.""" + node: UniqueConstraint } -"""Methods to use when ordering `RateLimitsModule`.""" -enum RateLimitsModuleOrderBy { +"""Methods to use when ordering `UniqueConstraint`.""" +enum UniqueConstraintOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -26628,444 +22824,360 @@ enum RateLimitsModuleOrderBy { ID_DESC DATABASE_ID_ASC DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - RATE_LIMIT_SETTINGS_TABLE_ID_ASC - RATE_LIMIT_SETTINGS_TABLE_ID_DESC - IP_RATE_LIMITS_TABLE_ID_ASC - IP_RATE_LIMITS_TABLE_ID_DESC - RATE_LIMITS_TABLE_ID_ASC - RATE_LIMITS_TABLE_ID_DESC - RATE_LIMIT_SETTINGS_TABLE_ASC - RATE_LIMIT_SETTINGS_TABLE_DESC - IP_RATE_LIMITS_TABLE_ASC - IP_RATE_LIMITS_TABLE_DESC - RATE_LIMITS_TABLE_ASC - RATE_LIMITS_TABLE_DESC + TABLE_ID_ASC + TABLE_ID_DESC + NAME_ASC + NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + TYPE_ASC + TYPE_DESC + FIELD_IDS_ASC + FIELD_IDS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `AppMembershipDefault` values.""" -type AppMembershipDefaultConnection { - """A list of `AppMembershipDefault` objects.""" - nodes: [AppMembershipDefault]! +"""A connection to a list of `View` values.""" +type ViewConnection { + """A list of `View` objects.""" + nodes: [View]! """ - A list of edges which contains the `AppMembershipDefault` and cursor to aid in pagination. + A list of edges which contains the `View` and cursor to aid in pagination. """ - edges: [AppMembershipDefaultEdge]! + edges: [ViewEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `AppMembershipDefault` you could get from the connection. - """ + """The count of *all* `View` you could get from the connection.""" totalCount: Int! } -""" -Default membership settings per entity, controlling initial approval and verification state for new members -""" -type AppMembershipDefault { +type View { id: UUID! - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - - """Whether new members are automatically approved upon joining""" - isApproved: Boolean! + databaseId: UUID! + schemaId: UUID! + name: String! + tableId: UUID + viewType: String! + data: JSON + filterType: String + filterData: JSON + securityInvoker: Boolean + isReadOnly: Boolean + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! - """Whether new members are automatically verified upon joining""" - isVerified: Boolean! -} + """Reads a single `Database` that is related to this `View`.""" + database: Database -"""A `AppMembershipDefault` edge in the connection.""" -type AppMembershipDefaultEdge { - """A cursor for use in pagination.""" - cursor: Cursor + """Reads a single `Schema` that is related to this `View`.""" + schema: Schema - """The `AppMembershipDefault` at the end of the edge.""" - node: AppMembershipDefault -} + """Reads a single `Table` that is related to this `View`.""" + table: Table -""" -A filter to be used against `AppMembershipDefault` object types. All fields are combined with a logical ‘and.’ -""" -input AppMembershipDefaultFilter { - """Filter by the object’s `id` field.""" - id: UUIDFilter + """Reads and enables pagination through a set of `ViewTable`.""" + viewTables( + """Only read the first `n` values of the set.""" + first: Int - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """Only read the last `n` values of the set.""" + last: Int - """Filter by the object’s `updatedAt` field.""" - updatedAt: DatetimeFilter + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """Filter by the object’s `createdBy` field.""" - createdBy: UUIDFilter + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Filter by the object’s `updatedBy` field.""" - updatedBy: UUIDFilter + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Filter by the object’s `isApproved` field.""" - isApproved: BooleanFilter + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewTableFilter - """Filter by the object’s `isVerified` field.""" - isVerified: BooleanFilter + """The method to use when ordering `ViewTable`.""" + orderBy: [ViewTableOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewTableConnection! - """Checks for all expressions in this list.""" - and: [AppMembershipDefaultFilter!] + """Reads and enables pagination through a set of `ViewGrant`.""" + viewGrants( + """Only read the first `n` values of the set.""" + first: Int - """Checks for any expressions in this list.""" - or: [AppMembershipDefaultFilter!] + """Only read the last `n` values of the set.""" + last: Int - """Negates the expression.""" - not: AppMembershipDefaultFilter -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""Methods to use when ordering `AppMembershipDefault`.""" -enum AppMembershipDefaultOrderBy { - NATURAL - PRIMARY_KEY_ASC - PRIMARY_KEY_DESC - ID_ASC - ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""A connection to a list of `OrgMembershipDefault` values.""" -type OrgMembershipDefaultConnection { - """A list of `OrgMembershipDefault` objects.""" - nodes: [OrgMembershipDefault]! + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewGrantFilter + + """The method to use when ordering `ViewGrant`.""" + orderBy: [ViewGrantOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewGrantConnection! + + """Reads and enables pagination through a set of `ViewRule`.""" + viewRules( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ViewRuleFilter + + """The method to use when ordering `ViewRule`.""" + orderBy: [ViewRuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ViewRuleConnection! +} + +"""A connection to a list of `ViewTable` values.""" +type ViewTableConnection { + """A list of `ViewTable` objects.""" + nodes: [ViewTable]! """ - A list of edges which contains the `OrgMembershipDefault` and cursor to aid in pagination. - """ - edges: [OrgMembershipDefaultEdge]! + A list of edges which contains the `ViewTable` and cursor to aid in pagination. + """ + edges: [ViewTableEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `OrgMembershipDefault` you could get from the connection. - """ + """The count of *all* `ViewTable` you could get from the connection.""" totalCount: Int! } -"""A `OrgMembershipDefault` edge in the connection.""" -type OrgMembershipDefaultEdge { +""" +Junction table linking views to their joined tables for referential integrity +""" +type ViewTable { + id: UUID! + viewId: UUID! + tableId: UUID! + joinOrder: Int! + + """Reads a single `Table` that is related to this `ViewTable`.""" + table: Table + + """Reads a single `View` that is related to this `ViewTable`.""" + view: View +} + +"""A `ViewTable` edge in the connection.""" +type ViewTableEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgMembershipDefault` at the end of the edge.""" - node: OrgMembershipDefault + """The `ViewTable` at the end of the edge.""" + node: ViewTable } -"""Methods to use when ordering `OrgMembershipDefault`.""" -enum OrgMembershipDefaultOrderBy { +"""Methods to use when ordering `ViewTable`.""" +enum ViewTableOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC + VIEW_ID_ASC + VIEW_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + JOIN_ORDER_ASC + JOIN_ORDER_DESC } -"""A connection to a list of `AppLimitEvent` values.""" -type AppLimitEventConnection { - """A list of `AppLimitEvent` objects.""" - nodes: [AppLimitEvent]! +"""A connection to a list of `ViewGrant` values.""" +type ViewGrantConnection { + """A list of `ViewGrant` objects.""" + nodes: [ViewGrant]! """ - A list of edges which contains the `AppLimitEvent` and cursor to aid in pagination. + A list of edges which contains the `ViewGrant` and cursor to aid in pagination. """ - edges: [AppLimitEventEdge]! + edges: [ViewGrantEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `AppLimitEvent` you could get from the connection.""" + """The count of *all* `ViewGrant` you could get from the connection.""" totalCount: Int! } -"""Append-only log of limit events for historical reporting and audit""" -type AppLimitEvent { - """Limit name this event applies to""" - name: String - - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID - - """Entity this event applies to; NULL for app-level events""" - entityId: UUID - - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String - - """Change amount: positive for increment, negative for decrement""" - delta: BigInt - - """Usage count before this event""" - numBefore: BigInt - - """Usage count after this event""" - numAfter: BigInt +type ViewGrant { + id: UUID! + databaseId: UUID! + viewId: UUID! + granteeName: String! + privilege: String! + withGrantOption: Boolean + isGrant: Boolean! - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + """Reads a single `Database` that is related to this `ViewGrant`.""" + database: Database - """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. - """ - reason: String + """Reads a single `View` that is related to this `ViewGrant`.""" + view: View } -"""A `AppLimitEvent` edge in the connection.""" -type AppLimitEventEdge { +"""A `ViewGrant` edge in the connection.""" +type ViewGrantEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppLimitEvent` at the end of the edge.""" - node: AppLimitEvent -} - -""" -A filter to be used against `AppLimitEvent` object types. All fields are combined with a logical ‘and.’ -""" -input AppLimitEventFilter { - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter - - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter - - """Filter by the object’s `eventType` field.""" - eventType: StringFilter - - """Filter by the object’s `delta` field.""" - delta: BigIntFilter - - """Filter by the object’s `numBefore` field.""" - numBefore: BigIntFilter - - """Filter by the object’s `numAfter` field.""" - numAfter: BigIntFilter - - """Filter by the object’s `maxAtEvent` field.""" - maxAtEvent: BigIntFilter - - """Filter by the object’s `reason` field.""" - reason: StringFilter - - """Checks for all expressions in this list.""" - and: [AppLimitEventFilter!] - - """Checks for any expressions in this list.""" - or: [AppLimitEventFilter!] - - """Negates the expression.""" - not: AppLimitEventFilter + """The `ViewGrant` at the end of the edge.""" + node: ViewGrant } -"""Methods to use when ordering `AppLimitEvent`.""" -enum AppLimitEventOrderBy { +"""Methods to use when ordering `ViewGrant`.""" +enum ViewGrantOrderBy { NATURAL - NAME_ASC - NAME_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - EVENT_TYPE_ASC - EVENT_TYPE_DESC - DELTA_ASC - DELTA_DESC - NUM_BEFORE_ASC - NUM_BEFORE_DESC - NUM_AFTER_ASC - NUM_AFTER_DESC - MAX_AT_EVENT_ASC - MAX_AT_EVENT_DESC - REASON_ASC - REASON_DESC + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + VIEW_ID_ASC + VIEW_ID_DESC + GRANTEE_NAME_ASC + GRANTEE_NAME_DESC + PRIVILEGE_ASC + PRIVILEGE_DESC + WITH_GRANT_OPTION_ASC + WITH_GRANT_OPTION_DESC + IS_GRANT_ASC + IS_GRANT_DESC } -"""A connection to a list of `OrgLimitEvent` values.""" -type OrgLimitEventConnection { - """A list of `OrgLimitEvent` objects.""" - nodes: [OrgLimitEvent]! +"""A connection to a list of `ViewRule` values.""" +type ViewRuleConnection { + """A list of `ViewRule` objects.""" + nodes: [ViewRule]! """ - A list of edges which contains the `OrgLimitEvent` and cursor to aid in pagination. + A list of edges which contains the `ViewRule` and cursor to aid in pagination. """ - edges: [OrgLimitEventEdge]! + edges: [ViewRuleEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `OrgLimitEvent` you could get from the connection.""" + """The count of *all* `ViewRule` you could get from the connection.""" totalCount: Int! } -"""Append-only log of limit events for historical reporting and audit""" -type OrgLimitEvent { - """Limit name this event applies to""" - name: String - - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID - - """Entity this event applies to; NULL for app-level events""" - entityId: UUID - - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String - - """Change amount: positive for increment, negative for decrement""" - delta: BigInt +"""DO INSTEAD rules for views (e.g., read-only enforcement)""" +type ViewRule { + id: UUID! + databaseId: UUID! + viewId: UUID! + name: String! - """Usage count before this event""" - numBefore: BigInt + """INSERT, UPDATE, or DELETE""" + event: String! - """Usage count after this event""" - numAfter: BigInt + """NOTHING (for read-only) or custom action""" + action: String! - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + """Reads a single `Database` that is related to this `ViewRule`.""" + database: Database - """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. - """ - reason: String + """Reads a single `View` that is related to this `ViewRule`.""" + view: View } -"""A `OrgLimitEvent` edge in the connection.""" -type OrgLimitEventEdge { +"""A `ViewRule` edge in the connection.""" +type ViewRuleEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgLimitEvent` at the end of the edge.""" - node: OrgLimitEvent -} - -""" -A filter to be used against `OrgLimitEvent` object types. All fields are combined with a logical ‘and.’ -""" -input OrgLimitEventFilter { - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter - - """Filter by the object’s `entityId` field.""" - entityId: UUIDFilter - - """Filter by the object’s `eventType` field.""" - eventType: StringFilter - - """Filter by the object’s `delta` field.""" - delta: BigIntFilter - - """Filter by the object’s `numBefore` field.""" - numBefore: BigIntFilter - - """Filter by the object’s `numAfter` field.""" - numAfter: BigIntFilter - - """Filter by the object’s `maxAtEvent` field.""" - maxAtEvent: BigIntFilter - - """Filter by the object’s `reason` field.""" - reason: StringFilter - - """Checks for all expressions in this list.""" - and: [OrgLimitEventFilter!] - - """Checks for any expressions in this list.""" - or: [OrgLimitEventFilter!] - - """Negates the expression.""" - not: OrgLimitEventFilter + """The `ViewRule` at the end of the edge.""" + node: ViewRule } -"""Methods to use when ordering `OrgLimitEvent`.""" -enum OrgLimitEventOrderBy { +"""Methods to use when ordering `ViewRule`.""" +enum ViewRuleOrderBy { NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + VIEW_ID_ASC + VIEW_ID_DESC NAME_ASC NAME_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - EVENT_TYPE_ASC - EVENT_TYPE_DESC - DELTA_ASC - DELTA_DESC - NUM_BEFORE_ASC - NUM_BEFORE_DESC - NUM_AFTER_ASC - NUM_AFTER_DESC - MAX_AT_EVENT_ASC - MAX_AT_EVENT_DESC - REASON_ASC - REASON_DESC -} - -"""A connection to a list of `PlansModule` values.""" -type PlansModuleConnection { - """A list of `PlansModule` objects.""" - nodes: [PlansModule]! - - """ - A list of edges which contains the `PlansModule` and cursor to aid in pagination. - """ - edges: [PlansModuleEdge]! - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """The count of *all* `PlansModule` you could get from the connection.""" - totalCount: Int! + EVENT_ASC + EVENT_DESC + ACTION_ASC + ACTION_DESC } -"""A `PlansModule` edge in the connection.""" -type PlansModuleEdge { +"""A `View` edge in the connection.""" +type ViewEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `PlansModule` at the end of the edge.""" - node: PlansModule + """The `View` at the end of the edge.""" + node: View } -"""Methods to use when ordering `PlansModule`.""" -enum PlansModuleOrderBy { +"""Methods to use when ordering `View`.""" +enum ViewOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -27075,52 +23187,98 @@ enum PlansModuleOrderBy { DATABASE_ID_DESC SCHEMA_ID_ASC SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - PLANS_TABLE_ID_ASC - PLANS_TABLE_ID_DESC - PLANS_TABLE_NAME_ASC - PLANS_TABLE_NAME_DESC - PLAN_LIMITS_TABLE_ID_ASC - PLAN_LIMITS_TABLE_ID_DESC - PLAN_LIMITS_TABLE_NAME_ASC - PLAN_LIMITS_TABLE_NAME_DESC - APPLY_PLAN_FUNCTION_ASC - APPLY_PLAN_FUNCTION_DESC - APPLY_PLAN_AGGREGATE_FUNCTION_ASC - APPLY_PLAN_AGGREGATE_FUNCTION_DESC - PREFIX_ASC - PREFIX_DESC + NAME_ASC + NAME_DESC + TABLE_ID_ASC + TABLE_ID_DESC + VIEW_TYPE_ASC + VIEW_TYPE_DESC + DATA_ASC + DATA_DESC + FILTER_TYPE_ASC + FILTER_TYPE_DESC + FILTER_DATA_ASC + FILTER_DATA_DESC + SECURITY_INVOKER_ASC + SECURITY_INVOKER_DESC + IS_READ_ONLY_ASC + IS_READ_ONLY_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC } -"""A connection to a list of `RlsModule` values.""" -type RlsModuleConnection { - """A list of `RlsModule` objects.""" - nodes: [RlsModule]! +"""A connection to a list of `EmbeddingChunk` values.""" +type EmbeddingChunkConnection { + """A list of `EmbeddingChunk` objects.""" + nodes: [EmbeddingChunk]! """ - A list of edges which contains the `RlsModule` and cursor to aid in pagination. + A list of edges which contains the `EmbeddingChunk` and cursor to aid in pagination. """ - edges: [RlsModuleEdge]! + edges: [EmbeddingChunkEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `RlsModule` you could get from the connection.""" + """The count of *all* `EmbeddingChunk` you could get from the connection.""" totalCount: Int! } -"""A `RlsModule` edge in the connection.""" -type RlsModuleEdge { +type EmbeddingChunk { + id: UUID! + databaseId: UUID! + tableId: UUID! + embeddingFieldId: UUID + chunksTableId: UUID + chunksTableName: String + contentFieldName: String! + dimensions: Int! + metric: String! + chunkSize: Int! + chunkOverlap: Int! + chunkStrategy: String! + metadataFields: JSON + enqueueChunkingJob: Boolean! + chunkingTaskName: String! + parentFkFieldId: UUID + createdAt: Datetime + updatedAt: Datetime + + """Reads a single `Table` that is related to this `EmbeddingChunk`.""" + chunksTable: Table + + """Reads a single `Database` that is related to this `EmbeddingChunk`.""" + database: Database + + """Reads a single `Field` that is related to this `EmbeddingChunk`.""" + embeddingField: Field + + """Reads a single `Field` that is related to this `EmbeddingChunk`.""" + parentFkField: Field + + """Reads a single `Table` that is related to this `EmbeddingChunk`.""" + table: Table +} + +"""A `EmbeddingChunk` edge in the connection.""" +type EmbeddingChunkEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `RlsModule` at the end of the edge.""" - node: RlsModule + """The `EmbeddingChunk` at the end of the edge.""" + node: EmbeddingChunk } -"""Methods to use when ordering `RlsModule`.""" -enum RlsModuleOrderBy { +"""Methods to use when ordering `EmbeddingChunk`.""" +enum EmbeddingChunkOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -27128,177 +23286,139 @@ enum RlsModuleOrderBy { ID_DESC DATABASE_ID_ASC DATABASE_ID_DESC - SCHEMA_ID_ASC - SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - SESSION_CREDENTIALS_TABLE_ID_ASC - SESSION_CREDENTIALS_TABLE_ID_DESC - SESSIONS_TABLE_ID_ASC - SESSIONS_TABLE_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - AUTHENTICATE_ASC - AUTHENTICATE_DESC - AUTHENTICATE_STRICT_ASC - AUTHENTICATE_STRICT_DESC - CURRENT_ROLE_ASC - CURRENT_ROLE_DESC - CURRENT_ROLE_ID_ASC - CURRENT_ROLE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + EMBEDDING_FIELD_ID_ASC + EMBEDDING_FIELD_ID_DESC + CHUNKS_TABLE_ID_ASC + CHUNKS_TABLE_ID_DESC + CHUNKS_TABLE_NAME_ASC + CHUNKS_TABLE_NAME_DESC + CONTENT_FIELD_NAME_ASC + CONTENT_FIELD_NAME_DESC + DIMENSIONS_ASC + DIMENSIONS_DESC + METRIC_ASC + METRIC_DESC + CHUNK_SIZE_ASC + CHUNK_SIZE_DESC + CHUNK_OVERLAP_ASC + CHUNK_OVERLAP_DESC + CHUNK_STRATEGY_ASC + CHUNK_STRATEGY_DESC + METADATA_FIELDS_ASC + METADATA_FIELDS_DESC + ENQUEUE_CHUNKING_JOB_ASC + ENQUEUE_CHUNKING_JOB_DESC + CHUNKING_TASK_NAME_ASC + CHUNKING_TASK_NAME_DESC + PARENT_FK_FIELD_ID_ASC + PARENT_FK_FIELD_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""A connection to a list of `SqlAction` values.""" -type SqlActionConnection { - """A list of `SqlAction` objects.""" - nodes: [SqlAction]! +"""A connection to a list of `SecureTableProvision` values.""" +type SecureTableProvisionConnection { + """A list of `SecureTableProvision` objects.""" + nodes: [SecureTableProvision]! """ - A list of edges which contains the `SqlAction` and cursor to aid in pagination. + A list of edges which contains the `SecureTableProvision` and cursor to aid in pagination. """ - edges: [SqlActionEdge]! + edges: [SecureTableProvisionEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `SqlAction` you could get from the connection.""" + """ + The count of *all* `SecureTableProvision` you could get from the connection. + """ totalCount: Int! } -type SqlAction { - id: Int - name: String - databaseId: UUID - deploy: String - deps: [String] - payload: JSON - content: String - revert: String - verify: String - createdAt: Datetime - action: String - actionId: UUID - actorId: UUID -} - -"""A `SqlAction` edge in the connection.""" -type SqlActionEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `SqlAction` at the end of the edge.""" - node: SqlAction -} - """ -A filter to be used against `SqlAction` object types. All fields are combined with a logical ‘and.’ +Provisions security, fields, grants, and policies onto a table. Each row can independently: (1) create fields via nodes[] array (supporting multiple Data* modules per row), (2) grant privileges via grants[] array (supporting per-role privilege targeting), (3) create RLS policies via policies[] array (supporting multiple Authz* policies per row). Multiple rows can target the same table to compose different concerns. All three concerns are optional and independent. """ -input SqlActionFilter { - """Filter by the object’s `id` field.""" - id: IntFilter - - """Filter by the object’s `name` field.""" - name: StringFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `deploy` field.""" - deploy: StringFilter - - """Filter by the object’s `deps` field.""" - deps: StringListFilter - - """Filter by the object’s `content` field.""" - content: StringFilter - - """Filter by the object’s `revert` field.""" - revert: StringFilter +type SecureTableProvision { + """Unique identifier for this provision row.""" + id: UUID! - """Filter by the object’s `verify` field.""" - verify: StringFilter + """The database this provision belongs to. Required.""" + databaseId: UUID! - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Target schema for the table. Defaults to uuid_nil(); the trigger resolves this to the app_public schema if not explicitly provided. + """ + schemaId: UUID! - """Filter by the object’s `action` field.""" - action: StringFilter + """ + Target table to provision. Defaults to uuid_nil(); the trigger creates or resolves the table via table_name if not explicitly provided. + """ + tableId: UUID! - """Filter by the object’s `actionId` field.""" - actionId: UUIDFilter + """ + Name of the target table. Used to create or look up the table when table_id is not provided. If omitted, it is backfilled from the resolved table. + """ + tableName: String - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + Array of node objects to apply to the table. Each element is a jsonb object with a required "$type" key (one of: DataId, DataDirectOwner, DataEntityMembership, DataOwnershipInEntity, DataTimestamps, DataPeoplestamps, DataPublishable, DataSoftDelete, DataEmbedding, DataFullTextSearch, DataSlug, etc.) and an optional "data" key containing generator-specific configuration. Supports multiple nodes per row, matching the blueprint definition format. Example: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. Defaults to '[]' (no node processing). + """ + nodes: JSON! - """Checks for all expressions in this list.""" - and: [SqlActionFilter!] + """ + If true and Row Level Security is not yet enabled on the target table, enable it. Automatically set to true by the trigger when policies[] is non-empty. Defaults to true. + """ + useRls: Boolean! - """Checks for any expressions in this list.""" - or: [SqlActionFilter!] + """ + PostgreSQL array of jsonb field definition objects to create on the target table. Each object has keys: "name" (text, required), "type" (text, required), "default" (text, optional), "is_required" (boolean, optional, defaults to false), "min" (float, optional), "max" (float, optional), "regexp" (text, optional), "index" (boolean, optional, defaults to false — creates a btree index on the field). min/max generate CHECK constraints: for text/citext they constrain character_length, for integer/float types they constrain the value. regexp generates a CHECK (col ~ pattern) constraint for text/citext. Fields are created via metaschema.create_field() after any node_type generator runs, and their IDs are appended to out_fields. Example: ARRAY['{"name":"username","type":"citext","max":256,"regexp":"^[a-z0-9_]+$"}'::jsonb, '{"name":"score","type":"integer","min":0,"max":100}'::jsonb]. Defaults to '{}' (no additional fields). + """ + fields: [JSON]! - """Negates the expression.""" - not: SqlActionFilter -} + """ + Array of grant objects defining table privileges. Each element is a jsonb object with keys: "roles" (text[], required — database roles to grant to, e.g. ["authenticated","admin"]), "privileges" (jsonb[], required — array of [privilege, columns] tuples, e.g. [["select","*"],["insert","*"]]). "*" means all columns; an array means column-level grant. Supports per-role privilege targeting: different grant entries can target different roles with different privileges. Example: [{"roles":["authenticated"],"privileges":[["select","*"]]},{"roles":["admin"],"privileges":[["insert","*"],["update","*"],["delete","*"]]}]. Defaults to '[]' (no grants). When policies[] omit explicit privileges/policy_role, they fall back to the verbs and first role from grants[]. + """ + grants: JSON! -"""Methods to use when ordering `SqlAction`.""" -enum SqlActionOrderBy { - NATURAL - ID_ASC - ID_DESC - NAME_ASC - NAME_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - DEPLOY_ASC - DEPLOY_DESC - DEPS_ASC - DEPS_DESC - PAYLOAD_ASC - PAYLOAD_DESC - CONTENT_ASC - CONTENT_DESC - REVERT_ASC - REVERT_DESC - VERIFY_ASC - VERIFY_DESC - CREATED_AT_ASC - CREATED_AT_DESC - ACTION_ASC - ACTION_DESC - ACTION_ID_ASC - ACTION_ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC -} + """ + Array of policy objects to create on the target table. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type, e.g. AuthzEntityMembership, AuthzMembership, AuthzDirectOwner, AuthzPublishable, AuthzAllowAll), "data" (jsonb, optional — opaque configuration passed to metaschema.create_policy(), structure varies by type), "privileges" (text[], optional — privileges the policy applies to, e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — role the policy targets; if omitted, falls back to first role in first grants[] entry, or 'authenticated' if no grants), "permissive" (boolean, optional — PERMISSIVE or RESTRICTIVE; defaults to true), "policy_name" (text, optional — custom suffix for the generated policy name; if omitted, auto-derived from $type by stripping Authz prefix). Supports multiple policies per row. Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "owner_id", "membership_type": 3}, "privileges": ["select", "insert"]}, {"$type": "AuthzDirectOwner", "data": {"entity_field": "actor_id"}, "privileges": ["update", "delete"]}]. Defaults to '[]' (no policies created). When non-empty, the trigger automatically enables RLS. + """ + policies: JSON! -"""A connection to a list of `BillingModule` values.""" -type BillingModuleConnection { - """A list of `BillingModule` objects.""" - nodes: [BillingModule]! + """ + Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. + """ + outFields: [UUID] """ - A list of edges which contains the `BillingModule` and cursor to aid in pagination. + Reads a single `Database` that is related to this `SecureTableProvision`. """ - edges: [BillingModuleEdge]! + database: Database - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Reads a single `Schema` that is related to this `SecureTableProvision`. + """ + schema: Schema - """The count of *all* `BillingModule` you could get from the connection.""" - totalCount: Int! + """Reads a single `Table` that is related to this `SecureTableProvision`.""" + table: Table } -"""A `BillingModule` edge in the connection.""" -type BillingModuleEdge { +"""A `SecureTableProvision` edge in the connection.""" +type SecureTableProvisionEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `BillingModule` at the end of the edge.""" - node: BillingModule + """The `SecureTableProvision` at the end of the edge.""" + node: SecureTableProvision } -"""Methods to use when ordering `BillingModule`.""" -enum BillingModuleOrderBy { +"""Methods to use when ordering `SecureTableProvision`.""" +enum SecureTableProvisionOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -27308,369 +23428,554 @@ enum BillingModuleOrderBy { DATABASE_ID_DESC SCHEMA_ID_ASC SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - METERS_TABLE_ID_ASC - METERS_TABLE_ID_DESC - METERS_TABLE_NAME_ASC - METERS_TABLE_NAME_DESC - PLAN_SUBSCRIPTIONS_TABLE_ID_ASC - PLAN_SUBSCRIPTIONS_TABLE_ID_DESC - PLAN_SUBSCRIPTIONS_TABLE_NAME_ASC - PLAN_SUBSCRIPTIONS_TABLE_NAME_DESC - LEDGER_TABLE_ID_ASC - LEDGER_TABLE_ID_DESC - LEDGER_TABLE_NAME_ASC - LEDGER_TABLE_NAME_DESC - BALANCES_TABLE_ID_ASC - BALANCES_TABLE_ID_DESC - BALANCES_TABLE_NAME_ASC - BALANCES_TABLE_NAME_DESC - RECORD_USAGE_FUNCTION_ASC - RECORD_USAGE_FUNCTION_DESC - PREFIX_ASC - PREFIX_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + NODES_ASC + NODES_DESC + USE_RLS_ASC + USE_RLS_DESC + FIELDS_ASC + FIELDS_DESC + GRANTS_ASC + GRANTS_DESC + POLICIES_ASC + POLICIES_DESC + OUT_FIELDS_ASC + OUT_FIELDS_DESC } -"""A connection to a list of `AstMigration` values.""" -type AstMigrationConnection { - """A list of `AstMigration` objects.""" - nodes: [AstMigration]! +"""A connection to a list of `RelationProvision` values.""" +type RelationProvisionConnection { + """A list of `RelationProvision` objects.""" + nodes: [RelationProvision]! """ - A list of edges which contains the `AstMigration` and cursor to aid in pagination. + A list of edges which contains the `RelationProvision` and cursor to aid in pagination. """ - edges: [AstMigrationEdge]! + edges: [RelationProvisionEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `AstMigration` you could get from the connection.""" + """ + The count of *all* `RelationProvision` you could get from the connection. + """ totalCount: Int! } -type AstMigration { - id: Int - databaseId: UUID - name: String - requires: [String] - payload: JSON - deploys: String - deploy: JSON - revert: JSON - verify: JSON - createdAt: Datetime - action: String - actionId: UUID - actorId: UUID -} - -"""A `AstMigration` edge in the connection.""" -type AstMigrationEdge { - """A cursor for use in pagination.""" - cursor: Cursor - - """The `AstMigration` at the end of the edge.""" - node: AstMigration -} - """ -A filter to be used against `AstMigration` object types. All fields are combined with a logical ‘and.’ +Provisions relational structure between tables. Supports four relation types: + - RelationBelongsTo: adds a FK field on the source table referencing the target table (child perspective: "tasks belongs to projects" -> tasks.project_id). + - RelationHasMany: adds a FK field on the target table referencing the source table (parent perspective: "projects has many tasks" -> tasks.project_id). Inverse of BelongsTo. + - RelationHasOne: adds a FK field with a unique constraint on the source table referencing the target table. Also supports shared-primary-key patterns where the FK field IS the primary key (set field_name to the existing PK field name). + - RelationManyToMany: creates a junction table with FK fields to both source and target tables, delegating table creation and security to secure_table_provision. + This is a one-and-done structural provisioner. To layer additional security onto junction tables after creation, use secure_table_provision directly. + All operations are graceful: existing fields, FK constraints, and unique constraints are reused if found. + The trigger never injects values the caller did not provide. All security config is forwarded to secure_table_provision as-is. """ -input AstMigrationFilter { - """Filter by the object’s `id` field.""" - id: IntFilter - - """Filter by the object’s `databaseId` field.""" - databaseId: UUIDFilter - - """Filter by the object’s `name` field.""" - name: StringFilter +type RelationProvision { + """Unique identifier for this relation provision row.""" + id: UUID! - """Filter by the object’s `requires` field.""" - requires: StringListFilter + """ + The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. + """ + databaseId: UUID! - """Filter by the object’s `payload` field.""" - payload: JSONFilter + """ + The type of relation to create. Uses SuperCase naming: + - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. + - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. + - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. + - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). + Each relation type uses a different subset of columns on this table. Required. + """ + relationType: String! - """Filter by the object’s `deploys` field.""" - deploys: StringFilter + """ + The source table in the relation. Required. + - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). + - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. + - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). + - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. + """ + sourceTableId: UUID! - """Filter by the object’s `deploy` field.""" - deploy: JSONFilter + """ + The target table in the relation. Required. + - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). + - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). + - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). + - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. + """ + targetTableId: UUID! - """Filter by the object’s `revert` field.""" - revert: JSONFilter + """ + FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. + - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). + - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). + For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. + Ignored for RelationManyToMany — use source_field_name/target_field_name instead. + """ + fieldName: String - """Filter by the object’s `verify` field.""" - verify: JSONFilter + """ + FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). + """ + deleteAction: String - """Filter by the object’s `createdAt` field.""" - createdAt: DatetimeFilter + """ + Whether the FK field is NOT NULL. Defaults to true. + - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). + - RelationHasMany: set to false if the child can exist without a parent. + - RelationHasOne: typically true. + Ignored for RelationManyToMany (junction FK fields are always required). + """ + isRequired: Boolean! - """Filter by the object’s `action` field.""" - action: StringFilter + """ + Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. + When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. + When is_required is true, api_required is ignored (the field is already required at both levels). + Ignored for RelationManyToMany (junction FK fields are always required). + """ + apiRequired: Boolean! - """Filter by the object’s `actionId` field.""" - actionId: UUIDFilter + """ + For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). + - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. + - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. + Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionTableId: UUID! - """Filter by the object’s `actorId` field.""" - actorId: UUIDFilter + """ + For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionTableName: String - """Checks for all expressions in this list.""" - and: [AstMigrationFilter!] + """ + For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionSchemaId: UUID - """Checks for any expressions in this list.""" - or: [AstMigrationFilter!] + """ + For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. + """ + sourceFieldName: String - """Negates the expression.""" - not: AstMigrationFilter -} + """ + For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. + """ + targetFieldName: String -"""Methods to use when ordering `AstMigration`.""" -enum AstMigrationOrderBy { - NATURAL - ID_ASC - ID_DESC - DATABASE_ID_ASC - DATABASE_ID_DESC - NAME_ASC - NAME_DESC - REQUIRES_ASC - REQUIRES_DESC - PAYLOAD_ASC - PAYLOAD_DESC - DEPLOYS_ASC - DEPLOYS_DESC - DEPLOY_ASC - DEPLOY_DESC - REVERT_ASC - REVERT_DESC - VERIFY_ASC - VERIFY_DESC - CREATED_AT_ASC - CREATED_AT_DESC - ACTION_ASC - ACTION_DESC - ACTION_ID_ASC - ACTION_ID_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC -} + """ + For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. + - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. + - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. + use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. + Ignored for RelationBelongsTo/RelationHasOne. + """ + useCompositeKey: Boolean! -"""A connection to a list of `User` values.""" -type UserConnection { - """A list of `User` objects.""" - nodes: [User]! + """ + Whether to create a btree index on FK fields created by this relation. Defaults to true. + PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). + Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. + - RelationBelongsTo: creates an index on the FK field on the source table. + - RelationHasMany: creates an index on the FK field on the target table. + - RelationHasOne: skipped — the unique constraint already creates an implicit index. + - RelationManyToMany: creates indexes on both FK fields on the junction table. + Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + """ + createIndex: Boolean! """ - A list of edges which contains the `User` and cursor to aid in pagination. + For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. + When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates + clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). + When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. + Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. """ - edges: [UserEdge]! + exposeInApi: Boolean! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. + Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. + Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + nodes: JSON! - """The count of *all* `User` you could get from the connection.""" - totalCount: Int! -} + """ + For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. + """ + grants: JSON! -"""A `User` edge in the connection.""" -type UserEdge { + """ + For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. + Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. + Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + policies: JSON! + + """ + Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. + """ + outFieldId: UUID + + """ + Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. + """ + outJunctionTableId: UUID + + """ + Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. + """ + outSourceFieldId: UUID + + """ + Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. + """ + outTargetFieldId: UUID + + """Reads a single `Database` that is related to this `RelationProvision`.""" + database: Database + + """Reads a single `Table` that is related to this `RelationProvision`.""" + sourceTable: Table + + """Reads a single `Table` that is related to this `RelationProvision`.""" + targetTable: Table +} + +"""A `RelationProvision` edge in the connection.""" +type RelationProvisionEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `User` at the end of the edge.""" - node: User + """The `RelationProvision` at the end of the edge.""" + node: RelationProvision } -"""Methods to use when ordering `User`.""" -enum UserOrderBy { +"""Methods to use when ordering `RelationProvision`.""" +enum RelationProvisionOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - USERNAME_ASC - USERNAME_DESC - DISPLAY_NAME_ASC - DISPLAY_NAME_DESC - PROFILE_PICTURE_ASC - PROFILE_PICTURE_DESC - SEARCH_TSV_ASC - SEARCH_TSV_DESC - TYPE_ASC - TYPE_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - SEARCH_TSV_RANK_ASC - SEARCH_TSV_RANK_DESC - DISPLAY_NAME_TRGM_SIMILARITY_ASC - DISPLAY_NAME_TRGM_SIMILARITY_DESC - SEARCH_SCORE_ASC - SEARCH_SCORE_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + RELATION_TYPE_ASC + RELATION_TYPE_DESC + SOURCE_TABLE_ID_ASC + SOURCE_TABLE_ID_DESC + TARGET_TABLE_ID_ASC + TARGET_TABLE_ID_DESC + FIELD_NAME_ASC + FIELD_NAME_DESC + DELETE_ACTION_ASC + DELETE_ACTION_DESC + IS_REQUIRED_ASC + IS_REQUIRED_DESC + API_REQUIRED_ASC + API_REQUIRED_DESC + JUNCTION_TABLE_ID_ASC + JUNCTION_TABLE_ID_DESC + JUNCTION_TABLE_NAME_ASC + JUNCTION_TABLE_NAME_DESC + JUNCTION_SCHEMA_ID_ASC + JUNCTION_SCHEMA_ID_DESC + SOURCE_FIELD_NAME_ASC + SOURCE_FIELD_NAME_DESC + TARGET_FIELD_NAME_ASC + TARGET_FIELD_NAME_DESC + USE_COMPOSITE_KEY_ASC + USE_COMPOSITE_KEY_DESC + CREATE_INDEX_ASC + CREATE_INDEX_DESC + EXPOSE_IN_API_ASC + EXPOSE_IN_API_DESC + NODES_ASC + NODES_DESC + GRANTS_ASC + GRANTS_DESC + POLICIES_ASC + POLICIES_DESC + OUT_FIELD_ID_ASC + OUT_FIELD_ID_DESC + OUT_JUNCTION_TABLE_ID_ASC + OUT_JUNCTION_TABLE_ID_DESC + OUT_SOURCE_FIELD_ID_ASC + OUT_SOURCE_FIELD_ID_DESC + OUT_TARGET_FIELD_ID_ASC + OUT_TARGET_FIELD_ID_DESC } -"""A connection to a list of `OrgMembershipSetting` values.""" -type OrgMembershipSettingConnection { - """A list of `OrgMembershipSetting` objects.""" - nodes: [OrgMembershipSetting]! +"""A connection to a list of `SessionSecretsModule` values.""" +type SessionSecretsModuleConnection { + """A list of `SessionSecretsModule` objects.""" + nodes: [SessionSecretsModule]! """ - A list of edges which contains the `OrgMembershipSetting` and cursor to aid in pagination. + A list of edges which contains the `SessionSecretsModule` and cursor to aid in pagination. """ - edges: [OrgMembershipSettingEdge]! + edges: [SessionSecretsModuleEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! """ - The count of *all* `OrgMembershipSetting` you could get from the connection. + The count of *all* `SessionSecretsModule` you could get from the connection. """ totalCount: Int! } -"""A `OrgMembershipSetting` edge in the connection.""" -type OrgMembershipSettingEdge { +""" +Config row for the session_secrets_module, which provisions a DB-private, session-scoped ephemeral key-value store for challenges, nonces, and one-time tokens that must never be readable by end users. +""" +type SessionSecretsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + tableId: UUID! + tableName: String! + + """ + Resolved reference to sessions_module.sessions_table, used to FK session_secrets.session_id with ON DELETE CASCADE. + """ + sessionsTableId: UUID! + + """ + Reads a single `Database` that is related to this `SessionSecretsModule`. + """ + database: Database + + """ + Reads a single `Schema` that is related to this `SessionSecretsModule`. + """ + schema: Schema + + """Reads a single `Table` that is related to this `SessionSecretsModule`.""" + sessionsTable: Table + + """Reads a single `Table` that is related to this `SessionSecretsModule`.""" + table: Table +} + +"""A `SessionSecretsModule` edge in the connection.""" +type SessionSecretsModuleEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `OrgMembershipSetting` at the end of the edge.""" - node: OrgMembershipSetting + """The `SessionSecretsModule` at the end of the edge.""" + node: SessionSecretsModule } -"""Methods to use when ordering `OrgMembershipSetting`.""" -enum OrgMembershipSettingOrderBy { +"""Methods to use when ordering `SessionSecretsModule`.""" +enum SessionSecretsModuleOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC - CREATED_AT_ASC - CREATED_AT_DESC - UPDATED_AT_ASC - UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - ENTITY_ID_ASC - ENTITY_ID_DESC - DELETE_MEMBER_CASCADE_CHILDREN_ASC - DELETE_MEMBER_CASCADE_CHILDREN_DESC - CREATE_CHILD_CASCADE_OWNERS_ASC - CREATE_CHILD_CASCADE_OWNERS_DESC - CREATE_CHILD_CASCADE_ADMINS_ASC - CREATE_CHILD_CASCADE_ADMINS_DESC - CREATE_CHILD_CASCADE_MEMBERS_ASC - CREATE_CHILD_CASCADE_MEMBERS_DESC - ALLOW_EXTERNAL_MEMBERS_ASC - ALLOW_EXTERNAL_MEMBERS_DESC - INVITE_PROFILE_ASSIGNMENT_MODE_ASC - INVITE_PROFILE_ASSIGNMENT_MODE_DESC - POPULATE_MEMBER_EMAIL_ASC - POPULATE_MEMBER_EMAIL_DESC - LIMIT_ALLOCATION_MODE_ASC - LIMIT_ALLOCATION_MODE_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC } -"""A connection to a list of `AppMembership` values.""" -type AppMembershipConnection { - """A list of `AppMembership` objects.""" - nodes: [AppMembership]! +"""A connection to a list of `IdentityProvidersModule` values.""" +type IdentityProvidersModuleConnection { + """A list of `IdentityProvidersModule` objects.""" + nodes: [IdentityProvidersModule]! """ - A list of edges which contains the `AppMembership` and cursor to aid in pagination. + A list of edges which contains the `IdentityProvidersModule` and cursor to aid in pagination. """ - edges: [AppMembershipEdge]! + edges: [IdentityProvidersModuleEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """The count of *all* `AppMembership` you could get from the connection.""" + """ + The count of *all* `IdentityProvidersModule` you could get from the connection. + """ totalCount: Int! } -"""A `AppMembership` edge in the connection.""" -type AppMembershipEdge { +""" +Config row for the identity_providers_module, which provisions a per-database identity_providers config table holding OAuth2 / OIDC (and future SAML) provider definitions: protocol kind, endpoint URLs, encrypted client secret, scopes, audience validation, PKCE, and email-handling flags. Built-in providers (google, github, apple, ...) are seeded as is_built_in=true rows; custom providers use slugs of the form custom:. +""" +type IdentityProvidersModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + + """ + Private schema that hosts SECURITY DEFINER admin helpers which write to identity_providers (create / update / enable / disable / rotate-secret / delete) and the per-app quota check. + """ + privateSchemaId: UUID! + tableId: UUID! + tableName: String! + + """ + Reads a single `Database` that is related to this `IdentityProvidersModule`. + """ + database: Database + + """ + Reads a single `Schema` that is related to this `IdentityProvidersModule`. + """ + privateSchema: Schema + + """ + Reads a single `Schema` that is related to this `IdentityProvidersModule`. + """ + schema: Schema + + """ + Reads a single `Table` that is related to this `IdentityProvidersModule`. + """ + table: Table +} + +"""A `IdentityProvidersModule` edge in the connection.""" +type IdentityProvidersModuleEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `AppMembership` at the end of the edge.""" - node: AppMembership + """The `IdentityProvidersModule` at the end of the edge.""" + node: IdentityProvidersModule } -"""Methods to use when ordering `AppMembership`.""" -enum AppMembershipOrderBy { +"""Methods to use when ordering `IdentityProvidersModule`.""" +enum IdentityProvidersModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC +} + +"""A `Table` edge in the connection.""" +type TableEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Table` at the end of the edge.""" + node: Table +} + +"""Methods to use when ordering `Table`.""" +enum TableOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC ID_ASC ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + NAME_ASC + NAME_DESC + LABEL_ASC + LABEL_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + USE_RLS_ASC + USE_RLS_DESC + TIMESTAMPS_ASC + TIMESTAMPS_DESC + PEOPLESTAMPS_ASC + PEOPLESTAMPS_DESC + PLURAL_NAME_ASC + PLURAL_NAME_DESC + SINGULAR_NAME_ASC + SINGULAR_NAME_DESC + TAGS_ASC + TAGS_DESC + INHERITS_ID_ASC + INHERITS_ID_DESC CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC - CREATED_BY_ASC - CREATED_BY_DESC - UPDATED_BY_ASC - UPDATED_BY_DESC - IS_APPROVED_ASC - IS_APPROVED_DESC - IS_BANNED_ASC - IS_BANNED_DESC - IS_DISABLED_ASC - IS_DISABLED_DESC - IS_VERIFIED_ASC - IS_VERIFIED_DESC - IS_ACTIVE_ASC - IS_ACTIVE_DESC - IS_OWNER_ASC - IS_OWNER_DESC - IS_ADMIN_ASC - IS_ADMIN_DESC - PERMISSIONS_ASC - PERMISSIONS_DESC - GRANTED_ASC - GRANTED_DESC - ACTOR_ID_ASC - ACTOR_ID_DESC - PROFILE_ID_ASC - PROFILE_ID_DESC } -"""A connection to a list of `HierarchyModule` values.""" -type HierarchyModuleConnection { - """A list of `HierarchyModule` objects.""" - nodes: [HierarchyModule]! +"""A connection to a list of `SchemaGrant` values.""" +type SchemaGrantConnection { + """A list of `SchemaGrant` objects.""" + nodes: [SchemaGrant]! """ - A list of edges which contains the `HierarchyModule` and cursor to aid in pagination. + A list of edges which contains the `SchemaGrant` and cursor to aid in pagination. """ - edges: [HierarchyModuleEdge]! + edges: [SchemaGrantEdge]! """Information to aid in pagination.""" pageInfo: PageInfo! - """ - The count of *all* `HierarchyModule` you could get from the connection. - """ + """The count of *all* `SchemaGrant` you could get from the connection.""" totalCount: Int! } -"""A `HierarchyModule` edge in the connection.""" -type HierarchyModuleEdge { +type SchemaGrant { + id: UUID! + databaseId: UUID! + schemaId: UUID! + granteeName: String! + createdAt: Datetime + updatedAt: Datetime + + """Reads a single `Database` that is related to this `SchemaGrant`.""" + database: Database + + """Reads a single `Schema` that is related to this `SchemaGrant`.""" + schema: Schema +} + +"""A `SchemaGrant` edge in the connection.""" +type SchemaGrantEdge { """A cursor for use in pagination.""" cursor: Cursor - """The `HierarchyModule` at the end of the edge.""" - node: HierarchyModule + """The `SchemaGrant` at the end of the edge.""" + node: SchemaGrant } -"""Methods to use when ordering `HierarchyModule`.""" -enum HierarchyModuleOrderBy { +"""Methods to use when ordering `SchemaGrant`.""" +enum SchemaGrantOrderBy { NATURAL PRIMARY_KEY_ASC PRIMARY_KEY_DESC @@ -27680,14750 +23985,23577 @@ enum HierarchyModuleOrderBy { DATABASE_ID_DESC SCHEMA_ID_ASC SCHEMA_ID_DESC - PRIVATE_SCHEMA_ID_ASC - PRIVATE_SCHEMA_ID_DESC - CHART_EDGES_TABLE_ID_ASC - CHART_EDGES_TABLE_ID_DESC - CHART_EDGES_TABLE_NAME_ASC - CHART_EDGES_TABLE_NAME_DESC - HIERARCHY_SPRT_TABLE_ID_ASC - HIERARCHY_SPRT_TABLE_ID_DESC - HIERARCHY_SPRT_TABLE_NAME_ASC - HIERARCHY_SPRT_TABLE_NAME_DESC - CHART_EDGE_GRANTS_TABLE_ID_ASC - CHART_EDGE_GRANTS_TABLE_ID_DESC - CHART_EDGE_GRANTS_TABLE_NAME_ASC - CHART_EDGE_GRANTS_TABLE_NAME_DESC - ENTITY_TABLE_ID_ASC - ENTITY_TABLE_ID_DESC - USERS_TABLE_ID_ASC - USERS_TABLE_ID_DESC - PREFIX_ASC - PREFIX_DESC - PRIVATE_SCHEMA_NAME_ASC - PRIVATE_SCHEMA_NAME_DESC - SPRT_TABLE_NAME_ASC - SPRT_TABLE_NAME_DESC - REBUILD_HIERARCHY_FUNCTION_ASC - REBUILD_HIERARCHY_FUNCTION_DESC - GET_SUBORDINATES_FUNCTION_ASC - GET_SUBORDINATES_FUNCTION_DESC - GET_MANAGERS_FUNCTION_ASC - GET_MANAGERS_FUNCTION_DESC - IS_MANAGER_OF_FUNCTION_ASC - IS_MANAGER_OF_FUNCTION_DESC + GRANTEE_NAME_ASC + GRANTEE_NAME_DESC CREATED_AT_ASC CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""Root meta schema type""" -type MetaSchema { - tables: [MetaTable!]! -} +"""A connection to a list of `DefaultPrivilege` values.""" +type DefaultPrivilegeConnection { + """A list of `DefaultPrivilege` objects.""" + nodes: [DefaultPrivilege]! -"""Information about a database table""" -type MetaTable { - name: String! - schemaName: String! - fields: [MetaField!]! - indexes: [MetaIndex!]! - constraints: MetaConstraints! - foreignKeyConstraints: [MetaForeignKeyConstraint!]! - primaryKeyConstraints: [MetaPrimaryKeyConstraint!]! - uniqueConstraints: [MetaUniqueConstraint!]! - relations: MetaRelations! - inflection: MetaInflection! - query: MetaQuery! -} + """ + A list of edges which contains the `DefaultPrivilege` and cursor to aid in pagination. + """ + edges: [DefaultPrivilegeEdge]! -"""Information about a table field/column""" -type MetaField { - name: String! - type: MetaType! - isNotNull: Boolean! - hasDefault: Boolean! - isPrimaryKey: Boolean! - isForeignKey: Boolean! - description: String -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""Information about a PostgreSQL type""" -type MetaType { - pgType: String! - gqlType: String! - isArray: Boolean! - isNotNull: Boolean - hasDefault: Boolean - subtype: String + """ + The count of *all* `DefaultPrivilege` you could get from the connection. + """ + totalCount: Int! } -"""Information about a database index""" -type MetaIndex { - name: String! - isUnique: Boolean! - isPrimary: Boolean! - columns: [String!]! - fields: [MetaField!] +type DefaultPrivilege { + id: UUID! + databaseId: UUID! + schemaId: UUID! + objectType: String! + privilege: String! + granteeName: String! + isGrant: Boolean! + + """Reads a single `Database` that is related to this `DefaultPrivilege`.""" + database: Database + + """Reads a single `Schema` that is related to this `DefaultPrivilege`.""" + schema: Schema } -"""Table constraints""" -type MetaConstraints { - primaryKey: MetaPrimaryKeyConstraint - unique: [MetaUniqueConstraint!]! - foreignKey: [MetaForeignKeyConstraint!]! -} +"""A `DefaultPrivilege` edge in the connection.""" +type DefaultPrivilegeEdge { + """A cursor for use in pagination.""" + cursor: Cursor -"""Information about a primary key constraint""" -type MetaPrimaryKeyConstraint { - name: String! - fields: [MetaField!]! + """The `DefaultPrivilege` at the end of the edge.""" + node: DefaultPrivilege } -"""Information about a unique constraint""" -type MetaUniqueConstraint { - name: String! - fields: [MetaField!]! +"""Methods to use when ordering `DefaultPrivilege`.""" +enum DefaultPrivilegeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + OBJECT_TYPE_ASC + OBJECT_TYPE_DESC + PRIVILEGE_ASC + PRIVILEGE_DESC + GRANTEE_NAME_ASC + GRANTEE_NAME_DESC + IS_GRANT_ASC + IS_GRANT_DESC } -"""Information about a foreign key constraint""" -type MetaForeignKeyConstraint { - name: String! - fields: [MetaField!]! - referencedTable: String! - referencedFields: [String!]! - refFields: [MetaField!] - refTable: MetaRefTable +"""A connection to a list of `Enum` values.""" +type EnumConnection { + """A list of `Enum` objects.""" + nodes: [Enum]! + + """ + A list of edges which contains the `Enum` and cursor to aid in pagination. + """ + edges: [EnumEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `Enum` you could get from the connection.""" + totalCount: Int! } -"""Reference to a related table""" -type MetaRefTable { +type Enum { + id: UUID! + databaseId: UUID! + schemaId: UUID! name: String! -} + label: String + description: String + values: [String]! + smartTags: JSON + category: ObjectCategory! + module: String + scope: Int + tags: [String]! -"""Table relations""" -type MetaRelations { - belongsTo: [MetaBelongsToRelation!]! - has: [MetaHasRelation!]! - hasOne: [MetaHasRelation!]! - hasMany: [MetaHasRelation!]! - manyToMany: [MetaManyToManyRelation!]! -} + """Reads a single `Database` that is related to this `Enum`.""" + database: Database -"""A belongs-to (forward FK) relation""" -type MetaBelongsToRelation { - fieldName: String - isUnique: Boolean! - type: String - keys: [MetaField!]! - references: MetaRefTable! + """Reads a single `Schema` that is related to this `Enum`.""" + schema: Schema } -"""A has-one or has-many (reverse FK) relation""" -type MetaHasRelation { - fieldName: String - isUnique: Boolean! - type: String - keys: [MetaField!]! - referencedBy: MetaRefTable! -} +"""A `Enum` edge in the connection.""" +type EnumEdge { + """A cursor for use in pagination.""" + cursor: Cursor -"""A many-to-many relation via junction table""" -type MetaManyToManyRelation { - fieldName: String - type: String - junctionTable: MetaRefTable! - junctionLeftConstraint: MetaForeignKeyConstraint! - junctionLeftKeyAttributes: [MetaField!]! - junctionRightConstraint: MetaForeignKeyConstraint! - junctionRightKeyAttributes: [MetaField!]! - leftKeyAttributes: [MetaField!]! - rightKeyAttributes: [MetaField!]! - rightTable: MetaRefTable! + """The `Enum` at the end of the edge.""" + node: Enum } -"""Table inflection names""" -type MetaInflection { - tableType: String! - allRows: String! - connection: String! - edge: String! - filterType: String - orderByType: String! - conditionType: String! - patchType: String - createInputType: String! - createPayloadType: String! - updatePayloadType: String - deletePayloadType: String! +"""Methods to use when ordering `Enum`.""" +enum EnumOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + NAME_ASC + NAME_DESC + LABEL_ASC + LABEL_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + VALUES_ASC + VALUES_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC } -"""Table query/mutation names""" -type MetaQuery { - all: String! - one: String - create: String - update: String - delete: String -} +"""A connection to a list of `Function` values.""" +type FunctionConnection { + """A list of `Function` objects.""" + nodes: [Function]! -"""The output of our `sendAccountDeletionEmail` mutation.""" -type SendAccountDeletionEmailPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `Function` and cursor to aid in pagination. """ - clientMutationId: String - result: Boolean + edges: [FunctionEdge]! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the `sendAccountDeletionEmail` mutation.""" -input SendAccountDeletionEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """The count of *all* `Function` you could get from the connection.""" + totalCount: Int! } -"""The output of our `signOut` mutation.""" -type SignOutPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +type Function { + id: UUID! + databaseId: UUID! + schemaId: UUID! + name: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads a single `Database` that is related to this `Function`.""" + database: Database -"""All input for the `signOut` mutation.""" -input SignOutInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Schema` that is related to this `Function`.""" + schema: Schema } -"""The output of our `acceptDatabaseTransfer` mutation.""" -type AcceptDatabaseTransferPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean +"""A `Function` edge in the connection.""" +type FunctionEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `Function` at the end of the edge.""" + node: Function } -"""All input for the `acceptDatabaseTransfer` mutation.""" -input AcceptDatabaseTransferInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - transferId: UUID +"""Methods to use when ordering `Function`.""" +enum FunctionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + NAME_ASC + NAME_DESC } -"""The output of our `cancelDatabaseTransfer` mutation.""" -type CancelDatabaseTransferPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} +"""A connection to a list of `ApiSchema` values.""" +type ApiSchemaConnection { + """A list of `ApiSchema` objects.""" + nodes: [ApiSchema]! -"""All input for the `cancelDatabaseTransfer` mutation.""" -input CancelDatabaseTransferInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `ApiSchema` and cursor to aid in pagination. """ - clientMutationId: String - transferId: UUID -} + edges: [ApiSchemaEdge]! -"""The output of our `rejectDatabaseTransfer` mutation.""" -type RejectDatabaseTransferPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The count of *all* `ApiSchema` you could get from the connection.""" + totalCount: Int! } -"""All input for the `rejectDatabaseTransfer` mutation.""" -input RejectDatabaseTransferInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - transferId: UUID -} +""" +Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API +""" +type ApiSchema { + """Unique identifier for this API-schema mapping""" + id: UUID! -"""The output of our `disconnectAccount` mutation.""" -type DisconnectAccountPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Reference to the metaschema database""" + databaseId: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Metaschema schema being exposed through the API""" + schemaId: UUID! -"""All input for the `disconnectAccount` mutation.""" -input DisconnectAccountInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - accountId: UUID! -} + """API that exposes this schema""" + apiId: UUID! -"""The output of our `revokeApiKey` mutation.""" -type RevokeApiKeyPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Reads a single `Api` that is related to this `ApiSchema`.""" + api: Api - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads a single `Database` that is related to this `ApiSchema`.""" + database: Database -"""All input for the `revokeApiKey` mutation.""" -input RevokeApiKeyInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - keyId: UUID! + """Reads a single `Schema` that is related to this `ApiSchema`.""" + schema: Schema } -"""The output of our `revokeSession` mutation.""" -type RevokeSessionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean +""" +API endpoint configurations: each record defines a PostGraphile/PostgREST API with its database role and public access settings +""" +type Api { + """Unique identifier for this API""" + id: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reference to the metaschema database this API serves""" + databaseId: UUID! -"""All input for the `revokeSession` mutation.""" -input RevokeSessionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - sessionId: UUID! -} + """Unique name for this API within its database""" + name: String! -"""The output of our `verifyPassword` mutation.""" -type VerifyPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """PostgreSQL database name to connect to""" + dbname: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """PostgreSQL role used for authenticated requests""" + roleName: String! -"""All input for the `verifyPassword` mutation.""" -input VerifyPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - password: String! -} + """PostgreSQL role used for anonymous/unauthenticated requests""" + anonRole: String! -"""The output of our `verifyTotp` mutation.""" -type VerifyTotpPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Whether this API is publicly accessible without authentication""" + isPublic: Boolean! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads a single `Database` that is related to this `Api`.""" + database: Database -"""All input for the `verifyTotp` mutation.""" -input VerifyTotpInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - totpValue: String! -} + """Reads and enables pagination through a set of `ApiModule`.""" + apiModules( + """Only read the first `n` values of the set.""" + first: Int -"""The output of our `submitAppInviteCode` mutation.""" -type SubmitAppInviteCodePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Only read the last `n` values of the set.""" + last: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""All input for the `submitAppInviteCode` mutation.""" -input SubmitAppInviteCodeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - token: String -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""The output of our `submitOrgInviteCode` mutation.""" -type SubmitOrgInviteCodePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiModuleFilter -"""All input for the `submitOrgInviteCode` mutation.""" -input SubmitOrgInviteCodeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - token: String -} + """The method to use when ordering `ApiModule`.""" + orderBy: [ApiModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiModuleConnection! -"""The output of our `checkPassword` mutation.""" -type CheckPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads and enables pagination through a set of `ApiSchema`.""" + apiSchemas( + """Only read the first `n` values of the set.""" + first: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Only read the last `n` values of the set.""" + last: Int -"""All input for the `checkPassword` mutation.""" -input CheckPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - password: String -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""The output of our `confirmDeleteAccount` mutation.""" -type ConfirmDeleteAccountPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""All input for the `confirmDeleteAccount` mutation.""" -input ConfirmDeleteAccountInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - userId: UUID - token: String -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: ApiSchemaFilter -"""The output of our `setPassword` mutation.""" -type SetPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """The method to use when ordering `ApiSchema`.""" + orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] + ): ApiSchemaConnection! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads and enables pagination through a set of `Domain`.""" + domains( + """Only read the first `n` values of the set.""" + first: Int -"""All input for the `setPassword` mutation.""" -input SetPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - currentPassword: String - newPassword: String -} + """Only read the last `n` values of the set.""" + last: Int -"""The output of our `verifyEmail` mutation.""" -type VerifyEmailPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""All input for the `verifyEmail` mutation.""" -input VerifyEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - emailId: UUID - token: String -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""The output of our `freezeObjects` mutation.""" -type FreezeObjectsPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DomainFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] + ): DomainConnection! -"""All input for the `freezeObjects` mutation.""" -input FreezeObjectsInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - databaseId: UUID - id: UUID -} + """Reads a single `ApiSetting` that is related to this `Api`.""" + apiSetting: ApiSetting -"""The output of our `initEmptyRepo` mutation.""" -type InitEmptyRepoPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads and enables pagination through a set of `CorsSetting`.""" + corsSettings( + """Only read the first `n` values of the set.""" + first: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Only read the last `n` values of the set.""" + last: Int -"""All input for the `initEmptyRepo` mutation.""" -input InitEmptyRepoInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - storeId: UUID -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""The output of our `constructBlueprint` mutation.""" -type ConstructBlueprintPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""All input for the `constructBlueprint` mutation.""" -input ConstructBlueprintInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - blueprintId: UUID - schemaId: UUID + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: CorsSettingFilter + + """The method to use when ordering `CorsSetting`.""" + orderBy: [CorsSettingOrderBy!] = [PRIMARY_KEY_ASC] + ): CorsSettingConnection! } -"""The output of our `provisionNewUser` mutation.""" -type ProvisionNewUserPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID +"""A connection to a list of `ApiModule` values.""" +type ApiModuleConnection { + """A list of `ApiModule` objects.""" + nodes: [ApiModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `ApiModule` and cursor to aid in pagination. """ - query: Query -} + edges: [ApiModuleEdge]! -"""All input for the `provisionNewUser` mutation.""" -input ProvisionNewUserInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - email: String - password: String + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `ApiModule` you could get from the connection.""" + totalCount: Int! } -"""The output of our `resetPassword` mutation.""" -type ResetPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean +""" +Server-side module configuration for an API endpoint; stores module name and JSON settings used by the application server +""" +type ApiModule { + """Unique identifier for this API module record""" + id: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reference to the metaschema database""" + databaseId: UUID! -"""All input for the `resetPassword` mutation.""" -input ResetPasswordInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - roleId: UUID - resetToken: String - newPassword: String -} + """API this module configuration belongs to""" + apiId: UUID! -"""The output of our `removeNodeAtPath` mutation.""" -type RemoveNodeAtPathPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Module name (e.g. auth, uploads, webhooks)""" + name: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """JSON configuration data for this module""" + data: JSON! -"""All input for the `removeNodeAtPath` mutation.""" -input RemoveNodeAtPathInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - root: UUID - path: [String] + """Reads a single `Api` that is related to this `ApiModule`.""" + api: Api + + """Reads a single `Database` that is related to this `ApiModule`.""" + database: Database } -"""The output of our `copyTemplateToBlueprint` mutation.""" -type CopyTemplateToBlueprintPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID +"""A `ApiModule` edge in the connection.""" +type ApiModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `ApiModule` at the end of the edge.""" + node: ApiModule } -"""All input for the `copyTemplateToBlueprint` mutation.""" -input CopyTemplateToBlueprintInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - templateId: UUID - databaseId: UUID - ownerId: UUID - nameOverride: String - displayNameOverride: String +"""Methods to use when ordering `ApiModule`.""" +enum ApiModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + API_ID_ASC + API_ID_DESC + NAME_ASC + NAME_DESC + DATA_ASC + DATA_DESC } -"""The output of our `provisionSpatialRelation` mutation.""" -type ProvisionSpatialRelationPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""Methods to use when ordering `ApiSchema`.""" +enum ApiSchemaOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + API_ID_ASC + API_ID_DESC } -"""All input for the `provisionSpatialRelation` mutation.""" -input ProvisionSpatialRelationInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - pDatabaseId: UUID - pSourceTableId: UUID - pSourceFieldId: UUID - pTargetTableId: UUID - pTargetFieldId: UUID - pName: String - pOperator: String - pParamName: String -} +"""A connection to a list of `Domain` values.""" +type DomainConnection { + """A list of `Domain` objects.""" + nodes: [Domain]! -"""The output of our `bootstrapUser` mutation.""" -type BootstrapUserPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `Domain` and cursor to aid in pagination. """ - clientMutationId: String - result: [BootstrapUserRecord] + edges: [DomainEdge]! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -type BootstrapUserRecord { - outUserId: UUID - outEmail: String - outUsername: String - outDisplayName: String - outIsAdmin: Boolean - outIsOwner: Boolean - outIsSudo: Boolean - outApiKey: String + """The count of *all* `Domain` you could get from the connection.""" + totalCount: Int! } -"""All input for the `bootstrapUser` mutation.""" -input BootstrapUserInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - targetDatabaseId: UUID - password: String - isAdmin: Boolean - isOwner: Boolean - username: String - displayName: String - returnApiKey: Boolean -} +""" +DNS domain and subdomain routing: maps hostnames to either an API endpoint or a site +""" +type Domain { + """Unique identifier for this domain record""" + id: UUID! -"""The output of our `setFieldOrder` mutation.""" -type SetFieldOrderPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reference to the metaschema database this domain belongs to""" + databaseId: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """API endpoint this domain routes to (mutually exclusive with site_id)""" + apiId: UUID -"""All input for the `setFieldOrder` mutation.""" -input SetFieldOrderInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - fieldIds: [UUID] -} + """Site this domain routes to (mutually exclusive with api_id)""" + siteId: UUID -"""The output of our `provisionUniqueConstraint` mutation.""" -type ProvisionUniqueConstraintPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Subdomain portion of the hostname""" + subdomain: ConstructiveInternalTypeHostname - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Root domain of the hostname""" + domain: ConstructiveInternalTypeHostname -"""All input for the `provisionUniqueConstraint` mutation.""" -input ProvisionUniqueConstraintInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - databaseId: UUID - tableId: UUID - definition: JSON -} + """Reads a single `Api` that is related to this `Domain`.""" + api: Api -"""The output of our `provisionFullTextSearch` mutation.""" -type ProvisionFullTextSearchPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Reads a single `Database` that is related to this `Domain`.""" + database: Database - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Site` that is related to this `Domain`.""" + site: Site } -"""All input for the `provisionFullTextSearch` mutation.""" -input ProvisionFullTextSearchInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - databaseId: UUID - tableId: UUID - definition: JSON -} +""" +Top-level site configuration: branding assets, title, and description for a deployed application +""" +type Site { + """Unique identifier for this site""" + id: UUID! -"""The output of our `provisionIndex` mutation.""" -type ProvisionIndexPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Reference to the metaschema database this site belongs to""" + databaseId: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Display title for the site (max 120 characters)""" + title: String -"""All input for the `provisionIndex` mutation.""" -input ProvisionIndexInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - databaseId: UUID - tableId: UUID - definition: JSON -} + """Short description of the site (max 120 characters)""" + description: String -"""The output of our `setDataAtPath` mutation.""" -type SetDataAtPathPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Open Graph image used for social media link previews""" + ogImage: ConstructiveInternalTypeImage - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Browser favicon attachment""" + favicon: ConstructiveInternalTypeAttachment -"""All input for the `setDataAtPath` mutation.""" -input SetDataAtPathInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - root: UUID - path: [String] - data: JSON -} + """Apple touch icon for iOS home screen bookmarks""" + appleTouchIcon: ConstructiveInternalTypeImage -"""The output of our `setPropsAndCommit` mutation.""" -type SetPropsAndCommitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Primary logo image for the site""" + logo: ConstructiveInternalTypeImage - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """PostgreSQL database name this site connects to""" + dbname: String! -"""All input for the `setPropsAndCommit` mutation.""" -input SetPropsAndCommitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - storeId: UUID - refname: String - path: [String] - data: JSON -} + """Reads a single `Database` that is related to this `Site`.""" + database: Database -"""The output of our `provisionDatabaseWithUser` mutation.""" -type ProvisionDatabaseWithUserPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: [ProvisionDatabaseWithUserRecord] + """Reads a single `App` that is related to this `Site`.""" + app: App - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads and enables pagination through a set of `Domain`.""" + domains( + """Only read the first `n` values of the set.""" + first: Int -type ProvisionDatabaseWithUserRecord { - outDatabaseId: UUID - outApiKey: String -} + """Only read the last `n` values of the set.""" + last: Int -"""All input for the `provisionDatabaseWithUser` mutation.""" -input ProvisionDatabaseWithUserInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - pDatabaseName: String - pDomain: String - pSubdomain: String - pModules: [String] - pOptions: JSON -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""The output of our `insertNodeAtPath` mutation.""" -type InsertNodeAtPathPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """Read all values in the set before (above) this cursor.""" + before: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""All input for the `insertNodeAtPath` mutation.""" -input InsertNodeAtPathInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - root: UUID - path: [String] - data: JSON - kids: [UUID] - ktree: [String] -} + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: DomainFilter -"""The output of our `updateNodeAtPath` mutation.""" -type UpdateNodeAtPathPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] + ): DomainConnection! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads and enables pagination through a set of `SiteMetadatum`.""" + siteMetadata( + """Only read the first `n` values of the set.""" + first: Int -"""All input for the `updateNodeAtPath` mutation.""" -input UpdateNodeAtPathInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - root: UUID - path: [String] - data: JSON - kids: [UUID] - ktree: [String] -} + """Only read the last `n` values of the set.""" + last: Int -"""The output of our `setAndCommit` mutation.""" -type SetAndCommitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -"""All input for the `setAndCommit` mutation.""" -input SetAndCommitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - dbId: UUID - storeId: UUID - refname: String - path: [String] - data: JSON - kids: [UUID] - ktree: [String] -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""The output of our `provisionRelation` mutation.""" -type ProvisionRelationPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: [ProvisionRelationRecord] + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteMetadatumFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """The method to use when ordering `SiteMetadatum`.""" + orderBy: [SiteMetadatumOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteMetadatumConnection! -type ProvisionRelationRecord { - outFieldId: UUID - outJunctionTableId: UUID - outSourceFieldId: UUID - outTargetFieldId: UUID -} + """Reads and enables pagination through a set of `SiteModule`.""" + siteModules( + """Only read the first `n` values of the set.""" + first: Int -"""All input for the `provisionRelation` mutation.""" -input ProvisionRelationInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - databaseId: UUID - relationType: String - sourceTableId: UUID - targetTableId: UUID - fieldName: String - deleteAction: String - isRequired: Boolean - apiRequired: Boolean - createIndex: Boolean - junctionTableId: UUID - junctionTableName: String - junctionSchemaId: UUID - sourceFieldName: String - targetFieldName: String - useCompositeKey: Boolean - exposeInApi: Boolean - nodes: JSON - grants: JSON - policies: JSON -} + """Only read the last `n` values of the set.""" + last: Int -"""The output of our `applyRls` mutation.""" -type ApplyRlsPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteModuleFilter + + """The method to use when ordering `SiteModule`.""" + orderBy: [SiteModuleOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteModuleConnection! + + """Reads and enables pagination through a set of `SiteTheme`.""" + siteThemes( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SiteThemeFilter + + """The method to use when ordering `SiteTheme`.""" + orderBy: [SiteThemeOrderBy!] = [PRIMARY_KEY_ASC] + ): SiteThemeConnection! } -"""All input for the `applyRls` mutation.""" -input ApplyRlsInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - tableId: UUID - grants: JSON - policyType: String - vars: JSON - fieldIds: [UUID] - permissive: Boolean +""" +Mobile and native app configuration linked to a site, including store links and identifiers +""" +type App { + """Unique identifier for this app""" + id: UUID! + + """Reference to the metaschema database this app belongs to""" + databaseId: UUID! + + """Site this app is associated with (one app per site)""" + siteId: UUID! + + """Display name of the app""" name: String -} -"""The output of our `signInCrossOrigin` mutation.""" -type SignInCrossOriginPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: SignInCrossOriginRecord + """App icon or promotional image""" + appImage: ConstructiveInternalTypeImage + + """URL to the Apple App Store listing""" + appStoreLink: ConstructiveInternalTypeUrl + + """Apple App Store application identifier""" + appStoreId: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Apple App ID prefix (Team ID) for universal links and associated domains """ - query: Query -} + appIdPrefix: String -type SignInCrossOriginRecord { - id: UUID - userId: UUID - accessToken: String - accessTokenExpiresAt: Datetime - isVerified: Boolean - totpEnabled: Boolean + """URL to the Google Play Store listing""" + playStoreLink: ConstructiveInternalTypeUrl + + """Reads a single `Site` that is related to this `App`.""" + site: Site + + """Reads a single `Database` that is related to this `App`.""" + database: Database } -"""All input for the `signInCrossOrigin` mutation.""" -input SignInCrossOriginInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - token: String - credentialKind: String +"""Methods to use when ordering `Domain`.""" +enum DomainOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + API_ID_ASC + API_ID_DESC + SITE_ID_ASC + SITE_ID_DESC + SUBDOMAIN_ASC + SUBDOMAIN_DESC + DOMAIN_ASC + DOMAIN_DESC } -"""The output of our `createUserDatabase` mutation.""" -type CreateUserDatabasePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: UUID +"""A connection to a list of `SiteMetadatum` values.""" +type SiteMetadatumConnection { + """A list of `SiteMetadatum` objects.""" + nodes: [SiteMetadatum]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `SiteMetadatum` and cursor to aid in pagination. """ - query: Query + edges: [SiteMetadatumEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `SiteMetadatum` you could get from the connection.""" + totalCount: Int! } -"""All input for the `createUserDatabase` mutation.""" -input CreateUserDatabaseInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - databaseName: String - ownerId: UUID - includeInvites: Boolean - includeGroups: Boolean - includeLevels: Boolean - bitlen: Int - tokensExpiration: IntervalInput -} +""" +SEO and social sharing metadata for a site: page title, description, and Open Graph image +""" +type SiteMetadatum { + """Unique identifier for this metadata record""" + id: UUID! -"""The output of our `extendTokenExpires` mutation.""" -type ExtendTokenExpiresPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: [ExtendTokenExpiresRecord] + """Reference to the metaschema database""" + databaseId: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Site this metadata belongs to""" + siteId: UUID! + + """Page title for SEO (max 120 characters)""" + title: String + + """Meta description for SEO and social sharing (max 120 characters)""" + description: String + + """Open Graph image for social media previews""" + ogImage: ConstructiveInternalTypeImage + + """Reads a single `Database` that is related to this `SiteMetadatum`.""" + database: Database + + """Reads a single `Site` that is related to this `SiteMetadatum`.""" + site: Site } -type ExtendTokenExpiresRecord { - id: UUID - sessionId: UUID - expiresAt: Datetime +"""A `SiteMetadatum` edge in the connection.""" +type SiteMetadatumEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `SiteMetadatum` at the end of the edge.""" + node: SiteMetadatum } -"""All input for the `extendTokenExpires` mutation.""" -input ExtendTokenExpiresInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - amount: IntervalInput +"""Methods to use when ordering `SiteMetadatum`.""" +enum SiteMetadatumOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SITE_ID_ASC + SITE_ID_DESC + TITLE_ASC + TITLE_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + OG_IMAGE_ASC + OG_IMAGE_DESC } -"""The output of our `createApiKey` mutation.""" -type CreateApiKeyPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: CreateApiKeyRecord +"""A connection to a list of `SiteModule` values.""" +type SiteModuleConnection { + """A list of `SiteModule` objects.""" + nodes: [SiteModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `SiteModule` and cursor to aid in pagination. """ - query: Query -} + edges: [SiteModuleEdge]! -type CreateApiKeyRecord { - apiKey: String - keyId: UUID - expiresAt: Datetime + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `SiteModule` you could get from the connection.""" + totalCount: Int! } -"""All input for the `createApiKey` mutation.""" -input CreateApiKeyInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - keyName: String - accessLevel: String - mfaLevel: String - expiresIn: IntervalInput +""" +Site-level module configuration; stores module name and JSON settings used by the frontend or server for each site +""" +type SiteModule { + """Unique identifier for this site module record""" + id: UUID! + + """Reference to the metaschema database""" + databaseId: UUID! + + """Site this module configuration belongs to""" + siteId: UUID! + + """Module name (e.g. user_auth_module, analytics)""" + name: String! + + """JSON configuration data for this module""" + data: JSON! + + """Reads a single `Database` that is related to this `SiteModule`.""" + database: Database + + """Reads a single `Site` that is related to this `SiteModule`.""" + site: Site } -"""The output of our `sendVerificationEmail` mutation.""" -type SendVerificationEmailPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: Boolean +"""A `SiteModule` edge in the connection.""" +type SiteModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `SiteModule` at the end of the edge.""" + node: SiteModule } -"""All input for the `sendVerificationEmail` mutation.""" -input SendVerificationEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - email: ConstructiveInternalTypeEmail +"""Methods to use when ordering `SiteModule`.""" +enum SiteModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SITE_ID_ASC + SITE_ID_DESC + NAME_ASC + NAME_DESC + DATA_ASC + DATA_DESC } -"""The output of our `forgotPassword` mutation.""" -type ForgotPasswordPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A connection to a list of `SiteTheme` values.""" +type SiteThemeConnection { + """A list of `SiteTheme` objects.""" + nodes: [SiteTheme]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `SiteTheme` and cursor to aid in pagination. """ - query: Query + edges: [SiteThemeEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `SiteTheme` you could get from the connection.""" + totalCount: Int! } -"""All input for the `forgotPassword` mutation.""" -input ForgotPasswordInput { +""" +Theme configuration for a site; stores design tokens, colors, and typography as JSONB +""" +type SiteTheme { + """Unique identifier for this theme record""" + id: UUID! + + """Reference to the metaschema database""" + databaseId: UUID! + + """Site this theme belongs to""" + siteId: UUID! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + JSONB object containing theme tokens (colors, typography, spacing, etc.) """ - clientMutationId: String - email: ConstructiveInternalTypeEmail + theme: JSON! + + """Reads a single `Database` that is related to this `SiteTheme`.""" + database: Database + + """Reads a single `Site` that is related to this `SiteTheme`.""" + site: Site } -"""The output of our `signUp` mutation.""" -type SignUpPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: SignUpRecord +"""A `SiteTheme` edge in the connection.""" +type SiteThemeEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `SiteTheme` at the end of the edge.""" + node: SiteTheme } -type SignUpRecord { - id: UUID - userId: UUID - accessToken: String - accessTokenExpiresAt: Datetime - isVerified: Boolean - totpEnabled: Boolean +"""Methods to use when ordering `SiteTheme`.""" +enum SiteThemeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SITE_ID_ASC + SITE_ID_DESC + THEME_ASC + THEME_DESC } -"""All input for the `signUp` mutation.""" -input SignUpInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - email: String - password: String - rememberMe: Boolean - credentialKind: String - csrfToken: String +"""A `Domain` edge in the connection.""" +type DomainEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Domain` at the end of the edge.""" + node: Domain } -"""The output of our `requestCrossOriginToken` mutation.""" -type RequestCrossOriginTokenPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - result: String +""" +Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default +""" +type ApiSetting { + """Unique identifier for this API settings record""" + id: UUID! + + """Reference to the metaschema database""" + databaseId: UUID! + + """API these settings override for""" + apiId: UUID! """ - Our root query field type. Allows us to run any query from our mutation payload. + Override: enable aggregate queries (NULL = inherit from database_settings) """ - query: Query -} + enableAggregates: Boolean -"""All input for the `requestCrossOriginToken` mutation.""" -input RequestCrossOriginTokenInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Override: enable PostGIS spatial types (NULL = inherit from database_settings) """ - clientMutationId: String - email: String - password: String - origin: ConstructiveInternalTypeOrigin - rememberMe: Boolean -} + enablePostgis: Boolean -"""The output of our `signIn` mutation.""" -type SignInPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Override: enable unified search (NULL = inherit from database_settings) """ - clientMutationId: String - result: SignInRecord + enableSearch: Boolean """ - Our root query field type. Allows us to run any query from our mutation payload. + Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) """ - query: Query -} - -type SignInRecord { - id: UUID - userId: UUID - accessToken: String - accessTokenExpiresAt: Datetime - isVerified: Boolean - totpEnabled: Boolean - mfaRequired: Boolean - mfaChallengeToken: String -} + enableDirectUploads: Boolean -"""All input for the `signIn` mutation.""" -input SignInInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Override: enable presigned URL upload flow (NULL = inherit from database_settings) """ - clientMutationId: String - email: String - password: String - rememberMe: Boolean - credentialKind: String - csrfToken: String - deviceToken: String -} + enablePresignedUploads: Boolean -"""The output of our `provisionTable` mutation.""" -type ProvisionTablePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Override: enable many-to-many relationships (NULL = inherit from database_settings) """ - clientMutationId: String - result: [ProvisionTableRecord] + enableManyToMany: Boolean """ - Our root query field type. Allows us to run any query from our mutation payload. + Override: enable connection filter (NULL = inherit from database_settings) """ - query: Query -} - -type ProvisionTableRecord { - outTableId: UUID - outFields: [UUID] -} + enableConnectionFilter: Boolean -"""All input for the `provisionTable` mutation.""" -input ProvisionTableInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Override: enable ltree hierarchical data type (NULL = inherit from database_settings) """ - clientMutationId: String - databaseId: UUID - schemaId: UUID - tableName: String - tableId: UUID - nodes: JSON - fields: JSON - policies: JSON - grants: JSON - useRls: Boolean - indexes: JSON - fullTextSearches: JSON - uniqueConstraints: JSON - description: String -} + enableLtree: Boolean -"""The output of our create `DefaultIdsModule` mutation.""" -type CreateDefaultIdsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Override: enable LLM/AI integration features (NULL = inherit from database_settings) """ - clientMutationId: String - - """The `DefaultIdsModule` that was created by this mutation.""" - defaultIdsModule: DefaultIdsModule + enableLlm: Boolean """ - Our root query field type. Allows us to run any query from our mutation payload. + Extensible JSON for additional per-API settings that do not have dedicated columns """ - query: Query + options: JSON! - """An edge for our `DefaultIdsModule`. May be used by Relay 1.""" - defaultIdsModuleEdge( - """The method to use when ordering `DefaultIdsModule`.""" - orderBy: [DefaultIdsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DefaultIdsModuleEdge + """Reads a single `Api` that is related to this `ApiSetting`.""" + api: Api + + """Reads a single `Database` that is related to this `ApiSetting`.""" + database: Database } -"""All input for the create `DefaultIdsModule` mutation.""" -input CreateDefaultIdsModuleInput { +"""A connection to a list of `CorsSetting` values.""" +type CorsSettingConnection { + """A list of `CorsSetting` objects.""" + nodes: [CorsSetting]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `CorsSetting` and cursor to aid in pagination. """ - clientMutationId: String + edges: [CorsSettingEdge]! - """The `DefaultIdsModule` to be created by this mutation.""" - defaultIdsModule: DefaultIdsModuleInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `CorsSetting` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `DefaultIdsModule`""" -input DefaultIdsModuleInput { - id: UUID +""" +Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries +""" +type CorsSetting { + """Unique identifier for this CORS settings record""" + id: UUID! + + """Reference to the metaschema database""" databaseId: UUID! -} -"""The output of our create `RoleType` mutation.""" -type CreateRoleTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Optional API for per-API override; NULL means database-wide default""" + apiId: UUID - """The `RoleType` that was created by this mutation.""" - roleType: RoleType + """Array of allowed CORS origins (e.g. https://example.com)""" + allowedOrigins: [String]! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Api` that is related to this `CorsSetting`.""" + api: Api - """An edge for our `RoleType`. May be used by Relay 1.""" - roleTypeEdge( - """The method to use when ordering `RoleType`.""" - orderBy: [RoleTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): RoleTypeEdge + """Reads a single `Database` that is related to this `CorsSetting`.""" + database: Database } -"""All input for the create `RoleType` mutation.""" -input CreateRoleTypeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `CorsSetting` edge in the connection.""" +type CorsSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `RoleType` to be created by this mutation.""" - roleType: RoleTypeInput! + """The `CorsSetting` at the end of the edge.""" + node: CorsSetting } -"""An input for mutations affecting `RoleType`""" -input RoleTypeInput { - id: Int! - name: String! +"""Methods to use when ordering `CorsSetting`.""" +enum CorsSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + API_ID_ASC + API_ID_DESC + ALLOWED_ORIGINS_ASC + ALLOWED_ORIGINS_DESC } -"""The output of our create `ViewTable` mutation.""" -type CreateViewTablePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `ViewTable` that was created by this mutation.""" - viewTable: ViewTable - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `ApiSchema` edge in the connection.""" +type ApiSchemaEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `ViewTable`. May be used by Relay 1.""" - viewTableEdge( - """The method to use when ordering `ViewTable`.""" - orderBy: [ViewTableOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewTableEdge + """The `ApiSchema` at the end of the edge.""" + node: ApiSchema } -"""All input for the create `ViewTable` mutation.""" -input CreateViewTableInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `Schema` edge in the connection.""" +type SchemaEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `ViewTable` to be created by this mutation.""" - viewTable: ViewTableInput! + """The `Schema` at the end of the edge.""" + node: Schema } -"""An input for mutations affecting `ViewTable`""" -input ViewTableInput { - id: UUID - viewId: UUID! - tableId: UUID! - joinOrder: Int +"""Methods to use when ordering `Schema`.""" +enum SchemaOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + NAME_ASC + NAME_DESC + SCHEMA_NAME_ASC + SCHEMA_NAME_DESC + LABEL_ASC + LABEL_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + SMART_TAGS_ASC + SMART_TAGS_DESC + CATEGORY_ASC + CATEGORY_DESC + MODULE_ASC + MODULE_DESC + SCOPE_ASC + SCOPE_DESC + TAGS_ASC + TAGS_DESC + IS_PUBLIC_ASC + IS_PUBLIC_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""The output of our create `ApiSchema` mutation.""" -type CreateApiSchemaPayload { +"""A connection to a list of `TriggerFunction` values.""" +type TriggerFunctionConnection { + """A list of `TriggerFunction` objects.""" + nodes: [TriggerFunction]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `TriggerFunction` and cursor to aid in pagination. """ - clientMutationId: String + edges: [TriggerFunctionEdge]! - """The `ApiSchema` that was created by this mutation.""" - apiSchema: ApiSchema + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `TriggerFunction` you could get from the connection. """ - query: Query - - """An edge for our `ApiSchema`. May be used by Relay 1.""" - apiSchemaEdge( - """The method to use when ordering `ApiSchema`.""" - orderBy: [ApiSchemaOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiSchemaEdge + totalCount: Int! } -"""All input for the create `ApiSchema` mutation.""" -input CreateApiSchemaInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +type TriggerFunction { + id: UUID! + databaseId: UUID! + name: String! + code: String + createdAt: Datetime + updatedAt: Datetime - """The `ApiSchema` to be created by this mutation.""" - apiSchema: ApiSchemaInput! + """Reads a single `Database` that is related to this `TriggerFunction`.""" + database: Database } -"""An input for mutations affecting `ApiSchema`""" -input ApiSchemaInput { - """Unique identifier for this API-schema mapping""" - id: UUID - - """Reference to the metaschema database""" - databaseId: UUID! +"""A `TriggerFunction` edge in the connection.""" +type TriggerFunctionEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Metaschema schema being exposed through the API""" - schemaId: UUID! + """The `TriggerFunction` at the end of the edge.""" + node: TriggerFunction +} - """API that exposes this schema""" - apiId: UUID! +"""Methods to use when ordering `TriggerFunction`.""" +enum TriggerFunctionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + NAME_ASC + NAME_DESC + CODE_ASC + CODE_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""The output of our create `OrgMember` mutation.""" -type CreateOrgMemberPayload { +"""A connection to a list of `DatabaseTransfer` values.""" +type DatabaseTransferConnection { + """A list of `DatabaseTransfer` objects.""" + nodes: [DatabaseTransfer]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `DatabaseTransfer` and cursor to aid in pagination. """ - clientMutationId: String + edges: [DatabaseTransferEdge]! - """The `OrgMember` that was created by this mutation.""" - orgMember: OrgMember + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `DatabaseTransfer` you could get from the connection. """ - query: Query - - """An edge for our `OrgMember`. May be used by Relay 1.""" - orgMemberEdge( - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberEdge + totalCount: Int! } -"""All input for the create `OrgMember` mutation.""" -input CreateOrgMemberInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +type DatabaseTransfer { + id: UUID! + databaseId: UUID! + targetOwnerId: UUID! + sourceApproved: Boolean! + targetApproved: Boolean! + sourceApprovedAt: Datetime + targetApprovedAt: Datetime + status: String! + initiatedBy: UUID! + notes: String + expiresAt: Datetime! + createdAt: Datetime! + updatedAt: Datetime! + completedAt: Datetime - """The `OrgMember` to be created by this mutation.""" - orgMember: OrgMemberInput! + """Reads a single `Database` that is related to this `DatabaseTransfer`.""" + database: Database } -"""An input for mutations affecting `OrgMember`""" -input OrgMemberInput { - id: UUID - - """Whether this member has admin privileges""" - isAdmin: Boolean +"""A `DatabaseTransfer` edge in the connection.""" +type DatabaseTransferEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """References the user who is a member""" - actorId: UUID! + """The `DatabaseTransfer` at the end of the edge.""" + node: DatabaseTransfer +} - """References the entity (org or group) this member belongs to""" - entityId: UUID! +"""Methods to use when ordering `DatabaseTransfer`.""" +enum DatabaseTransferOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TARGET_OWNER_ID_ASC + TARGET_OWNER_ID_DESC + SOURCE_APPROVED_ASC + SOURCE_APPROVED_DESC + TARGET_APPROVED_ASC + TARGET_APPROVED_DESC + SOURCE_APPROVED_AT_ASC + SOURCE_APPROVED_AT_DESC + TARGET_APPROVED_AT_ASC + TARGET_APPROVED_AT_DESC + STATUS_ASC + STATUS_DESC + INITIATED_BY_ASC + INITIATED_BY_DESC + NOTES_ASC + NOTES_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + COMPLETED_AT_ASC + COMPLETED_AT_DESC } -"""The output of our create `SiteTheme` mutation.""" -type CreateSiteThemePayload { +"""A connection to a list of `Api` values.""" +type ApiConnection { + """A list of `Api` objects.""" + nodes: [Api]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `Api` and cursor to aid in pagination. """ - clientMutationId: String + edges: [ApiEdge]! - """The `SiteTheme` that was created by this mutation.""" - siteTheme: SiteTheme + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The count of *all* `Api` you could get from the connection.""" + totalCount: Int! +} - """An edge for our `SiteTheme`. May be used by Relay 1.""" - siteThemeEdge( - """The method to use when ordering `SiteTheme`.""" - orderBy: [SiteThemeOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteThemeEdge +"""A `Api` edge in the connection.""" +type ApiEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Api` at the end of the edge.""" + node: Api } -"""All input for the create `SiteTheme` mutation.""" -input CreateSiteThemeInput { +"""Methods to use when ordering `Api`.""" +enum ApiOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + NAME_ASC + NAME_DESC + DBNAME_ASC + DBNAME_DESC + ROLE_NAME_ASC + ROLE_NAME_DESC + ANON_ROLE_ASC + ANON_ROLE_DESC + IS_PUBLIC_ASC + IS_PUBLIC_DESC +} + +"""A connection to a list of `Site` values.""" +type SiteConnection { + """A list of `Site` objects.""" + nodes: [Site]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `Site` and cursor to aid in pagination. """ - clientMutationId: String + edges: [SiteEdge]! - """The `SiteTheme` to be created by this mutation.""" - siteTheme: SiteThemeInput! -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""An input for mutations affecting `SiteTheme`""" -input SiteThemeInput { - """Unique identifier for this theme record""" - id: UUID + """The count of *all* `Site` you could get from the connection.""" + totalCount: Int! +} - """Reference to the metaschema database""" - databaseId: UUID! +"""A `Site` edge in the connection.""" +type SiteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Site this theme belongs to""" - siteId: UUID! + """The `Site` at the end of the edge.""" + node: Site +} - """ - JSONB object containing theme tokens (colors, typography, spacing, etc.) - """ - theme: JSON! +"""Methods to use when ordering `Site`.""" +enum SiteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TITLE_ASC + TITLE_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + OG_IMAGE_ASC + OG_IMAGE_DESC + FAVICON_ASC + FAVICON_DESC + APPLE_TOUCH_ICON_ASC + APPLE_TOUCH_ICON_DESC + LOGO_ASC + LOGO_DESC + DBNAME_ASC + DBNAME_DESC } -"""The output of our create `IdentityProvider` mutation.""" -type CreateIdentityProviderPayload { +"""A connection to a list of `App` values.""" +type AppConnection { + """A list of `App` objects.""" + nodes: [App]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `App` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AppEdge]! - """The `IdentityProvider` that was created by this mutation.""" - identityProvider: IdentityProvider + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The count of *all* `App` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `IdentityProvider` mutation.""" -input CreateIdentityProviderInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `App` edge in the connection.""" +type AppEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `IdentityProvider` to be created by this mutation.""" - identityProvider: IdentityProviderInput! + """The `App` at the end of the edge.""" + node: App } -"""An input for mutations affecting `IdentityProvider`""" -input IdentityProviderInput { - slug: String - kind: String - displayName: String - enabled: Boolean - isBuiltIn: Boolean +"""Methods to use when ordering `App`.""" +enum AppOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SITE_ID_ASC + SITE_ID_DESC + NAME_ASC + NAME_DESC + APP_IMAGE_ASC + APP_IMAGE_DESC + APP_STORE_LINK_ASC + APP_STORE_LINK_DESC + APP_STORE_ID_ASC + APP_STORE_ID_DESC + APP_ID_PREFIX_ASC + APP_ID_PREFIX_DESC + PLAY_STORE_LINK_ASC + PLAY_STORE_LINK_DESC } -"""The output of our create `Ref` mutation.""" -type CreateRefPayload { +""" +Database-wide feature flags and settings; controls which platform features are available to all APIs in this database +""" +type DatabaseSetting { + """Unique identifier for this settings record""" + id: UUID! + + """Reference to the metaschema database these settings apply to""" + databaseId: UUID! + + """Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API""" + enableAggregates: Boolean! + + """Enable PostGIS spatial types and operators in the GraphQL API""" + enablePostgis: Boolean! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API """ - clientMutationId: String + enableSearch: Boolean! - """The `Ref` that was created by this mutation.""" - ref: Ref + """Enable direct (multipart) file upload mutations in the GraphQL API""" + enableDirectUploads: Boolean! + + """Enable presigned URL upload flow for S3/MinIO storage""" + enablePresignedUploads: Boolean! + + """Enable many-to-many relationship queries in the GraphQL API""" + enableManyToMany: Boolean! + + """Enable connection filter (where argument) in the GraphQL API""" + enableConnectionFilter: Boolean! + + """Enable ltree hierarchical data type support in the GraphQL API""" + enableLtree: Boolean! + + """Enable LLM/AI integration features in the GraphQL API""" + enableLlm: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Extensible JSON for additional settings that do not have dedicated columns """ - query: Query + options: JSON! - """An edge for our `Ref`. May be used by Relay 1.""" - refEdge( - """The method to use when ordering `Ref`.""" - orderBy: [RefOrderBy!]! = [PRIMARY_KEY_ASC] - ): RefEdge + """Reads a single `Database` that is related to this `DatabaseSetting`.""" + database: Database } -"""All input for the create `Ref` mutation.""" -input CreateRefInput { +"""A connection to a list of `ApiSetting` values.""" +type ApiSettingConnection { + """A list of `ApiSetting` objects.""" + nodes: [ApiSetting]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `ApiSetting` and cursor to aid in pagination. """ - clientMutationId: String + edges: [ApiSettingEdge]! - """The `Ref` to be created by this mutation.""" - ref: RefInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `ApiSetting` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `Ref`""" -input RefInput { - """The primary unique identifier for the ref.""" - id: UUID +"""A `ApiSetting` edge in the connection.""" +type ApiSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The name of the ref or branch""" - name: String! - databaseId: UUID! - storeId: UUID! - commitId: UUID + """The `ApiSetting` at the end of the edge.""" + node: ApiSetting } -"""The output of our create `Store` mutation.""" -type CreateStorePayload { +"""Methods to use when ordering `ApiSetting`.""" +enum ApiSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + API_ID_ASC + API_ID_DESC + ENABLE_AGGREGATES_ASC + ENABLE_AGGREGATES_DESC + ENABLE_POSTGIS_ASC + ENABLE_POSTGIS_DESC + ENABLE_SEARCH_ASC + ENABLE_SEARCH_DESC + ENABLE_DIRECT_UPLOADS_ASC + ENABLE_DIRECT_UPLOADS_DESC + ENABLE_PRESIGNED_UPLOADS_ASC + ENABLE_PRESIGNED_UPLOADS_DESC + ENABLE_MANY_TO_MANY_ASC + ENABLE_MANY_TO_MANY_DESC + ENABLE_CONNECTION_FILTER_ASC + ENABLE_CONNECTION_FILTER_DESC + ENABLE_LTREE_ASC + ENABLE_LTREE_DESC + ENABLE_LLM_ASC + ENABLE_LLM_DESC + OPTIONS_ASC + OPTIONS_DESC +} + +""" +Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries +""" +type RlsSetting { + """Unique identifier for this RLS settings record""" + id: UUID! + + """Reference to the metaschema database""" + databaseId: UUID! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) """ - clientMutationId: String + authenticateSchemaId: UUID - """The `Store` that was created by this mutation.""" - store: Store + """ + Schema containing current_role and related functions (FK to metaschema_public.schema) + """ + roleSchemaId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Reference to the authenticate function (FK to metaschema_public.function) """ - query: Query + authenticateFunctionId: UUID - """An edge for our `Store`. May be used by Relay 1.""" - storeEdge( - """The method to use when ordering `Store`.""" - orderBy: [StoreOrderBy!]! = [PRIMARY_KEY_ASC] - ): StoreEdge -} + """ + Reference to the strict authenticate function (FK to metaschema_public.function) + """ + authenticateStrictFunctionId: UUID -"""All input for the create `Store` mutation.""" -input CreateStoreInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the current_role function (FK to metaschema_public.function) """ - clientMutationId: String + currentRoleFunctionId: UUID - """The `Store` to be created by this mutation.""" - store: StoreInput! -} + """ + Reference to the current_role_id function (FK to metaschema_public.function) + """ + currentRoleIdFunctionId: UUID -"""An input for mutations affecting `Store`""" -input StoreInput { - """The primary unique identifier for the store.""" - id: UUID + """ + Reference to the current_user_agent function (FK to metaschema_public.function) + """ + currentUserAgentFunctionId: UUID - """The name of the store (e.g., metaschema, migrations).""" - name: String! + """ + Reference to the current_ip_address function (FK to metaschema_public.function) + """ + currentIpAddressFunctionId: UUID - """The database this store belongs to.""" - databaseId: UUID! + """Reads a single `Function` that is related to this `RlsSetting`.""" + authenticateFunction: Function - """The current head tree_id for this store.""" - hash: UUID - createdAt: Datetime -} + """Reads a single `Schema` that is related to this `RlsSetting`.""" + authenticateSchema: Schema -"""The output of our create `EncryptedSecretsModule` mutation.""" -type CreateEncryptedSecretsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Function` that is related to this `RlsSetting`.""" + authenticateStrictFunction: Function - """The `EncryptedSecretsModule` that was created by this mutation.""" - encryptedSecretsModule: EncryptedSecretsModule + """Reads a single `Function` that is related to this `RlsSetting`.""" + currentIpAddressFunction: Function - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Function` that is related to this `RlsSetting`.""" + currentRoleFunction: Function - """An edge for our `EncryptedSecretsModule`. May be used by Relay 1.""" - encryptedSecretsModuleEdge( - """The method to use when ordering `EncryptedSecretsModule`.""" - orderBy: [EncryptedSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): EncryptedSecretsModuleEdge -} + """Reads a single `Function` that is related to this `RlsSetting`.""" + currentRoleIdFunction: Function -"""All input for the create `EncryptedSecretsModule` mutation.""" -input CreateEncryptedSecretsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Function` that is related to this `RlsSetting`.""" + currentUserAgentFunction: Function - """The `EncryptedSecretsModule` to be created by this mutation.""" - encryptedSecretsModule: EncryptedSecretsModuleInput! + """Reads a single `Database` that is related to this `RlsSetting`.""" + database: Database + + """Reads a single `Schema` that is related to this `RlsSetting`.""" + roleSchema: Schema } -"""An input for mutations affecting `EncryptedSecretsModule`""" -input EncryptedSecretsModuleInput { - id: UUID +""" +Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries +""" +type PubkeySetting { + """Unique identifier for this pubkey settings record""" + id: UUID! + + """Reference to the metaschema database""" databaseId: UUID! - schemaId: UUID - tableId: UUID - tableName: String -} -"""The output of our create `MembershipTypesModule` mutation.""" -type CreateMembershipTypesModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Schema containing the crypto auth functions (FK to metaschema_public.schema) """ - clientMutationId: String + schemaId: UUID - """The `MembershipTypesModule` that was created by this mutation.""" - membershipTypesModule: MembershipTypesModule + """Crypto network for key derivation (e.g. cosmos, ethereum)""" + cryptoNetwork: String! + + """Field name used to identify the user in crypto auth functions""" + userField: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Reference to the sign-up-with-key function (FK to metaschema_public.function) """ - query: Query + signUpWithKeyFunctionId: UUID - """An edge for our `MembershipTypesModule`. May be used by Relay 1.""" - membershipTypesModuleEdge( - """The method to use when ordering `MembershipTypesModule`.""" - orderBy: [MembershipTypesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypesModuleEdge -} - -"""All input for the create `MembershipTypesModule` mutation.""" -input CreateMembershipTypesModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the sign-in challenge request function (FK to metaschema_public.function) """ - clientMutationId: String - - """The `MembershipTypesModule` to be created by this mutation.""" - membershipTypesModule: MembershipTypesModuleInput! -} + signInRequestChallengeFunctionId: UUID -"""An input for mutations affecting `MembershipTypesModule`""" -input MembershipTypesModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - tableId: UUID - tableName: String -} - -"""The output of our create `SecretsModule` mutation.""" -type CreateSecretsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reference to the sign-in failure recording function (FK to metaschema_public.function) """ - clientMutationId: String - - """The `SecretsModule` that was created by this mutation.""" - secretsModule: SecretsModule + signInRecordFailureFunctionId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Reference to the sign-in-with-challenge function (FK to metaschema_public.function) """ - query: Query + signInWithChallengeFunctionId: UUID - """An edge for our `SecretsModule`. May be used by Relay 1.""" - secretsModuleEdge( - """The method to use when ordering `SecretsModule`.""" - orderBy: [SecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SecretsModuleEdge -} + """Reads a single `Database` that is related to this `PubkeySetting`.""" + database: Database -"""All input for the create `SecretsModule` mutation.""" -input CreateSecretsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Schema` that is related to this `PubkeySetting`.""" + schema: Schema - """The `SecretsModule` to be created by this mutation.""" - secretsModule: SecretsModuleInput! -} + """Reads a single `Function` that is related to this `PubkeySetting`.""" + signInRecordFailureFunction: Function -"""An input for mutations affecting `SecretsModule`""" -input SecretsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - tableId: UUID - tableName: String + """Reads a single `Function` that is related to this `PubkeySetting`.""" + signInRequestChallengeFunction: Function + + """Reads a single `Function` that is related to this `PubkeySetting`.""" + signInWithChallengeFunction: Function + + """Reads a single `Function` that is related to this `PubkeySetting`.""" + signUpWithKeyFunction: Function } -"""The output of our create `AppPermissionDefault` mutation.""" -type CreateAppPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries +""" +type WebauthnSetting { + """Unique identifier for this WebAuthn settings record""" + id: UUID! - """The `AppPermissionDefault` that was created by this mutation.""" - appPermissionDefault: AppPermissionDefault + """Reference to the metaschema database""" + databaseId: UUID! """ - Our root query field type. Allows us to run any query from our mutation payload. + Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) """ - query: Query - - """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" - appPermissionDefaultEdge( - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultEdge -} + schemaId: UUID -"""All input for the create `AppPermissionDefault` mutation.""" -input CreateAppPermissionDefaultInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Schema of the webauthn_credentials table (FK to metaschema_public.schema) """ - clientMutationId: String - - """The `AppPermissionDefault` to be created by this mutation.""" - appPermissionDefault: AppPermissionDefaultInput! -} + credentialsSchemaId: UUID -"""An input for mutations affecting `AppPermissionDefault`""" -input AppPermissionDefaultInput { - id: UUID + """Schema of the sessions table (FK to metaschema_public.schema)""" + sessionsSchemaId: UUID - """Default permission bitmask applied to new members""" - permissions: BitString -} + """Schema of the session_secrets table (FK to metaschema_public.schema)""" + sessionSecretsSchemaId: UUID -"""The output of our create `ApiModule` mutation.""" -type CreateApiModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reference to the webauthn_credentials table (FK to metaschema_public.table) """ - clientMutationId: String + credentialsTableId: UUID - """The `ApiModule` that was created by this mutation.""" - apiModule: ApiModule + """Reference to the sessions table (FK to metaschema_public.table)""" + sessionsTableId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Reference to the session_credentials table (FK to metaschema_public.table) """ - query: Query + sessionCredentialsTableId: UUID - """An edge for our `ApiModule`. May be used by Relay 1.""" - apiModuleEdge( - """The method to use when ordering `ApiModule`.""" - orderBy: [ApiModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiModuleEdge -} + """Reference to the session_secrets table (FK to metaschema_public.table)""" + sessionSecretsTableId: UUID -"""All input for the create `ApiModule` mutation.""" -input CreateApiModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the user field on webauthn_credentials (FK to metaschema_public.field) """ - clientMutationId: String + userFieldId: UUID - """The `ApiModule` to be created by this mutation.""" - apiModule: ApiModuleInput! -} + """WebAuthn Relying Party ID (typically the domain name)""" + rpId: String! -"""An input for mutations affecting `ApiModule`""" -input ApiModuleInput { - """Unique identifier for this API module record""" - id: UUID + """WebAuthn Relying Party display name""" + rpName: String! - """Reference to the metaschema database""" - databaseId: UUID! + """Allowed origins for WebAuthn registration and authentication""" + originAllowlist: [String]! - """API this module configuration belongs to""" - apiId: UUID! + """Attestation conveyance preference (none, indirect, direct, enterprise)""" + attestationType: String! - """Module name (e.g. auth, uploads, webhooks)""" - name: String! + """Whether to require user verification (biometric/PIN) during auth""" + requireUserVerification: Boolean! - """JSON configuration data for this module""" - data: JSON! -} + """Resident key requirement (discouraged, preferred, required)""" + residentKey: String! -"""The output of our create `SiteModule` mutation.""" -type CreateSiteModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Challenge TTL in seconds (default 300 = 5 minutes)""" + challengeExpirySeconds: BigInt! - """The `SiteModule` that was created by this mutation.""" - siteModule: SiteModule + """Reads a single `Schema` that is related to this `WebauthnSetting`.""" + credentialsSchema: Schema - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `WebauthnSetting`.""" + credentialsTable: Table - """An edge for our `SiteModule`. May be used by Relay 1.""" - siteModuleEdge( - """The method to use when ordering `SiteModule`.""" - orderBy: [SiteModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteModuleEdge -} + """Reads a single `Database` that is related to this `WebauthnSetting`.""" + database: Database -"""All input for the create `SiteModule` mutation.""" -input CreateSiteModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Schema` that is related to this `WebauthnSetting`.""" + schema: Schema - """The `SiteModule` to be created by this mutation.""" - siteModule: SiteModuleInput! -} + """Reads a single `Table` that is related to this `WebauthnSetting`.""" + sessionCredentialsTable: Table -"""An input for mutations affecting `SiteModule`""" -input SiteModuleInput { - """Unique identifier for this site module record""" - id: UUID + """Reads a single `Schema` that is related to this `WebauthnSetting`.""" + sessionSecretsSchema: Schema - """Reference to the metaschema database""" - databaseId: UUID! + """Reads a single `Table` that is related to this `WebauthnSetting`.""" + sessionSecretsTable: Table - """Site this module configuration belongs to""" - siteId: UUID! + """Reads a single `Schema` that is related to this `WebauthnSetting`.""" + sessionsSchema: Schema - """Module name (e.g. user_auth_module, analytics)""" - name: String! + """Reads a single `Table` that is related to this `WebauthnSetting`.""" + sessionsTable: Table - """JSON configuration data for this module""" - data: JSON! + """Reads a single `Field` that is related to this `WebauthnSetting`.""" + userField: Field } -"""The output of our create `SchemaGrant` mutation.""" -type CreateSchemaGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `SchemaGrant` that was created by this mutation.""" - schemaGrant: SchemaGrant +"""A connection to a list of `ConnectedAccountsModule` values.""" +type ConnectedAccountsModuleConnection { + """A list of `ConnectedAccountsModule` objects.""" + nodes: [ConnectedAccountsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `ConnectedAccountsModule` and cursor to aid in pagination. """ - query: Query + edges: [ConnectedAccountsModuleEdge]! - """An edge for our `SchemaGrant`. May be used by Relay 1.""" - schemaGrantEdge( - """The method to use when ordering `SchemaGrant`.""" - orderBy: [SchemaGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): SchemaGrantEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `SchemaGrant` mutation.""" -input CreateSchemaGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `ConnectedAccountsModule` you could get from the connection. """ - clientMutationId: String - - """The `SchemaGrant` to be created by this mutation.""" - schemaGrant: SchemaGrantInput! + totalCount: Int! } -"""An input for mutations affecting `SchemaGrant`""" -input SchemaGrantInput { - id: UUID - databaseId: UUID +type ConnectedAccountsModule { + id: UUID! + databaseId: UUID! schemaId: UUID! - granteeName: String! - createdAt: Datetime - updatedAt: Datetime -} + privateSchemaId: UUID! + tableId: UUID! + ownerTableId: UUID! + tableName: String! -"""The output of our create `TriggerFunction` mutation.""" -type CreateTriggerFunctionPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Database` that is related to this `ConnectedAccountsModule`. """ - clientMutationId: String - - """The `TriggerFunction` that was created by this mutation.""" - triggerFunction: TriggerFunction + database: Database """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Table` that is related to this `ConnectedAccountsModule`. """ - query: Query - - """An edge for our `TriggerFunction`. May be used by Relay 1.""" - triggerFunctionEdge( - """The method to use when ordering `TriggerFunction`.""" - orderBy: [TriggerFunctionOrderBy!]! = [PRIMARY_KEY_ASC] - ): TriggerFunctionEdge -} + ownerTable: Table -"""All input for the create `TriggerFunction` mutation.""" -input CreateTriggerFunctionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `Schema` that is related to this `ConnectedAccountsModule`. """ - clientMutationId: String - - """The `TriggerFunction` to be created by this mutation.""" - triggerFunction: TriggerFunctionInput! -} - -"""An input for mutations affecting `TriggerFunction`""" -input TriggerFunctionInput { - id: UUID - databaseId: UUID! - name: String! - code: String - createdAt: Datetime - updatedAt: Datetime -} + privateSchema: Schema -"""The output of our create `ViewRule` mutation.""" -type CreateViewRulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Schema` that is related to this `ConnectedAccountsModule`. """ - clientMutationId: String - - """The `ViewRule` that was created by this mutation.""" - viewRule: ViewRule + schema: Schema """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Table` that is related to this `ConnectedAccountsModule`. """ - query: Query - - """An edge for our `ViewRule`. May be used by Relay 1.""" - viewRuleEdge( - """The method to use when ordering `ViewRule`.""" - orderBy: [ViewRuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewRuleEdge + table: Table } -"""All input for the create `ViewRule` mutation.""" -input CreateViewRuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `ConnectedAccountsModule` edge in the connection.""" +type ConnectedAccountsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `ViewRule` to be created by this mutation.""" - viewRule: ViewRuleInput! + """The `ConnectedAccountsModule` at the end of the edge.""" + node: ConnectedAccountsModule } -"""An input for mutations affecting `ViewRule`""" -input ViewRuleInput { - id: UUID - databaseId: UUID - viewId: UUID! - name: String! - - """INSERT, UPDATE, or DELETE""" - event: String! - - """NOTHING (for read-only) or custom action""" - action: String +"""Methods to use when ordering `ConnectedAccountsModule`.""" +enum ConnectedAccountsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + OWNER_TABLE_ID_ASC + OWNER_TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC } -"""The output of our create `IdentityProvidersModule` mutation.""" -type CreateIdentityProvidersModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `IdentityProvidersModule` that was created by this mutation.""" - identityProvidersModule: IdentityProvidersModule +"""A connection to a list of `CryptoAddressesModule` values.""" +type CryptoAddressesModuleConnection { + """A list of `CryptoAddressesModule` objects.""" + nodes: [CryptoAddressesModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `CryptoAddressesModule` and cursor to aid in pagination. """ - query: Query + edges: [CryptoAddressesModuleEdge]! - """An edge for our `IdentityProvidersModule`. May be used by Relay 1.""" - identityProvidersModuleEdge( - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `IdentityProvidersModule` mutation.""" -input CreateIdentityProvidersModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `CryptoAddressesModule` you could get from the connection. """ - clientMutationId: String - - """The `IdentityProvidersModule` to be created by this mutation.""" - identityProvidersModule: IdentityProvidersModuleInput! + totalCount: Int! } -"""An input for mutations affecting `IdentityProvidersModule`""" -input IdentityProvidersModuleInput { - id: UUID +type CryptoAddressesModule { + id: UUID! databaseId: UUID! - schemaId: UUID + schemaId: UUID! + privateSchemaId: UUID! + tableId: UUID! + ownerTableId: UUID! + tableName: String! + cryptoNetwork: String! """ - Private schema that hosts SECURITY DEFINER admin helpers which write to identity_providers (create / update / enable / disable / rotate-secret / delete) and the per-app quota check. + Reads a single `Database` that is related to this `CryptoAddressesModule`. """ - privateSchemaId: UUID - tableId: UUID - tableName: String -} + database: Database -"""The output of our create `SessionSecretsModule` mutation.""" -type CreateSessionSecretsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Table` that is related to this `CryptoAddressesModule`. """ - clientMutationId: String - - """The `SessionSecretsModule` that was created by this mutation.""" - sessionSecretsModule: SessionSecretsModule + ownerTable: Table """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Schema` that is related to this `CryptoAddressesModule`. """ - query: Query - - """An edge for our `SessionSecretsModule`. May be used by Relay 1.""" - sessionSecretsModuleEdge( - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleEdge -} + privateSchema: Schema -"""All input for the create `SessionSecretsModule` mutation.""" -input CreateSessionSecretsModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `Schema` that is related to this `CryptoAddressesModule`. """ - clientMutationId: String + schema: Schema - """The `SessionSecretsModule` to be created by this mutation.""" - sessionSecretsModule: SessionSecretsModuleInput! + """ + Reads a single `Table` that is related to this `CryptoAddressesModule`. + """ + table: Table } -"""An input for mutations affecting `SessionSecretsModule`""" -input SessionSecretsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - tableId: UUID - tableName: String +"""A `CryptoAddressesModule` edge in the connection.""" +type CryptoAddressesModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Resolved reference to sessions_module.sessions_table, used to FK session_secrets.session_id with ON DELETE CASCADE. - """ - sessionsTableId: UUID + """The `CryptoAddressesModule` at the end of the edge.""" + node: CryptoAddressesModule } -"""The output of our create `AppAdminGrant` mutation.""" -type CreateAppAdminGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `CryptoAddressesModule`.""" +enum CryptoAddressesModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + OWNER_TABLE_ID_ASC + OWNER_TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + CRYPTO_NETWORK_ASC + CRYPTO_NETWORK_DESC +} - """The `AppAdminGrant` that was created by this mutation.""" - appAdminGrant: AppAdminGrant +"""A connection to a list of `CryptoAuthModule` values.""" +type CryptoAuthModuleConnection { + """A list of `CryptoAuthModule` objects.""" + nodes: [CryptoAuthModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `CryptoAuthModule` and cursor to aid in pagination. """ - query: Query + edges: [CryptoAuthModuleEdge]! - """An edge for our `AppAdminGrant`. May be used by Relay 1.""" - appAdminGrantEdge( - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAdminGrantEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `AppAdminGrant` mutation.""" -input CreateAppAdminGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `CryptoAuthModule` you could get from the connection. """ - clientMutationId: String - - """The `AppAdminGrant` to be created by this mutation.""" - appAdminGrant: AppAdminGrantInput! + totalCount: Int! } -"""An input for mutations affecting `AppAdminGrant`""" -input AppAdminGrantInput { - id: UUID +type CryptoAuthModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + usersTableId: UUID! + secretsTableId: UUID! + sessionsTableId: UUID! + sessionCredentialsTableId: UUID! + addressesTableId: UUID! + userField: String! + cryptoNetwork: String! + signInRequestChallenge: String! + signInRecordFailure: String! + signUpWithKey: String! + signInWithChallenge: String! - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Reads a single `Database` that is related to this `CryptoAuthModule`.""" + database: Database - """The member receiving or losing the admin grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Schema` that is related to this `CryptoAuthModule`.""" + schema: Schema -"""The output of our create `AppOwnerGrant` mutation.""" -type CreateAppOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `CryptoAuthModule`.""" + secretsTable: Table - """The `AppOwnerGrant` that was created by this mutation.""" - appOwnerGrant: AppOwnerGrant + """Reads a single `Table` that is related to this `CryptoAuthModule`.""" + sessionCredentialsTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `CryptoAuthModule`.""" + sessionsTable: Table - """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" - appOwnerGrantEdge( - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppOwnerGrantEdge + """Reads a single `Table` that is related to this `CryptoAuthModule`.""" + usersTable: Table } -"""All input for the create `AppOwnerGrant` mutation.""" -input CreateAppOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `CryptoAuthModule` edge in the connection.""" +type CryptoAuthModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppOwnerGrant` to be created by this mutation.""" - appOwnerGrant: AppOwnerGrantInput! + """The `CryptoAuthModule` at the end of the edge.""" + node: CryptoAuthModule } -"""An input for mutations affecting `AppOwnerGrant`""" -input AppOwnerGrantInput { - id: UUID - - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean - - """The member receiving or losing the ownership grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `CryptoAuthModule`.""" +enum CryptoAuthModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + SECRETS_TABLE_ID_ASC + SECRETS_TABLE_ID_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC + SESSION_CREDENTIALS_TABLE_ID_ASC + SESSION_CREDENTIALS_TABLE_ID_DESC + ADDRESSES_TABLE_ID_ASC + ADDRESSES_TABLE_ID_DESC + USER_FIELD_ASC + USER_FIELD_DESC + CRYPTO_NETWORK_ASC + CRYPTO_NETWORK_DESC + SIGN_IN_REQUEST_CHALLENGE_ASC + SIGN_IN_REQUEST_CHALLENGE_DESC + SIGN_IN_RECORD_FAILURE_ASC + SIGN_IN_RECORD_FAILURE_DESC + SIGN_UP_WITH_KEY_ASC + SIGN_UP_WITH_KEY_DESC + SIGN_IN_WITH_CHALLENGE_ASC + SIGN_IN_WITH_CHALLENGE_DESC } -"""The output of our create `AppAchievement` mutation.""" -type CreateAppAchievementPayload { +"""A connection to a list of `DefaultIdsModule` values.""" +type DefaultIdsModuleConnection { + """A list of `DefaultIdsModule` objects.""" + nodes: [DefaultIdsModule]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `DefaultIdsModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [DefaultIdsModuleEdge]! - """The `AppAchievement` that was created by this mutation.""" - appAchievement: AppAchievement + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `DefaultIdsModule` you could get from the connection. """ - query: Query - - """An edge for our `AppAchievement`. May be used by Relay 1.""" - appAchievementEdge( - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAchievementEdge + totalCount: Int! } -"""All input for the create `AppAchievement` mutation.""" -input CreateAppAchievementInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +type DefaultIdsModule { + id: UUID! + databaseId: UUID! - """The `AppAchievement` to be created by this mutation.""" - appAchievement: AppAchievementInput! + """Reads a single `Database` that is related to this `DefaultIdsModule`.""" + database: Database } -"""An input for mutations affecting `AppAchievement`""" -input AppAchievementInput { - id: UUID - actorId: UUID - - """Name identifier of the level requirement being tracked""" - name: String! +"""A `DefaultIdsModule` edge in the connection.""" +type DefaultIdsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Cumulative count of completed steps toward this requirement""" - count: Int - createdAt: Datetime - updatedAt: Datetime + """The `DefaultIdsModule` at the end of the edge.""" + node: DefaultIdsModule } -"""The output of our create `AppStep` mutation.""" -type CreateAppStepPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `DefaultIdsModule`.""" +enum DefaultIdsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC +} - """The `AppStep` that was created by this mutation.""" - appStep: AppStep +"""A connection to a list of `DenormalizedTableField` values.""" +type DenormalizedTableFieldConnection { + """A list of `DenormalizedTableField` objects.""" + nodes: [DenormalizedTableField]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `DenormalizedTableField` and cursor to aid in pagination. """ - query: Query + edges: [DenormalizedTableFieldEdge]! - """An edge for our `AppStep`. May be used by Relay 1.""" - appStepEdge( - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppStepEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `AppStep` mutation.""" -input CreateAppStepInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `DenormalizedTableField` you could get from the connection. """ - clientMutationId: String - - """The `AppStep` to be created by this mutation.""" - appStep: AppStepInput! + totalCount: Int! } -"""An input for mutations affecting `AppStep`""" -input AppStepInput { - id: UUID - actorId: UUID +type DenormalizedTableField { + id: UUID! + databaseId: UUID! + tableId: UUID! + fieldId: UUID! + setIds: [UUID] + refTableId: UUID! + refFieldId: UUID! + refIds: [UUID] + useUpdates: Boolean! + updateDefaults: Boolean! + funcName: String + funcOrder: Int! - """Name identifier of the level requirement this step fulfills""" - name: String! + """ + Reads a single `Database` that is related to this `DenormalizedTableField`. + """ + database: Database - """Number of units completed in this step action""" - count: Int - createdAt: Datetime - updatedAt: Datetime -} + """ + Reads a single `Field` that is related to this `DenormalizedTableField`. + """ + field: Field -"""The output of our create `OrgPermissionDefault` mutation.""" -type CreateOrgPermissionDefaultPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Field` that is related to this `DenormalizedTableField`. """ - clientMutationId: String + refField: Field - """The `OrgPermissionDefault` that was created by this mutation.""" - orgPermissionDefault: OrgPermissionDefault + """ + Reads a single `Table` that is related to this `DenormalizedTableField`. + """ + refTable: Table """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Table` that is related to this `DenormalizedTableField`. """ - query: Query + table: Table +} - """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" - orgPermissionDefaultEdge( - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultEdge +"""A `DenormalizedTableField` edge in the connection.""" +type DenormalizedTableFieldEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `DenormalizedTableField` at the end of the edge.""" + node: DenormalizedTableField } -"""All input for the create `OrgPermissionDefault` mutation.""" -input CreateOrgPermissionDefaultInput { +"""Methods to use when ordering `DenormalizedTableField`.""" +enum DenormalizedTableFieldOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + FIELD_ID_ASC + FIELD_ID_DESC + SET_IDS_ASC + SET_IDS_DESC + REF_TABLE_ID_ASC + REF_TABLE_ID_DESC + REF_FIELD_ID_ASC + REF_FIELD_ID_DESC + REF_IDS_ASC + REF_IDS_DESC + USE_UPDATES_ASC + USE_UPDATES_DESC + UPDATE_DEFAULTS_ASC + UPDATE_DEFAULTS_DESC + FUNC_NAME_ASC + FUNC_NAME_DESC + FUNC_ORDER_ASC + FUNC_ORDER_DESC +} + +"""A connection to a list of `EmailsModule` values.""" +type EmailsModuleConnection { + """A list of `EmailsModule` objects.""" + nodes: [EmailsModule]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `EmailsModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [EmailsModuleEdge]! - """The `OrgPermissionDefault` to be created by this mutation.""" - orgPermissionDefault: OrgPermissionDefaultInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `EmailsModule` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgPermissionDefault`""" -input OrgPermissionDefaultInput { - id: UUID +type EmailsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + tableId: UUID! + ownerTableId: UUID! + tableName: String! - """Default permission bitmask applied to new members""" - permissions: BitString + """Reads a single `Database` that is related to this `EmailsModule`.""" + database: Database - """References the entity these default permissions apply to""" - entityId: UUID! + """Reads a single `Table` that is related to this `EmailsModule`.""" + ownerTable: Table + + """Reads a single `Schema` that is related to this `EmailsModule`.""" + privateSchema: Schema + + """Reads a single `Schema` that is related to this `EmailsModule`.""" + schema: Schema + + """Reads a single `Table` that is related to this `EmailsModule`.""" + table: Table } -"""The output of our create `AppPermission` mutation.""" -type CreateAppPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A `EmailsModule` edge in the connection.""" +type EmailsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppPermission` that was created by this mutation.""" - appPermission: AppPermission + """The `EmailsModule` at the end of the edge.""" + node: EmailsModule +} + +"""Methods to use when ordering `EmailsModule`.""" +enum EmailsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + OWNER_TABLE_ID_ASC + OWNER_TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC +} + +"""A connection to a list of `EncryptedSecretsModule` values.""" +type EncryptedSecretsModuleConnection { + """A list of `EncryptedSecretsModule` objects.""" + nodes: [EncryptedSecretsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `EncryptedSecretsModule` and cursor to aid in pagination. """ - query: Query + edges: [EncryptedSecretsModuleEdge]! - """An edge for our `AppPermission`. May be used by Relay 1.""" - appPermissionEdge( - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `AppPermission` mutation.""" -input CreateAppPermissionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `EncryptedSecretsModule` you could get from the connection. """ - clientMutationId: String - - """The `AppPermission` to be created by this mutation.""" - appPermission: AppPermissionInput! + totalCount: Int! } -"""An input for mutations affecting `AppPermission`""" -input AppPermissionInput { - id: UUID - - """Human-readable permission name (e.g. read, write, manage)""" - name: String +type EncryptedSecretsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + tableId: UUID! + tableName: String! """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set + Reads a single `Database` that is related to this `EncryptedSecretsModule`. """ - bitnum: Int + database: Database """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + Reads a single `Schema` that is related to this `EncryptedSecretsModule`. """ - bitstr: BitString + schema: Schema - """Human-readable description of what this permission allows""" - description: String -} - -"""The output of our create `OrgPermission` mutation.""" -type CreateOrgPermissionPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Table` that is related to this `EncryptedSecretsModule`. """ - clientMutationId: String + table: Table +} - """The `OrgPermission` that was created by this mutation.""" - orgPermission: OrgPermission +"""A `EncryptedSecretsModule` edge in the connection.""" +type EncryptedSecretsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `EncryptedSecretsModule` at the end of the edge.""" + node: EncryptedSecretsModule +} - """An edge for our `OrgPermission`. May be used by Relay 1.""" - orgPermissionEdge( - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionEdge +"""Methods to use when ordering `EncryptedSecretsModule`.""" +enum EncryptedSecretsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC } -"""All input for the create `OrgPermission` mutation.""" -input CreateOrgPermissionInput { +"""A connection to a list of `InvitesModule` values.""" +type InvitesModuleConnection { + """A list of `InvitesModule` objects.""" + nodes: [InvitesModule]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `InvitesModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [InvitesModuleEdge]! - """The `OrgPermission` to be created by this mutation.""" - orgPermission: OrgPermissionInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `InvitesModule` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgPermission`""" -input OrgPermissionInput { - id: UUID +type InvitesModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + emailsTableId: UUID! + usersTableId: UUID! + invitesTableId: UUID! + claimedInvitesTableId: UUID! + invitesTableName: String! + claimedInvitesTableName: String! + submitInviteCodeFunction: String! + prefix: String + membershipType: Int! + entityTableId: UUID - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Reads a single `Table` that is related to this `InvitesModule`.""" + claimedInvitesTable: Table - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Reads a single `Database` that is related to this `InvitesModule`.""" + database: Database - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString + """Reads a single `Table` that is related to this `InvitesModule`.""" + emailsTable: Table - """Human-readable description of what this permission allows""" - description: String -} + """Reads a single `Table` that is related to this `InvitesModule`.""" + entityTable: Table -"""The output of our create `MembershipType` mutation.""" -type CreateMembershipTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `InvitesModule`.""" + invitesTable: Table - """The `MembershipType` that was created by this mutation.""" - membershipType: MembershipType + """Reads a single `Schema` that is related to this `InvitesModule`.""" + privateSchema: Schema - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `InvitesModule`.""" + schema: Schema - """An edge for our `MembershipType`. May be used by Relay 1.""" - membershipTypeEdge( - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypeEdge + """Reads a single `Table` that is related to this `InvitesModule`.""" + usersTable: Table } -"""All input for the create `MembershipType` mutation.""" -input CreateMembershipTypeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `InvitesModule` edge in the connection.""" +type InvitesModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `MembershipType` to be created by this mutation.""" - membershipType: MembershipTypeInput! + """The `InvitesModule` at the end of the edge.""" + node: InvitesModule } -"""An input for mutations affecting `MembershipType`""" -input MembershipTypeInput { - """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) - """ - id: Int! - - """Human-readable name of the membership type""" - name: String! +"""Methods to use when ordering `InvitesModule`.""" +enum InvitesModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + EMAILS_TABLE_ID_ASC + EMAILS_TABLE_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + INVITES_TABLE_ID_ASC + INVITES_TABLE_ID_DESC + CLAIMED_INVITES_TABLE_ID_ASC + CLAIMED_INVITES_TABLE_ID_DESC + INVITES_TABLE_NAME_ASC + INVITES_TABLE_NAME_DESC + CLAIMED_INVITES_TABLE_NAME_ASC + CLAIMED_INVITES_TABLE_NAME_DESC + SUBMIT_INVITE_CODE_FUNCTION_ASC + SUBMIT_INVITE_CODE_FUNCTION_DESC + PREFIX_ASC + PREFIX_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC +} - """Description of what this membership type represents""" - description: String! +"""A connection to a list of `LevelsModule` values.""" +type LevelsModuleConnection { + """A list of `LevelsModule` objects.""" + nodes: [LevelsModule]! """ - Short prefix used to namespace tables and functions for this membership scope + A list of edges which contains the `LevelsModule` and cursor to aid in pagination. """ - prefix: String! + edges: [LevelsModuleEdge]! - """ - Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) - """ - parentMembershipType: Int + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs - """ - hasUsersTableEntry: Boolean + """The count of *all* `LevelsModule` you could get from the connection.""" + totalCount: Int! } -"""The output of our create `MigrateFile` mutation.""" -type CreateMigrateFilePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +type LevelsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + stepsTableId: UUID! + stepsTableName: String! + achievementsTableId: UUID! + achievementsTableName: String! + levelsTableId: UUID! + levelsTableName: String! + levelRequirementsTableId: UUID! + levelRequirementsTableName: String! + completedStep: String! + incompletedStep: String! + tgAchievement: String! + tgAchievementToggle: String! + tgAchievementToggleBoolean: String! + tgAchievementBoolean: String! + upsertAchievement: String! + tgUpdateAchievements: String! + stepsRequired: String! + levelAchieved: String! + prefix: String + membershipType: Int! + entityTableId: UUID + actorTableId: UUID! - """The `MigrateFile` that was created by this mutation.""" - migrateFile: MigrateFile + """Reads a single `Table` that is related to this `LevelsModule`.""" + achievementsTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """Reads a single `Table` that is related to this `LevelsModule`.""" + actorTable: Table -"""All input for the create `MigrateFile` mutation.""" -input CreateMigrateFileInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Database` that is related to this `LevelsModule`.""" + database: Database - """The `MigrateFile` to be created by this mutation.""" - migrateFile: MigrateFileInput! -} + """Reads a single `Table` that is related to this `LevelsModule`.""" + entityTable: Table -"""An input for mutations affecting `MigrateFile`""" -input MigrateFileInput { - id: UUID - databaseId: UUID - upload: ConstructiveInternalTypeUpload -} + """Reads a single `Table` that is related to this `LevelsModule`.""" + levelRequirementsTable: Table -"""The output of our create `DefaultPrivilege` mutation.""" -type CreateDefaultPrivilegePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `LevelsModule`.""" + levelsTable: Table - """The `DefaultPrivilege` that was created by this mutation.""" - defaultPrivilege: DefaultPrivilege + """Reads a single `Schema` that is related to this `LevelsModule`.""" + privateSchema: Schema - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `LevelsModule`.""" + schema: Schema - """An edge for our `DefaultPrivilege`. May be used by Relay 1.""" - defaultPrivilegeEdge( - """The method to use when ordering `DefaultPrivilege`.""" - orderBy: [DefaultPrivilegeOrderBy!]! = [PRIMARY_KEY_ASC] - ): DefaultPrivilegeEdge + """Reads a single `Table` that is related to this `LevelsModule`.""" + stepsTable: Table } -"""All input for the create `DefaultPrivilege` mutation.""" -input CreateDefaultPrivilegeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `LevelsModule` edge in the connection.""" +type LevelsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `DefaultPrivilege` to be created by this mutation.""" - defaultPrivilege: DefaultPrivilegeInput! + """The `LevelsModule` at the end of the edge.""" + node: LevelsModule } -"""An input for mutations affecting `DefaultPrivilege`""" -input DefaultPrivilegeInput { - id: UUID - databaseId: UUID - schemaId: UUID! - objectType: String! - privilege: String! - granteeName: String! - isGrant: Boolean +"""Methods to use when ordering `LevelsModule`.""" +enum LevelsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + STEPS_TABLE_ID_ASC + STEPS_TABLE_ID_DESC + STEPS_TABLE_NAME_ASC + STEPS_TABLE_NAME_DESC + ACHIEVEMENTS_TABLE_ID_ASC + ACHIEVEMENTS_TABLE_ID_DESC + ACHIEVEMENTS_TABLE_NAME_ASC + ACHIEVEMENTS_TABLE_NAME_DESC + LEVELS_TABLE_ID_ASC + LEVELS_TABLE_ID_DESC + LEVELS_TABLE_NAME_ASC + LEVELS_TABLE_NAME_DESC + LEVEL_REQUIREMENTS_TABLE_ID_ASC + LEVEL_REQUIREMENTS_TABLE_ID_DESC + LEVEL_REQUIREMENTS_TABLE_NAME_ASC + LEVEL_REQUIREMENTS_TABLE_NAME_DESC + COMPLETED_STEP_ASC + COMPLETED_STEP_DESC + INCOMPLETED_STEP_ASC + INCOMPLETED_STEP_DESC + TG_ACHIEVEMENT_ASC + TG_ACHIEVEMENT_DESC + TG_ACHIEVEMENT_TOGGLE_ASC + TG_ACHIEVEMENT_TOGGLE_DESC + TG_ACHIEVEMENT_TOGGLE_BOOLEAN_ASC + TG_ACHIEVEMENT_TOGGLE_BOOLEAN_DESC + TG_ACHIEVEMENT_BOOLEAN_ASC + TG_ACHIEVEMENT_BOOLEAN_DESC + UPSERT_ACHIEVEMENT_ASC + UPSERT_ACHIEVEMENT_DESC + TG_UPDATE_ACHIEVEMENTS_ASC + TG_UPDATE_ACHIEVEMENTS_DESC + STEPS_REQUIRED_ASC + STEPS_REQUIRED_DESC + LEVEL_ACHIEVED_ASC + LEVEL_ACHIEVED_DESC + PREFIX_ASC + PREFIX_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + ACTOR_TABLE_ID_ASC + ACTOR_TABLE_ID_DESC } -"""The output of our create `ViewGrant` mutation.""" -type CreateViewGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `ViewGrant` that was created by this mutation.""" - viewGrant: ViewGrant +"""A connection to a list of `LimitsModule` values.""" +type LimitsModuleConnection { + """A list of `LimitsModule` objects.""" + nodes: [LimitsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `LimitsModule` and cursor to aid in pagination. """ - query: Query - - """An edge for our `ViewGrant`. May be used by Relay 1.""" - viewGrantEdge( - """The method to use when ordering `ViewGrant`.""" - orderBy: [ViewGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewGrantEdge -} + edges: [LimitsModuleEdge]! -"""All input for the create `ViewGrant` mutation.""" -input CreateViewGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `ViewGrant` to be created by this mutation.""" - viewGrant: ViewGrantInput! + """The count of *all* `LimitsModule` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `ViewGrant`""" -input ViewGrantInput { - id: UUID - databaseId: UUID - viewId: UUID! - granteeName: String! - privilege: String! - withGrantOption: Boolean - isGrant: Boolean -} +type LimitsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + tableId: UUID! + tableName: String! + defaultTableId: UUID! + defaultTableName: String! + limitIncrementFunction: String! + limitDecrementFunction: String! + limitIncrementTrigger: String! + limitDecrementTrigger: String! + limitUpdateTrigger: String! + limitCheckFunction: String! + limitCreditsTableId: UUID + eventsTableId: UUID + creditCodesTableId: UUID + creditCodeItemsTableId: UUID + creditRedemptionsTableId: UUID + aggregateTableId: UUID + limitCapsTableId: UUID + limitCapsDefaultsTableId: UUID + capCheckTrigger: String! + resolveCapFunction: String! + prefix: String + membershipType: Int! + entityTableId: UUID + actorTableId: UUID! -"""The output of our create `Api` mutation.""" -type CreateApiPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `LimitsModule`.""" + actorTable: Table - """The `Api` that was created by this mutation.""" - api: Api + """Reads a single `Table` that is related to this `LimitsModule`.""" + aggregateTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `LimitsModule`.""" + creditCodeItemsTable: Table - """An edge for our `Api`. May be used by Relay 1.""" - apiEdge( - """The method to use when ordering `Api`.""" - orderBy: [ApiOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiEdge -} + """Reads a single `Table` that is related to this `LimitsModule`.""" + creditCodesTable: Table -"""All input for the create `Api` mutation.""" -input CreateApiInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `LimitsModule`.""" + creditRedemptionsTable: Table - """The `Api` to be created by this mutation.""" - api: ApiInput! -} + """Reads a single `Database` that is related to this `LimitsModule`.""" + database: Database -"""An input for mutations affecting `Api`""" -input ApiInput { - """Unique identifier for this API""" - id: UUID + """Reads a single `Table` that is related to this `LimitsModule`.""" + defaultTable: Table - """Reference to the metaschema database this API serves""" - databaseId: UUID! + """Reads a single `Table` that is related to this `LimitsModule`.""" + entityTable: Table - """Unique name for this API within its database""" - name: String! + """Reads a single `Table` that is related to this `LimitsModule`.""" + eventsTable: Table - """PostgreSQL database name to connect to""" - dbname: String + """Reads a single `Table` that is related to this `LimitsModule`.""" + limitCapsDefaultsTable: Table - """PostgreSQL role used for authenticated requests""" - roleName: String + """Reads a single `Table` that is related to this `LimitsModule`.""" + limitCapsTable: Table - """PostgreSQL role used for anonymous/unauthenticated requests""" - anonRole: String + """Reads a single `Table` that is related to this `LimitsModule`.""" + limitCreditsTable: Table - """Whether this API is publicly accessible without authentication""" - isPublic: Boolean -} - -"""The output of our create `ConnectedAccountsModule` mutation.""" -type CreateConnectedAccountsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `ConnectedAccountsModule` that was created by this mutation.""" - connectedAccountsModule: ConnectedAccountsModule + """Reads a single `Schema` that is related to this `LimitsModule`.""" + privateSchema: Schema - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `LimitsModule`.""" + schema: Schema - """An edge for our `ConnectedAccountsModule`. May be used by Relay 1.""" - connectedAccountsModuleEdge( - """The method to use when ordering `ConnectedAccountsModule`.""" - orderBy: [ConnectedAccountsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ConnectedAccountsModuleEdge + """Reads a single `Table` that is related to this `LimitsModule`.""" + table: Table } -"""All input for the create `ConnectedAccountsModule` mutation.""" -input CreateConnectedAccountsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `LimitsModule` edge in the connection.""" +type LimitsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `ConnectedAccountsModule` to be created by this mutation.""" - connectedAccountsModule: ConnectedAccountsModuleInput! + """The `LimitsModule` at the end of the edge.""" + node: LimitsModule } -"""An input for mutations affecting `ConnectedAccountsModule`""" -input ConnectedAccountsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String! +"""Methods to use when ordering `LimitsModule`.""" +enum LimitsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + DEFAULT_TABLE_ID_ASC + DEFAULT_TABLE_ID_DESC + DEFAULT_TABLE_NAME_ASC + DEFAULT_TABLE_NAME_DESC + LIMIT_INCREMENT_FUNCTION_ASC + LIMIT_INCREMENT_FUNCTION_DESC + LIMIT_DECREMENT_FUNCTION_ASC + LIMIT_DECREMENT_FUNCTION_DESC + LIMIT_INCREMENT_TRIGGER_ASC + LIMIT_INCREMENT_TRIGGER_DESC + LIMIT_DECREMENT_TRIGGER_ASC + LIMIT_DECREMENT_TRIGGER_DESC + LIMIT_UPDATE_TRIGGER_ASC + LIMIT_UPDATE_TRIGGER_DESC + LIMIT_CHECK_FUNCTION_ASC + LIMIT_CHECK_FUNCTION_DESC + LIMIT_CREDITS_TABLE_ID_ASC + LIMIT_CREDITS_TABLE_ID_DESC + EVENTS_TABLE_ID_ASC + EVENTS_TABLE_ID_DESC + CREDIT_CODES_TABLE_ID_ASC + CREDIT_CODES_TABLE_ID_DESC + CREDIT_CODE_ITEMS_TABLE_ID_ASC + CREDIT_CODE_ITEMS_TABLE_ID_DESC + CREDIT_REDEMPTIONS_TABLE_ID_ASC + CREDIT_REDEMPTIONS_TABLE_ID_DESC + AGGREGATE_TABLE_ID_ASC + AGGREGATE_TABLE_ID_DESC + LIMIT_CAPS_TABLE_ID_ASC + LIMIT_CAPS_TABLE_ID_DESC + LIMIT_CAPS_DEFAULTS_TABLE_ID_ASC + LIMIT_CAPS_DEFAULTS_TABLE_ID_DESC + CAP_CHECK_TRIGGER_ASC + CAP_CHECK_TRIGGER_DESC + RESOLVE_CAP_FUNCTION_ASC + RESOLVE_CAP_FUNCTION_DESC + PREFIX_ASC + PREFIX_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + ACTOR_TABLE_ID_ASC + ACTOR_TABLE_ID_DESC } -"""The output of our create `DevicesModule` mutation.""" -type CreateDevicesModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `DevicesModule` that was created by this mutation.""" - devicesModule: DevicesModule +"""A connection to a list of `MembershipTypesModule` values.""" +type MembershipTypesModuleConnection { + """A list of `MembershipTypesModule` objects.""" + nodes: [MembershipTypesModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `MembershipTypesModule` and cursor to aid in pagination. """ - query: Query + edges: [MembershipTypesModuleEdge]! - """An edge for our `DevicesModule`. May be used by Relay 1.""" - devicesModuleEdge( - """The method to use when ordering `DevicesModule`.""" - orderBy: [DevicesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DevicesModuleEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `DevicesModule` mutation.""" -input CreateDevicesModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `MembershipTypesModule` you could get from the connection. """ - clientMutationId: String - - """The `DevicesModule` to be created by this mutation.""" - devicesModule: DevicesModuleInput! + totalCount: Int! } -"""An input for mutations affecting `DevicesModule`""" -input DevicesModuleInput { - id: UUID +type MembershipTypesModule { + id: UUID! databaseId: UUID! - schemaId: UUID - userDevicesTableId: UUID - deviceSettingsTableId: UUID - userDevicesTable: String - deviceSettingsTable: String -} + schemaId: UUID! + tableId: UUID! + tableName: String! -"""The output of our create `EmailsModule` mutation.""" -type CreateEmailsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Database` that is related to this `MembershipTypesModule`. """ - clientMutationId: String - - """The `EmailsModule` that was created by this mutation.""" - emailsModule: EmailsModule + database: Database """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Schema` that is related to this `MembershipTypesModule`. """ - query: Query - - """An edge for our `EmailsModule`. May be used by Relay 1.""" - emailsModuleEdge( - """The method to use when ordering `EmailsModule`.""" - orderBy: [EmailsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailsModuleEdge -} + schema: Schema -"""All input for the create `EmailsModule` mutation.""" -input CreateEmailsModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `Table` that is related to this `MembershipTypesModule`. """ - clientMutationId: String - - """The `EmailsModule` to be created by this mutation.""" - emailsModule: EmailsModuleInput! + table: Table } -"""An input for mutations affecting `EmailsModule`""" -input EmailsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String! +"""A `MembershipTypesModule` edge in the connection.""" +type MembershipTypesModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `MembershipTypesModule` at the end of the edge.""" + node: MembershipTypesModule } -"""The output of our create `PhoneNumbersModule` mutation.""" -type CreatePhoneNumbersModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `MembershipTypesModule`.""" +enum MembershipTypesModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC +} - """The `PhoneNumbersModule` that was created by this mutation.""" - phoneNumbersModule: PhoneNumbersModule +"""A connection to a list of `MembershipsModule` values.""" +type MembershipsModuleConnection { + """A list of `MembershipsModule` objects.""" + nodes: [MembershipsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `MembershipsModule` and cursor to aid in pagination. """ - query: Query + edges: [MembershipsModuleEdge]! - """An edge for our `PhoneNumbersModule`. May be used by Relay 1.""" - phoneNumbersModuleEdge( - """The method to use when ordering `PhoneNumbersModule`.""" - orderBy: [PhoneNumbersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumbersModuleEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `PhoneNumbersModule` mutation.""" -input CreatePhoneNumbersModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `MembershipsModule` you could get from the connection. """ - clientMutationId: String - - """The `PhoneNumbersModule` to be created by this mutation.""" - phoneNumbersModule: PhoneNumbersModuleInput! + totalCount: Int! } -"""An input for mutations affecting `PhoneNumbersModule`""" -input PhoneNumbersModuleInput { - id: UUID +type MembershipsModule { + id: UUID! databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String! -} + schemaId: UUID! + privateSchemaId: UUID! + membershipsTableId: UUID! + membershipsTableName: String! + membersTableId: UUID! + membersTableName: String! + membershipDefaultsTableId: UUID! + membershipDefaultsTableName: String! + membershipSettingsTableId: UUID + membershipSettingsTableName: String! + grantsTableId: UUID! + grantsTableName: String! + actorTableId: UUID! + limitsTableId: UUID! + defaultLimitsTableId: UUID! + permissionsTableId: UUID! + defaultPermissionsTableId: UUID! + sprtTableId: UUID! + adminGrantsTableId: UUID! + adminGrantsTableName: String! + ownerGrantsTableId: UUID! + ownerGrantsTableName: String! + membershipType: Int! + entityTableId: UUID + entityTableOwnerId: UUID + prefix: String + actorMaskCheck: String! + actorPermCheck: String! + entityIdsByMask: String + entityIdsByPerm: String + entityIdsFunction: String + memberProfilesTableId: UUID -"""The output of our create `UsersModule` mutation.""" -type CreateUsersModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `MembershipsModule`.""" + actorTable: Table - """The `UsersModule` that was created by this mutation.""" - usersModule: UsersModule + """Reads a single `Database` that is related to this `MembershipsModule`.""" + database: Database - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `MembershipsModule`.""" + defaultLimitsTable: Table - """An edge for our `UsersModule`. May be used by Relay 1.""" - usersModuleEdge( - """The method to use when ordering `UsersModule`.""" - orderBy: [UsersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): UsersModuleEdge -} + """Reads a single `Table` that is related to this `MembershipsModule`.""" + defaultPermissionsTable: Table -"""All input for the create `UsersModule` mutation.""" -input CreateUsersModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `MembershipsModule`.""" + entityTable: Table - """The `UsersModule` to be created by this mutation.""" - usersModule: UsersModuleInput! -} + """Reads a single `Field` that is related to this `MembershipsModule`.""" + entityTableOwner: Field -"""An input for mutations affecting `UsersModule`""" -input UsersModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - tableId: UUID - tableName: String - typeTableId: UUID - typeTableName: String -} + """Reads a single `Table` that is related to this `MembershipsModule`.""" + grantsTable: Table -"""The output of our create `WebauthnCredentialsModule` mutation.""" -type CreateWebauthnCredentialsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `MembershipsModule`.""" + limitsTable: Table - """The `WebauthnCredentialsModule` that was created by this mutation.""" - webauthnCredentialsModule: WebauthnCredentialsModule + """Reads a single `Table` that is related to this `MembershipsModule`.""" + membersTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `MembershipsModule`.""" + membershipDefaultsTable: Table - """An edge for our `WebauthnCredentialsModule`. May be used by Relay 1.""" - webauthnCredentialsModuleEdge( - """The method to use when ordering `WebauthnCredentialsModule`.""" - orderBy: [WebauthnCredentialsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialsModuleEdge -} + """Reads a single `Table` that is related to this `MembershipsModule`.""" + membershipSettingsTable: Table -"""All input for the create `WebauthnCredentialsModule` mutation.""" -input CreateWebauthnCredentialsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `MembershipsModule`.""" + membershipsTable: Table - """The `WebauthnCredentialsModule` to be created by this mutation.""" - webauthnCredentialsModule: WebauthnCredentialsModuleInput! + """Reads a single `Table` that is related to this `MembershipsModule`.""" + permissionsTable: Table + + """Reads a single `Schema` that is related to this `MembershipsModule`.""" + privateSchema: Schema + + """Reads a single `Schema` that is related to this `MembershipsModule`.""" + schema: Schema + + """Reads a single `Table` that is related to this `MembershipsModule`.""" + sprtTable: Table } -"""An input for mutations affecting `WebauthnCredentialsModule`""" -input WebauthnCredentialsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID +"""A `MembershipsModule` edge in the connection.""" +type MembershipsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Private schema that hosts SECURITY DEFINER helpers which write to webauthn_credentials (registration / counter-bump / delete). - """ - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String + """The `MembershipsModule` at the end of the edge.""" + node: MembershipsModule } -"""The output of our create `OrgAdminGrant` mutation.""" -type CreateOrgAdminGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `MembershipsModule`.""" +enum MembershipsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + MEMBERSHIPS_TABLE_ID_ASC + MEMBERSHIPS_TABLE_ID_DESC + MEMBERSHIPS_TABLE_NAME_ASC + MEMBERSHIPS_TABLE_NAME_DESC + MEMBERS_TABLE_ID_ASC + MEMBERS_TABLE_ID_DESC + MEMBERS_TABLE_NAME_ASC + MEMBERS_TABLE_NAME_DESC + MEMBERSHIP_DEFAULTS_TABLE_ID_ASC + MEMBERSHIP_DEFAULTS_TABLE_ID_DESC + MEMBERSHIP_DEFAULTS_TABLE_NAME_ASC + MEMBERSHIP_DEFAULTS_TABLE_NAME_DESC + MEMBERSHIP_SETTINGS_TABLE_ID_ASC + MEMBERSHIP_SETTINGS_TABLE_ID_DESC + MEMBERSHIP_SETTINGS_TABLE_NAME_ASC + MEMBERSHIP_SETTINGS_TABLE_NAME_DESC + GRANTS_TABLE_ID_ASC + GRANTS_TABLE_ID_DESC + GRANTS_TABLE_NAME_ASC + GRANTS_TABLE_NAME_DESC + ACTOR_TABLE_ID_ASC + ACTOR_TABLE_ID_DESC + LIMITS_TABLE_ID_ASC + LIMITS_TABLE_ID_DESC + DEFAULT_LIMITS_TABLE_ID_ASC + DEFAULT_LIMITS_TABLE_ID_DESC + PERMISSIONS_TABLE_ID_ASC + PERMISSIONS_TABLE_ID_DESC + DEFAULT_PERMISSIONS_TABLE_ID_ASC + DEFAULT_PERMISSIONS_TABLE_ID_DESC + SPRT_TABLE_ID_ASC + SPRT_TABLE_ID_DESC + ADMIN_GRANTS_TABLE_ID_ASC + ADMIN_GRANTS_TABLE_ID_DESC + ADMIN_GRANTS_TABLE_NAME_ASC + ADMIN_GRANTS_TABLE_NAME_DESC + OWNER_GRANTS_TABLE_ID_ASC + OWNER_GRANTS_TABLE_ID_DESC + OWNER_GRANTS_TABLE_NAME_ASC + OWNER_GRANTS_TABLE_NAME_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + ENTITY_TABLE_OWNER_ID_ASC + ENTITY_TABLE_OWNER_ID_DESC + PREFIX_ASC + PREFIX_DESC + ACTOR_MASK_CHECK_ASC + ACTOR_MASK_CHECK_DESC + ACTOR_PERM_CHECK_ASC + ACTOR_PERM_CHECK_DESC + ENTITY_IDS_BY_MASK_ASC + ENTITY_IDS_BY_MASK_DESC + ENTITY_IDS_BY_PERM_ASC + ENTITY_IDS_BY_PERM_DESC + ENTITY_IDS_FUNCTION_ASC + ENTITY_IDS_FUNCTION_DESC + MEMBER_PROFILES_TABLE_ID_ASC + MEMBER_PROFILES_TABLE_ID_DESC +} - """The `OrgAdminGrant` that was created by this mutation.""" - orgAdminGrant: OrgAdminGrant +"""A connection to a list of `PermissionsModule` values.""" +type PermissionsModuleConnection { + """A list of `PermissionsModule` objects.""" + nodes: [PermissionsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `PermissionsModule` and cursor to aid in pagination. """ - query: Query + edges: [PermissionsModuleEdge]! - """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" - orgAdminGrantEdge( - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgAdminGrantEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `OrgAdminGrant` mutation.""" -input CreateOrgAdminGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `PermissionsModule` you could get from the connection. """ - clientMutationId: String + totalCount: Int! +} - """The `OrgAdminGrant` to be created by this mutation.""" - orgAdminGrant: OrgAdminGrantInput! -} - -"""An input for mutations affecting `OrgAdminGrant`""" -input OrgAdminGrantInput { - id: UUID +type PermissionsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + tableId: UUID! + tableName: String! + defaultTableId: UUID! + defaultTableName: String! + bitlen: Int! + membershipType: Int! + entityTableId: UUID + actorTableId: UUID! + prefix: String + getPaddedMask: String! + getMask: String! + getByMask: String! + getMaskByName: String! - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Reads a single `Table` that is related to this `PermissionsModule`.""" + actorTable: Table - """The member receiving or losing the admin grant""" - actorId: UUID! + """Reads a single `Database` that is related to this `PermissionsModule`.""" + database: Database - """The entity (org or group) this admin grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Table` that is related to this `PermissionsModule`.""" + defaultTable: Table -"""The output of our create `OrgOwnerGrant` mutation.""" -type CreateOrgOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `PermissionsModule`.""" + entityTable: Table - """The `OrgOwnerGrant` that was created by this mutation.""" - orgOwnerGrant: OrgOwnerGrant + """Reads a single `Schema` that is related to this `PermissionsModule`.""" + privateSchema: Schema - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `PermissionsModule`.""" + schema: Schema - """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" - orgOwnerGrantEdge( - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantEdge + """Reads a single `Table` that is related to this `PermissionsModule`.""" + table: Table } -"""All input for the create `OrgOwnerGrant` mutation.""" -input CreateOrgOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `PermissionsModule` edge in the connection.""" +type PermissionsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `OrgOwnerGrant` to be created by this mutation.""" - orgOwnerGrant: OrgOwnerGrantInput! + """The `PermissionsModule` at the end of the edge.""" + node: PermissionsModule } -"""An input for mutations affecting `OrgOwnerGrant`""" -input OrgOwnerGrantInput { - id: UUID - - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean - - """The member receiving or losing the ownership grant""" - actorId: UUID! - - """The entity (org or group) this ownership grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `PermissionsModule`.""" +enum PermissionsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + DEFAULT_TABLE_ID_ASC + DEFAULT_TABLE_ID_DESC + DEFAULT_TABLE_NAME_ASC + DEFAULT_TABLE_NAME_DESC + BITLEN_ASC + BITLEN_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + ACTOR_TABLE_ID_ASC + ACTOR_TABLE_ID_DESC + PREFIX_ASC + PREFIX_DESC + GET_PADDED_MASK_ASC + GET_PADDED_MASK_DESC + GET_MASK_ASC + GET_MASK_DESC + GET_BY_MASK_ASC + GET_BY_MASK_DESC + GET_MASK_BY_NAME_ASC + GET_MASK_BY_NAME_DESC } -"""The output of our create `NodeTypeRegistry` mutation.""" -type CreateNodeTypeRegistryPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `NodeTypeRegistry` that was created by this mutation.""" - nodeTypeRegistry: NodeTypeRegistry +"""A connection to a list of `PhoneNumbersModule` values.""" +type PhoneNumbersModuleConnection { + """A list of `PhoneNumbersModule` objects.""" + nodes: [PhoneNumbersModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `PhoneNumbersModule` and cursor to aid in pagination. """ - query: Query + edges: [PhoneNumbersModuleEdge]! - """An edge for our `NodeTypeRegistry`. May be used by Relay 1.""" - nodeTypeRegistryEdge( - """The method to use when ordering `NodeTypeRegistry`.""" - orderBy: [NodeTypeRegistryOrderBy!]! = [PRIMARY_KEY_ASC] - ): NodeTypeRegistryEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `NodeTypeRegistry` mutation.""" -input CreateNodeTypeRegistryInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `PhoneNumbersModule` you could get from the connection. """ - clientMutationId: String - - """The `NodeTypeRegistry` to be created by this mutation.""" - nodeTypeRegistry: NodeTypeRegistryInput! + totalCount: Int! } -"""An input for mutations affecting `NodeTypeRegistry`""" -input NodeTypeRegistryInput { - name: String! - slug: String! - category: String! - displayName: String - description: String - parameterSchema: JSON - tags: [String] -} +type PhoneNumbersModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + tableId: UUID! + ownerTableId: UUID! + tableName: String! -"""The output of our create `AppLimitDefault` mutation.""" -type CreateAppLimitDefaultPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Database` that is related to this `PhoneNumbersModule`. """ - clientMutationId: String + database: Database - """The `AppLimitDefault` that was created by this mutation.""" - appLimitDefault: AppLimitDefault + """Reads a single `Table` that is related to this `PhoneNumbersModule`.""" + ownerTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `PhoneNumbersModule`.""" + privateSchema: Schema - """An edge for our `AppLimitDefault`. May be used by Relay 1.""" - appLimitDefaultEdge( - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitDefaultEdge + """Reads a single `Schema` that is related to this `PhoneNumbersModule`.""" + schema: Schema + + """Reads a single `Table` that is related to this `PhoneNumbersModule`.""" + table: Table } -"""All input for the create `AppLimitDefault` mutation.""" -input CreateAppLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `PhoneNumbersModule` edge in the connection.""" +type PhoneNumbersModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppLimitDefault` to be created by this mutation.""" - appLimitDefault: AppLimitDefaultInput! + """The `PhoneNumbersModule` at the end of the edge.""" + node: PhoneNumbersModule } -"""An input for mutations affecting `AppLimitDefault`""" -input AppLimitDefaultInput { - id: UUID +"""Methods to use when ordering `PhoneNumbersModule`.""" +enum PhoneNumbersModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + OWNER_TABLE_ID_ASC + OWNER_TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC +} - """Name identifier of the limit this default applies to""" - name: String! +"""A connection to a list of `ProfilesModule` values.""" +type ProfilesModuleConnection { + """A list of `ProfilesModule` objects.""" + nodes: [ProfilesModule]! - """Default maximum usage allowed for this limit""" - max: BigInt + """ + A list of edges which contains the `ProfilesModule` and cursor to aid in pagination. + """ + edges: [ProfilesModuleEdge]! - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `ProfilesModule` you could get from the connection.""" + totalCount: Int! } -"""The output of our create `OrgLimitDefault` mutation.""" -type CreateOrgLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +type ProfilesModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + tableId: UUID! + tableName: String! + profilePermissionsTableId: UUID! + profilePermissionsTableName: String! + profileGrantsTableId: UUID! + profileGrantsTableName: String! + profileDefinitionGrantsTableId: UUID! + profileDefinitionGrantsTableName: String! + profileTemplatesTableId: UUID! + profileTemplatesTableName: String! + membershipType: Int! + entityTableId: UUID + actorTableId: UUID! + permissionsTableId: UUID! + membershipsTableId: UUID! + prefix: String - """The `OrgLimitDefault` that was created by this mutation.""" - orgLimitDefault: OrgLimitDefault + """Reads a single `Table` that is related to this `ProfilesModule`.""" + actorTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Database` that is related to this `ProfilesModule`.""" + database: Database - """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" - orgLimitDefaultEdge( - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultEdge -} + """Reads a single `Table` that is related to this `ProfilesModule`.""" + entityTable: Table -"""All input for the create `OrgLimitDefault` mutation.""" -input CreateOrgLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `ProfilesModule`.""" + membershipsTable: Table - """The `OrgLimitDefault` to be created by this mutation.""" - orgLimitDefault: OrgLimitDefaultInput! -} + """Reads a single `Table` that is related to this `ProfilesModule`.""" + permissionsTable: Table -"""An input for mutations affecting `OrgLimitDefault`""" -input OrgLimitDefaultInput { - id: UUID + """Reads a single `Schema` that is related to this `ProfilesModule`.""" + privateSchema: Schema - """Name identifier of the limit this default applies to""" - name: String! + """Reads a single `Table` that is related to this `ProfilesModule`.""" + profileDefinitionGrantsTable: Table - """Default maximum usage allowed for this limit""" - max: BigInt + """Reads a single `Table` that is related to this `ProfilesModule`.""" + profileGrantsTable: Table - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """Reads a single `Table` that is related to this `ProfilesModule`.""" + profilePermissionsTable: Table -"""The output of our create `UserConnectedAccount` mutation.""" -type CreateUserConnectedAccountPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `ProfilesModule`.""" + profileTemplatesTable: Table - """The `UserConnectedAccount` that was created by this mutation.""" - userConnectedAccount: UserConnectedAccount + """Reads a single `Schema` that is related to this `ProfilesModule`.""" + schema: Schema - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `ProfilesModule`.""" + table: Table } -"""All input for the create `UserConnectedAccount` mutation.""" -input CreateUserConnectedAccountInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `ProfilesModule` edge in the connection.""" +type ProfilesModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `UserConnectedAccount` to be created by this mutation.""" - userConnectedAccount: UserConnectedAccountInput! + """The `ProfilesModule` at the end of the edge.""" + node: ProfilesModule } -"""An input for mutations affecting `UserConnectedAccount`""" -input UserConnectedAccountInput { - id: UUID - ownerId: UUID - service: String - identifier: String - details: JSON - isVerified: Boolean - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `ProfilesModule`.""" +enum ProfilesModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + PROFILE_PERMISSIONS_TABLE_ID_ASC + PROFILE_PERMISSIONS_TABLE_ID_DESC + PROFILE_PERMISSIONS_TABLE_NAME_ASC + PROFILE_PERMISSIONS_TABLE_NAME_DESC + PROFILE_GRANTS_TABLE_ID_ASC + PROFILE_GRANTS_TABLE_ID_DESC + PROFILE_GRANTS_TABLE_NAME_ASC + PROFILE_GRANTS_TABLE_NAME_DESC + PROFILE_DEFINITION_GRANTS_TABLE_ID_ASC + PROFILE_DEFINITION_GRANTS_TABLE_ID_DESC + PROFILE_DEFINITION_GRANTS_TABLE_NAME_ASC + PROFILE_DEFINITION_GRANTS_TABLE_NAME_DESC + PROFILE_TEMPLATES_TABLE_ID_ASC + PROFILE_TEMPLATES_TABLE_ID_DESC + PROFILE_TEMPLATES_TABLE_NAME_ASC + PROFILE_TEMPLATES_TABLE_NAME_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + ACTOR_TABLE_ID_ASC + ACTOR_TABLE_ID_DESC + PERMISSIONS_TABLE_ID_ASC + PERMISSIONS_TABLE_ID_DESC + MEMBERSHIPS_TABLE_ID_ASC + MEMBERSHIPS_TABLE_ID_DESC + PREFIX_ASC + PREFIX_DESC } -"""The output of our create `Database` mutation.""" -type CreateDatabasePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +type RlsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + sessionCredentialsTableId: UUID! + sessionsTableId: UUID! + usersTableId: UUID! + authenticate: String! + authenticateStrict: String! + currentRole: String! + currentRoleId: String! - """The `Database` that was created by this mutation.""" + """Reads a single `Database` that is related to this `RlsModule`.""" database: Database - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `RlsModule`.""" + privateSchema: Schema - """An edge for our `Database`. May be used by Relay 1.""" - databaseEdge( - """The method to use when ordering `Database`.""" - orderBy: [DatabaseOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseEdge + """Reads a single `Schema` that is related to this `RlsModule`.""" + schema: Schema + + """Reads a single `Table` that is related to this `RlsModule`.""" + sessionCredentialsTable: Table + + """Reads a single `Table` that is related to this `RlsModule`.""" + sessionsTable: Table + + """Reads a single `Table` that is related to this `RlsModule`.""" + usersTable: Table } -"""All input for the create `Database` mutation.""" -input CreateDatabaseInput { +"""A connection to a list of `SecretsModule` values.""" +type SecretsModuleConnection { + """A list of `SecretsModule` objects.""" + nodes: [SecretsModule]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `SecretsModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [SecretsModuleEdge]! - """The `Database` to be created by this mutation.""" - database: DatabaseInput! -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""An input for mutations affecting `Database`""" -input DatabaseInput { - id: UUID - ownerId: UUID - schemaHash: String - name: String - label: String - hash: UUID - createdAt: Datetime - updatedAt: Datetime + """The count of *all* `SecretsModule` you could get from the connection.""" + totalCount: Int! } -"""The output of our create `CryptoAddressesModule` mutation.""" -type CreateCryptoAddressesModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +type SecretsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + tableId: UUID! + tableName: String! - """The `CryptoAddressesModule` that was created by this mutation.""" - cryptoAddressesModule: CryptoAddressesModule + """Reads a single `Database` that is related to this `SecretsModule`.""" + database: Database - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `SecretsModule`.""" + schema: Schema - """An edge for our `CryptoAddressesModule`. May be used by Relay 1.""" - cryptoAddressesModuleEdge( - """The method to use when ordering `CryptoAddressesModule`.""" - orderBy: [CryptoAddressesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressesModuleEdge + """Reads a single `Table` that is related to this `SecretsModule`.""" + table: Table } -"""All input for the create `CryptoAddressesModule` mutation.""" -input CreateCryptoAddressesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `SecretsModule` edge in the connection.""" +type SecretsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `CryptoAddressesModule` to be created by this mutation.""" - cryptoAddressesModule: CryptoAddressesModuleInput! + """The `SecretsModule` at the end of the edge.""" + node: SecretsModule } -"""An input for mutations affecting `CryptoAddressesModule`""" -input CryptoAddressesModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String! - cryptoNetwork: String +"""Methods to use when ordering `SecretsModule`.""" +enum SecretsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC } -"""The output of our create `CryptoAddress` mutation.""" -type CreateCryptoAddressPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `CryptoAddress` that was created by this mutation.""" - cryptoAddress: CryptoAddress +"""A connection to a list of `SessionsModule` values.""" +type SessionsModuleConnection { + """A list of `SessionsModule` objects.""" + nodes: [SessionsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `SessionsModule` and cursor to aid in pagination. """ - query: Query - - """An edge for our `CryptoAddress`. May be used by Relay 1.""" - cryptoAddressEdge( - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressEdge -} + edges: [SessionsModuleEdge]! -"""All input for the create `CryptoAddress` mutation.""" -input CreateCryptoAddressInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `CryptoAddress` to be created by this mutation.""" - cryptoAddress: CryptoAddressInput! + """The count of *all* `SessionsModule` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `CryptoAddress`""" -input CryptoAddressInput { - id: UUID - ownerId: UUID - - """ - The cryptocurrency wallet address, validated against network-specific patterns - """ - address: String! - - """Whether ownership of this address has been cryptographically verified""" - isVerified: Boolean +type SessionsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + sessionsTableId: UUID! + sessionCredentialsTableId: UUID! + authSettingsTableId: UUID! + usersTableId: UUID! + sessionsDefaultExpiration: Interval! + sessionsTable: String! + sessionCredentialsTable: String! + authSettingsTable: String! - """Whether this is the user's primary cryptocurrency address""" - isPrimary: Boolean + """Reads a single `Table` that is related to this `SessionsModule`.""" + authSettingsTableByAuthSettingsTableId: Table - """ - Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). - """ - name: String - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Database` that is related to this `SessionsModule`.""" + database: Database -"""The output of our create `AgentMessage` mutation.""" -type CreateAgentMessagePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Schema` that is related to this `SessionsModule`.""" + schema: Schema - """The `AgentMessage` that was created by this mutation.""" - agentMessage: AgentMessage + """Reads a single `Table` that is related to this `SessionsModule`.""" + sessionCredentialsTableBySessionCredentialsTableId: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `SessionsModule`.""" + sessionsTableBySessionsTableId: Table - """An edge for our `AgentMessage`. May be used by Relay 1.""" - agentMessageEdge( - """The method to use when ordering `AgentMessage`.""" - orderBy: [AgentMessageOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentMessageEdge + """Reads a single `Table` that is related to this `SessionsModule`.""" + usersTable: Table } -"""All input for the create `AgentMessage` mutation.""" -input CreateAgentMessageInput { +""" +An interval of time that has passed where the smallest distinct unit is a second. +""" +type Interval { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A quantity of seconds. This is the only non-integer field, as all the other + fields will dump their overflow into a smaller unit of time. Intervals don’t + have a smaller unit than seconds. """ - clientMutationId: String - - """The `AgentMessage` to be created by this mutation.""" - agentMessage: AgentMessageInput! -} + seconds: Float -"""An input for mutations affecting `AgentMessage`""" -input AgentMessageInput { - """ - Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. - """ - threadId: UUID! + """A quantity of minutes.""" + minutes: Int - """ - Entity (org/group/personal-org id) this message is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger, which copies it from agent_thread.entity_id via thread_id; the application never sets this column directly. Used for org-scoped grouping queries (e.g. 'all my messages in org X'), NOT for RLS — RLS is owner-only. - """ - entityId: UUID! + """A quantity of hours.""" + hours: Int - """ - Who authored this message: 'user' or 'assistant'. Stored as free-text (no CHECK) so additional roles can be introduced without migration. Tool inputs/outputs do NOT get their own role — they appear as ToolPart entries inside the assistant message's `parts` array. - """ - authorRole: String! - id: UUID + """A quantity of days.""" + days: Int - """Timestamp when this record was created""" - createdAt: Datetime + """A quantity of months.""" + months: Int - """Timestamp when this record was last updated""" - updatedAt: Datetime + """A quantity of years.""" + years: Int +} - """User who owns this record""" - ownerId: UUID +"""A `SessionsModule` edge in the connection.""" +type SessionsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """JSON metadata for extensible key-value storage""" - parts: JSON + """The `SessionsModule` at the end of the edge.""" + node: SessionsModule } -"""The output of our create `Object` mutation.""" -type CreateObjectPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `SessionsModule`.""" +enum SessionsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC + SESSION_CREDENTIALS_TABLE_ID_ASC + SESSION_CREDENTIALS_TABLE_ID_DESC + AUTH_SETTINGS_TABLE_ID_ASC + AUTH_SETTINGS_TABLE_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + SESSIONS_DEFAULT_EXPIRATION_ASC + SESSIONS_DEFAULT_EXPIRATION_DESC + SESSIONS_TABLE_ASC + SESSIONS_TABLE_DESC + SESSION_CREDENTIALS_TABLE_ASC + SESSION_CREDENTIALS_TABLE_DESC + AUTH_SETTINGS_TABLE_ASC + AUTH_SETTINGS_TABLE_DESC +} - """The `Object` that was created by this mutation.""" - object: Object +"""A connection to a list of `UserAuthModule` values.""" +type UserAuthModuleConnection { + """A list of `UserAuthModule` objects.""" + nodes: [UserAuthModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `UserAuthModule` and cursor to aid in pagination. """ - query: Query - - """An edge for our `Object`. May be used by Relay 1.""" - objectEdge( - """The method to use when ordering `Object`.""" - orderBy: [ObjectOrderBy!]! = [PRIMARY_KEY_ASC] - ): ObjectEdge -} + edges: [UserAuthModuleEdge]! -"""All input for the create `Object` mutation.""" -input CreateObjectInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `Object` to be created by this mutation.""" - object: ObjectInput! + """The count of *all* `UserAuthModule` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `Object`""" -input ObjectInput { +type UserAuthModule { id: UUID! databaseId: UUID! - kids: [UUID] - ktree: [String] - data: JSON - frzn: Boolean - createdAt: Datetime -} - -"""The output of our create `SiteMetadatum` mutation.""" -type CreateSiteMetadatumPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `SiteMetadatum` that was created by this mutation.""" - siteMetadatum: SiteMetadatum + schemaId: UUID! + emailsTableId: UUID! + usersTableId: UUID! + secretsTableId: UUID! + encryptedTableId: UUID! + sessionsTableId: UUID! + sessionCredentialsTableId: UUID! + auditsTableId: UUID! + auditsTableName: String! + signInFunction: String! + signUpFunction: String! + signOutFunction: String! + setPasswordFunction: String! + resetPasswordFunction: String! + forgotPasswordFunction: String! + sendVerificationEmailFunction: String! + verifyEmailFunction: String! + verifyPasswordFunction: String! + checkPasswordFunction: String! + sendAccountDeletionEmailFunction: String! + deleteAccountFunction: String! + signInCrossOriginFunction: String! + requestCrossOriginTokenFunction: String! + extendTokenExpires: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Database` that is related to this `UserAuthModule`.""" + database: Database - """An edge for our `SiteMetadatum`. May be used by Relay 1.""" - siteMetadatumEdge( - """The method to use when ordering `SiteMetadatum`.""" - orderBy: [SiteMetadatumOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteMetadatumEdge -} + """Reads a single `Table` that is related to this `UserAuthModule`.""" + emailsTable: Table -"""All input for the create `SiteMetadatum` mutation.""" -input CreateSiteMetadatumInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `UserAuthModule`.""" + encryptedTable: Table - """The `SiteMetadatum` to be created by this mutation.""" - siteMetadatum: SiteMetadatumInput! -} + """Reads a single `Schema` that is related to this `UserAuthModule`.""" + schema: Schema -"""An input for mutations affecting `SiteMetadatum`""" -input SiteMetadatumInput { - """Unique identifier for this metadata record""" - id: UUID + """Reads a single `Table` that is related to this `UserAuthModule`.""" + secretsTable: Table - """Reference to the metaschema database""" - databaseId: UUID! + """Reads a single `Table` that is related to this `UserAuthModule`.""" + sessionCredentialsTable: Table - """Site this metadata belongs to""" - siteId: UUID! + """Reads a single `Table` that is related to this `UserAuthModule`.""" + sessionsTable: Table - """Page title for SEO (max 120 characters)""" - title: String + """Reads a single `Table` that is related to this `UserAuthModule`.""" + usersTable: Table +} - """Meta description for SEO and social sharing (max 120 characters)""" - description: String +"""A `UserAuthModule` edge in the connection.""" +type UserAuthModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Open Graph image for social media previews""" - ogImage: ConstructiveInternalTypeImage + """The `UserAuthModule` at the end of the edge.""" + node: UserAuthModule } -"""The output of our create `AppLevelRequirement` mutation.""" -type CreateAppLevelRequirementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `UserAuthModule`.""" +enum UserAuthModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + EMAILS_TABLE_ID_ASC + EMAILS_TABLE_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + SECRETS_TABLE_ID_ASC + SECRETS_TABLE_ID_DESC + ENCRYPTED_TABLE_ID_ASC + ENCRYPTED_TABLE_ID_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC + SESSION_CREDENTIALS_TABLE_ID_ASC + SESSION_CREDENTIALS_TABLE_ID_DESC + AUDITS_TABLE_ID_ASC + AUDITS_TABLE_ID_DESC + AUDITS_TABLE_NAME_ASC + AUDITS_TABLE_NAME_DESC + SIGN_IN_FUNCTION_ASC + SIGN_IN_FUNCTION_DESC + SIGN_UP_FUNCTION_ASC + SIGN_UP_FUNCTION_DESC + SIGN_OUT_FUNCTION_ASC + SIGN_OUT_FUNCTION_DESC + SET_PASSWORD_FUNCTION_ASC + SET_PASSWORD_FUNCTION_DESC + RESET_PASSWORD_FUNCTION_ASC + RESET_PASSWORD_FUNCTION_DESC + FORGOT_PASSWORD_FUNCTION_ASC + FORGOT_PASSWORD_FUNCTION_DESC + SEND_VERIFICATION_EMAIL_FUNCTION_ASC + SEND_VERIFICATION_EMAIL_FUNCTION_DESC + VERIFY_EMAIL_FUNCTION_ASC + VERIFY_EMAIL_FUNCTION_DESC + VERIFY_PASSWORD_FUNCTION_ASC + VERIFY_PASSWORD_FUNCTION_DESC + CHECK_PASSWORD_FUNCTION_ASC + CHECK_PASSWORD_FUNCTION_DESC + SEND_ACCOUNT_DELETION_EMAIL_FUNCTION_ASC + SEND_ACCOUNT_DELETION_EMAIL_FUNCTION_DESC + DELETE_ACCOUNT_FUNCTION_ASC + DELETE_ACCOUNT_FUNCTION_DESC + SIGN_IN_CROSS_ORIGIN_FUNCTION_ASC + SIGN_IN_CROSS_ORIGIN_FUNCTION_DESC + REQUEST_CROSS_ORIGIN_TOKEN_FUNCTION_ASC + REQUEST_CROSS_ORIGIN_TOKEN_FUNCTION_DESC + EXTEND_TOKEN_EXPIRES_ASC + EXTEND_TOKEN_EXPIRES_DESC +} - """The `AppLevelRequirement` that was created by this mutation.""" - appLevelRequirement: AppLevelRequirement +"""A connection to a list of `UsersModule` values.""" +type UsersModuleConnection { + """A list of `UsersModule` objects.""" + nodes: [UsersModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `UsersModule` and cursor to aid in pagination. """ - query: Query - - """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" - appLevelRequirementEdge( - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelRequirementEdge -} + edges: [UsersModuleEdge]! -"""All input for the create `AppLevelRequirement` mutation.""" -input CreateAppLevelRequirementInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `AppLevelRequirement` to be created by this mutation.""" - appLevelRequirement: AppLevelRequirementInput! + """The count of *all* `UsersModule` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `AppLevelRequirement`""" -input AppLevelRequirementInput { - id: UUID +type UsersModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + tableId: UUID! + tableName: String! + typeTableId: UUID! + typeTableName: String! - """Name identifier of the requirement (matches step names)""" - name: String! + """Reads a single `Database` that is related to this `UsersModule`.""" + database: Database - """Name of the level this requirement belongs to""" - level: String! + """Reads a single `Schema` that is related to this `UsersModule`.""" + schema: Schema - """Human-readable description of what this requirement entails""" - description: String + """Reads a single `Table` that is related to this `UsersModule`.""" + table: Table - """Number of steps needed to satisfy this requirement""" - requiredCount: Int - - """Display ordering priority; lower values appear first""" - priority: Int - createdAt: Datetime - updatedAt: Datetime + """Reads a single `Table` that is related to this `UsersModule`.""" + typeTable: Table } -"""The output of our create `FullTextSearch` mutation.""" -type CreateFullTextSearchPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `FullTextSearch` that was created by this mutation.""" - fullTextSearch: FullTextSearch - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `UsersModule` edge in the connection.""" +type UsersModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `FullTextSearch`. May be used by Relay 1.""" - fullTextSearchEdge( - """The method to use when ordering `FullTextSearch`.""" - orderBy: [FullTextSearchOrderBy!]! = [PRIMARY_KEY_ASC] - ): FullTextSearchEdge + """The `UsersModule` at the end of the edge.""" + node: UsersModule } -"""All input for the create `FullTextSearch` mutation.""" -input CreateFullTextSearchInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `FullTextSearch` to be created by this mutation.""" - fullTextSearch: FullTextSearchInput! +"""Methods to use when ordering `UsersModule`.""" +enum UsersModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + TYPE_TABLE_ID_ASC + TYPE_TABLE_ID_DESC + TYPE_TABLE_NAME_ASC + TYPE_TABLE_NAME_DESC } -"""An input for mutations affecting `FullTextSearch`""" -input FullTextSearchInput { - id: UUID - databaseId: UUID - tableId: UUID! - fieldId: UUID! - fieldIds: [UUID]! - weights: [String]! - langs: [String]! - createdAt: Datetime - updatedAt: Datetime -} +type HierarchyModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + chartEdgesTableId: UUID! + chartEdgesTableName: String! + hierarchySprtTableId: UUID! + hierarchySprtTableName: String! + chartEdgeGrantsTableId: UUID! + chartEdgeGrantsTableName: String! + entityTableId: UUID! + usersTableId: UUID! + prefix: String! + privateSchemaName: String! + sprtTableName: String! + rebuildHierarchyFunction: String! + getSubordinatesFunction: String! + getManagersFunction: String! + isManagerOfFunction: String! + createdAt: Datetime! -"""The output of our create `TableGrant` mutation.""" -type CreateTableGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `HierarchyModule`.""" + chartEdgeGrantsTable: Table - """The `TableGrant` that was created by this mutation.""" - tableGrant: TableGrant + """Reads a single `Table` that is related to this `HierarchyModule`.""" + chartEdgesTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Database` that is related to this `HierarchyModule`.""" + database: Database - """An edge for our `TableGrant`. May be used by Relay 1.""" - tableGrantEdge( - """The method to use when ordering `TableGrant`.""" - orderBy: [TableGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): TableGrantEdge -} + """Reads a single `Table` that is related to this `HierarchyModule`.""" + entityTable: Table -"""All input for the create `TableGrant` mutation.""" -input CreateTableGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `HierarchyModule`.""" + hierarchySprtTable: Table - """The `TableGrant` to be created by this mutation.""" - tableGrant: TableGrantInput! -} + """Reads a single `Schema` that is related to this `HierarchyModule`.""" + privateSchema: Schema -"""An input for mutations affecting `TableGrant`""" -input TableGrantInput { - id: UUID - databaseId: UUID - tableId: UUID! - privilege: String! - granteeName: String! - fieldIds: [UUID] - isGrant: Boolean - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Schema` that is related to this `HierarchyModule`.""" + schema: Schema -"""The output of our create `Commit` mutation.""" -type CreateCommitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `HierarchyModule`.""" + usersTable: Table +} - """The `Commit` that was created by this mutation.""" - commit: Commit +"""A connection to a list of `Blueprint` values.""" +type BlueprintConnection { + """A list of `Blueprint` objects.""" + nodes: [Blueprint]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `Blueprint` and cursor to aid in pagination. """ - query: Query - - """An edge for our `Commit`. May be used by Relay 1.""" - commitEdge( - """The method to use when ordering `Commit`.""" - orderBy: [CommitOrderBy!]! = [PRIMARY_KEY_ASC] - ): CommitEdge -} + edges: [BlueprintEdge]! -"""All input for the create `Commit` mutation.""" -input CreateCommitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `Commit` to be created by this mutation.""" - commit: CommitInput! + """The count of *all* `Blueprint` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `Commit`""" -input CommitInput { - """The primary unique identifier for the commit.""" - id: UUID +""" +An owned, editable blueprint scoped to a specific database. Created by copying from a blueprint_template via copy_template_to_blueprint() or built from scratch. The owner can customize the definition at any time. Execute it with construct_blueprint() which creates a separate blueprint_construction record to track the build. +""" +type Blueprint { + """Unique identifier for this blueprint.""" + id: UUID! - """The commit message""" - message: String + """The user who owns this blueprint.""" + ownerId: UUID! - """The repository identifier""" + """ + The database this blueprint is scoped to. Tables created by construct_blueprint() are provisioned in this database. + """ databaseId: UUID! - storeId: UUID! - - """Parent commits""" - parentIds: [UUID] - """The author of the commit""" - authorId: UUID + """Machine-readable name for the blueprint. Must be unique per database.""" + name: String! - """The committer of the commit""" - committerId: UUID + """Human-readable display name for the blueprint.""" + displayName: String! - """The root of the tree""" - treeId: UUID - date: Datetime -} + """Optional description of the blueprint.""" + description: String -"""The output of our create `RateLimitsModule` mutation.""" -type CreateRateLimitsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + The blueprint definition as a JSONB document. Contains tables[] (each with table_name, optional schema_name, nodes[] for data behaviors, fields[], grants[], and policies[] using $type), relations[] (using $type with source_table/target_table and optional source_schema/target_schema), indexes[] (using table_name + column), and full_text_searches[] (using table_name + field + sources[]). Everything is name-based — no UUIDs in the definition. """ - clientMutationId: String - - """The `RateLimitsModule` that was created by this mutation.""" - rateLimitsModule: RateLimitsModule + definition: JSON! """ - Our root query field type. Allows us to run any query from our mutation payload. + If this blueprint was created by copying a template, the ID of the source template. NULL if built from scratch. """ - query: Query - - """An edge for our `RateLimitsModule`. May be used by Relay 1.""" - rateLimitsModuleEdge( - """The method to use when ordering `RateLimitsModule`.""" - orderBy: [RateLimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): RateLimitsModuleEdge -} + templateId: UUID -"""All input for the create `RateLimitsModule` mutation.""" -input CreateRateLimitsModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication and provenance tracking. Backend-computed — clients should never set this directly. """ - clientMutationId: String - - """The `RateLimitsModule` to be created by this mutation.""" - rateLimitsModule: RateLimitsModuleInput! -} - -"""An input for mutations affecting `RateLimitsModule`""" -input RateLimitsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - rateLimitSettingsTableId: UUID - ipRateLimitsTableId: UUID - rateLimitsTableId: UUID - rateLimitSettingsTable: String - ipRateLimitsTable: String - rateLimitsTable: String -} + definitionHash: UUID -"""The output of our create `OrgChartEdgeGrant` mutation.""" -type CreateOrgChartEdgeGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + JSONB map of table names to their individual UUIDv5 content hashes. Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across blueprints and templates. Backend-computed via trigger. """ - clientMutationId: String + tableHashes: JSON - """The `OrgChartEdgeGrant` that was created by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrant + """Timestamp when this blueprint was created.""" + createdAt: Datetime! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Timestamp when this blueprint was last modified.""" + updatedAt: Datetime! - """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" - orgChartEdgeGrantEdge( - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantEdge -} + """Reads a single `Database` that is related to this `Blueprint`.""" + database: Database -"""All input for the create `OrgChartEdgeGrant` mutation.""" -input CreateOrgChartEdgeGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `BlueprintTemplate` that is related to this `Blueprint`. """ - clientMutationId: String + template: BlueprintTemplate - """The `OrgChartEdgeGrant` to be created by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrantInput! -} + """Reads and enables pagination through a set of `BlueprintConstruction`.""" + blueprintConstructions( + """Only read the first `n` values of the set.""" + first: Int -"""An input for mutations affecting `OrgChartEdgeGrant`""" -input OrgChartEdgeGrantInput { - id: UUID + """Only read the last `n` values of the set.""" + last: Int - """Organization this grant applies to""" - entityId: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """User ID of the subordinate being placed in the hierarchy""" - childId: UUID! + """Read all values in the set before (above) this cursor.""" + before: Cursor - """User ID of the manager being assigned; NULL for top-level positions""" - parentId: UUID + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: BlueprintConstructionFilter + + """The method to use when ordering `BlueprintConstruction`.""" + orderBy: [BlueprintConstructionOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintConstructionConnection! +} + +""" +A shareable, versioned schema recipe for the blueprint marketplace. Templates define arrays of secure_table_provision + relation_provision inputs that together describe a complete domain schema (e.g. e-commerce, telemedicine, habit tracker). Templates are never executed directly — they are copied into a blueprint first via copy_template_to_blueprint(). Can be private (owner-only) or public (marketplace-visible). +""" +type BlueprintTemplate { + """Unique identifier for this template.""" + id: UUID! """ - User ID of the admin who performed this grant or revocation; NULL if grantor was deleted + Machine-readable name for the template (e.g. e_commerce_basic). Must be unique per owner + version. """ - grantorId: UUID + name: String! - """TRUE to add/update the edge, FALSE to remove it""" - isGrant: Boolean + """Semantic version string. Defaults to 1.0.0.""" + version: String! - """Job title or role name being assigned in this grant""" - positionTitle: String + """Human-readable display name for the template (e.g. E-Commerce Basic).""" + displayName: String! - """Numeric seniority level being assigned in this grant""" - positionLevel: Int + """Optional description of what the template provisions.""" + description: String - """Timestamp when this grant or revocation was recorded""" - createdAt: Datetime -} + """The user who created or published this template.""" + ownerId: UUID! -"""The output of our create `PhoneNumber` mutation.""" -type CreatePhoneNumberPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Access control for the template. private: only the owner can see and copy. public: anyone can browse and copy from the marketplace. Defaults to private. """ - clientMutationId: String - - """The `PhoneNumber` that was created by this mutation.""" - phoneNumber: PhoneNumber + visibility: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Domain categories for marketplace browsing (e.g. e-commerce, healthcare, social). Defaults to empty array. """ - query: Query - - """An edge for our `PhoneNumber`. May be used by Relay 1.""" - phoneNumberEdge( - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumberEdge -} + categories: [String]! -"""All input for the create `PhoneNumber` mutation.""" -input CreatePhoneNumberInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Freeform tags for search and discovery (e.g. products, orders, payments). Defaults to empty array. """ - clientMutationId: String - - """The `PhoneNumber` to be created by this mutation.""" - phoneNumber: PhoneNumberInput! -} - -"""An input for mutations affecting `PhoneNumber`""" -input PhoneNumberInput { - id: UUID - ownerId: UUID - - """Country calling code (e.g. +1, +44)""" - cc: String! - - """The phone number without country code""" - number: String! - - """Whether the phone number has been verified via SMS code""" - isVerified: Boolean - - """Whether this is the user's primary phone number""" - isPrimary: Boolean + tags: [String]! """ - Optional user-provided label for this phone number (e.g. "Mobile", "Work"). + The blueprint definition as a JSONB document. Contains tables[] (each with nodes[] for data behaviors via string shorthand or {"$type": "...", "data": {...}} objects, fields[], grants[], and policies[] using {"$type": "...", "data": {...}}), and relations[] (using $type for relation_type with junction config in data). This is the core payload that gets copied into a blueprint for execution. """ - name: String - createdAt: Datetime - updatedAt: Datetime -} + definition: JSON! -"""The output of our create `AppClaimedInvite` mutation.""" -type CreateAppClaimedInvitePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Version of the definition format schema. Used for forward-compatible parsing. Defaults to 1. """ - clientMutationId: String + definitionSchemaVersion: String! - """The `AppClaimedInvite` that was created by this mutation.""" - appClaimedInvite: AppClaimedInvite + """ + Provenance of the template. user: manually created by a human. system: official curated template from the Constructive team. agent: AI-generated. Defaults to user. + """ + source: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Complexity indicator for marketplace filtering. simple: 3-5 tables. moderate: 6-12 tables. complex: 13+ tables. NULL if not categorized. """ - query: Query + complexity: String - """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" - appClaimedInviteEdge( - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppClaimedInviteEdge -} + """ + Denormalized count of how many blueprints have been created from this template via copy_template_to_blueprint(). Incremented automatically. Defaults to 0. + """ + copyCount: Int! -"""All input for the create `AppClaimedInvite` mutation.""" -input CreateAppClaimedInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Denormalized count of how many derivative templates have been forked from this template. Defaults to 0. """ - clientMutationId: String + forkCount: Int! - """The `AppClaimedInvite` to be created by this mutation.""" - appClaimedInvite: AppClaimedInviteInput! -} + """ + If this template was forked from another template, the ID of the parent. NULL for original templates. + """ + forkedFromId: UUID -"""An input for mutations affecting `AppClaimedInvite`""" -input AppClaimedInviteInput { - id: UUID + """ + UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication, provenance tracking, and cross-blueprint structural comparison. NULL columns are backend-computed — clients should never set this directly. + """ + definitionHash: UUID - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON + """ + JSONB map of table ref names to their individual UUIDv5 content hashes (e.g. {"products": "uuid", "categories": "uuid"}). Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across different blueprints. Backend-computed via trigger. + """ + tableHashes: JSON - """User ID of the original invitation sender""" - senderId: UUID + """Timestamp when this template was created.""" + createdAt: Datetime! - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Timestamp when this template was last modified.""" + updatedAt: Datetime! -"""The output of our create `AppMembershipDefault` mutation.""" -type CreateAppMembershipDefaultPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `BlueprintTemplate` that is related to this `BlueprintTemplate`. """ - clientMutationId: String + forkedFrom: BlueprintTemplate - """The `AppMembershipDefault` that was created by this mutation.""" - appMembershipDefault: AppMembershipDefault + """Reads and enables pagination through a set of `BlueprintTemplate`.""" + blueprintTemplatesByForkedFromId( + """Only read the first `n` values of the set.""" + first: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Only read the last `n` values of the set.""" + last: Int - """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" - appMembershipDefaultEdge( - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultEdge -} + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int -"""All input for the create `AppMembershipDefault` mutation.""" -input CreateAppMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Read all values in the set before (above) this cursor.""" + before: Cursor - """The `AppMembershipDefault` to be created by this mutation.""" - appMembershipDefault: AppMembershipDefaultInput! -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""An input for mutations affecting `AppMembershipDefault`""" -input AppMembershipDefaultInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: BlueprintTemplateFilter - """Whether new members are automatically approved upon joining""" - isApproved: Boolean + """The method to use when ordering `BlueprintTemplate`.""" + orderBy: [BlueprintTemplateOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintTemplateConnection! - """Whether new members are automatically verified upon joining""" - isVerified: Boolean -} + """Reads and enables pagination through a set of `Blueprint`.""" + blueprintsByTemplateId( + """Only read the first `n` values of the set.""" + first: Int -"""The output of our create `OrgMembershipDefault` mutation.""" -type CreateOrgMembershipDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Only read the last `n` values of the set.""" + last: Int - """The `OrgMembershipDefault` that was created by this mutation.""" - orgMembershipDefault: OrgMembershipDefault + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Read all values in the set before (above) this cursor.""" + before: Cursor - """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" - orgMembershipDefaultEdge( - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultEdge -} + """Read all values in the set after (below) this cursor.""" + after: Cursor -"""All input for the create `OrgMembershipDefault` mutation.""" -input CreateOrgMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: BlueprintFilter - """The `OrgMembershipDefault` to be created by this mutation.""" - orgMembershipDefault: OrgMembershipDefaultInput! + """The method to use when ordering `Blueprint`.""" + orderBy: [BlueprintOrderBy!] = [PRIMARY_KEY_ASC] + ): BlueprintConnection! } -"""An input for mutations affecting `OrgMembershipDefault`""" -input OrgMembershipDefaultInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - - """Whether new members are automatically approved upon joining""" - isApproved: Boolean - - """References the entity these membership defaults apply to""" - entityId: UUID! -} +"""A connection to a list of `BlueprintTemplate` values.""" +type BlueprintTemplateConnection { + """A list of `BlueprintTemplate` objects.""" + nodes: [BlueprintTemplate]! -"""The output of our create `AuditLog` mutation.""" -type CreateAuditLogPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `BlueprintTemplate` and cursor to aid in pagination. """ - clientMutationId: String + edges: [BlueprintTemplateEdge]! - """The `AuditLog` that was created by this mutation.""" - auditLog: AuditLog + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `BlueprintTemplate` you could get from the connection. """ - query: Query - - """An edge for our `AuditLog`. May be used by Relay 1.""" - auditLogEdge( - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] - ): AuditLogEdge + totalCount: Int! } -"""All input for the create `AuditLog` mutation.""" -input CreateAuditLogInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `BlueprintTemplate` edge in the connection.""" +type BlueprintTemplateEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AuditLog` to be created by this mutation.""" - auditLog: AuditLogInput! + """The `BlueprintTemplate` at the end of the edge.""" + node: BlueprintTemplate } -"""An input for mutations affecting `AuditLog`""" -input AuditLogInput { - id: UUID - - """ - Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) - """ - event: String! - - """User who performed the authentication action; NULL if user was deleted""" - actorId: UUID - - """Request origin (domain) where the auth event occurred""" - origin: ConstructiveInternalTypeOrigin - - """Browser or client user-agent string from the request""" - userAgent: String - - """IP address of the client that initiated the auth event""" - ipAddress: InternetAddress - - """Whether the authentication attempt succeeded""" - success: Boolean! - - """Timestamp when the audit event was recorded""" - createdAt: Datetime +"""Methods to use when ordering `BlueprintTemplate`.""" +enum BlueprintTemplateOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + VERSION_ASC + VERSION_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + OWNER_ID_ASC + OWNER_ID_DESC + VISIBILITY_ASC + VISIBILITY_DESC + CATEGORIES_ASC + CATEGORIES_DESC + TAGS_ASC + TAGS_DESC + DEFINITION_ASC + DEFINITION_DESC + DEFINITION_SCHEMA_VERSION_ASC + DEFINITION_SCHEMA_VERSION_DESC + SOURCE_ASC + SOURCE_DESC + COMPLEXITY_ASC + COMPLEXITY_DESC + COPY_COUNT_ASC + COPY_COUNT_DESC + FORK_COUNT_ASC + FORK_COUNT_DESC + FORKED_FROM_ID_ASC + FORKED_FROM_ID_DESC + DEFINITION_HASH_ASC + DEFINITION_HASH_DESC + TABLE_HASHES_ASC + TABLE_HASHES_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""The output of our create `Domain` mutation.""" -type CreateDomainPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `Blueprint`.""" +enum BlueprintOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + NAME_ASC + NAME_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + DEFINITION_ASC + DEFINITION_DESC + TEMPLATE_ID_ASC + TEMPLATE_ID_DESC + DEFINITION_HASH_ASC + DEFINITION_HASH_DESC + TABLE_HASHES_ASC + TABLE_HASHES_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """The `Domain` that was created by this mutation.""" - domain: Domain +"""A connection to a list of `BlueprintConstruction` values.""" +type BlueprintConstructionConnection { + """A list of `BlueprintConstruction` objects.""" + nodes: [BlueprintConstruction]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `BlueprintConstruction` and cursor to aid in pagination. """ - query: Query + edges: [BlueprintConstructionEdge]! - """An edge for our `Domain`. May be used by Relay 1.""" - domainEdge( - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!]! = [PRIMARY_KEY_ASC] - ): DomainEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `Domain` mutation.""" -input CreateDomainInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `BlueprintConstruction` you could get from the connection. """ - clientMutationId: String - - """The `Domain` to be created by this mutation.""" - domain: DomainInput! + totalCount: Int! } -"""An input for mutations affecting `Domain`""" -input DomainInput { - """Unique identifier for this domain record""" - id: UUID - - """Reference to the metaschema database this domain belongs to""" - databaseId: UUID! - - """API endpoint this domain routes to (mutually exclusive with site_id)""" - apiId: UUID - - """Site this domain routes to (mutually exclusive with api_id)""" - siteId: UUID - - """Subdomain portion of the hostname""" - subdomain: ConstructiveInternalTypeHostname - - """Root domain of the hostname""" - domain: ConstructiveInternalTypeHostname -} +""" +Tracks individual construction attempts of a blueprint. Each time construct_blueprint() is called, a new record is created here. This separates the editable blueprint definition from its build history, allowing blueprints to be re-executed, constructed into multiple databases, and maintain an audit trail of all construction attempts. +""" +type BlueprintConstruction { + """Unique identifier for this construction attempt.""" + id: UUID! -"""The output of our create `AgentTask` mutation.""" -type CreateAgentTaskPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """The blueprint that was constructed.""" + blueprintId: UUID! - """The `AgentTask` that was created by this mutation.""" - agentTask: AgentTask + """The database the blueprint was constructed into.""" + databaseId: UUID! """ - Our root query field type. Allows us to run any query from our mutation payload. + The default schema used for tables that did not specify an explicit schema_name. NULL if not yet resolved. """ - query: Query - - """An edge for our `AgentTask`. May be used by Relay 1.""" - agentTaskEdge( - """The method to use when ordering `AgentTask`.""" - orderBy: [AgentTaskOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentTaskEdge -} + schemaId: UUID -"""All input for the create `AgentTask` mutation.""" -input CreateAgentTaskInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Execution state of this construction attempt. pending: created but not yet started. constructing: currently executing. constructed: successfully completed. failed: execution failed (see error_details). """ - clientMutationId: String - - """The `AgentTask` to be created by this mutation.""" - agentTask: AgentTaskInput! -} + status: String! -"""An input for mutations affecting `AgentTask`""" -input AgentTaskInput { """ - Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. + Error message from a failed construction attempt. NULL unless status is failed. """ - threadId: UUID! + errorDetails: String """ - Entity (org/group/personal-org id) this task is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger from agent_thread.entity_id via thread_id; the application never sets this column directly. + Mapping of table names to created table UUIDs, populated after successful construction. Format: {"products": "uuid", "categories": "uuid", ...}. Defaults to empty object. """ - entityId: UUID! - - """Natural-language description of the work to do. Required.""" - description: String! + tableMap: JSON! """ - Who created the task: 'agent' (added by the LLM during planning) or 'user' (added manually by the human). Stored as free-text (no CHECK) so additional sources can be introduced later. + Immutable snapshot of the definition at construct-time. Preserved so the exact definition that was executed is recorded even if the user later modifies the blueprint definition. """ - source: String + constructedDefinition: JSON """ - Error message captured when the task transitioned to 'failed'. NULL while the task is still pending/in-progress, or when it completed successfully. + Timestamp when construction successfully completed. NULL until constructed. """ - error: String - id: UUID - - """Timestamp when this record was created""" - createdAt: Datetime - - """Timestamp when this record was last updated""" - updatedAt: Datetime + constructedAt: Datetime - """User who owns this record""" - ownerId: UUID + """Timestamp when this construction attempt was created.""" + createdAt: Datetime! - """Current status of this record""" - status: String -} + """Timestamp when this construction attempt was last modified.""" + updatedAt: Datetime! -"""The output of our create `AgentThread` mutation.""" -type CreateAgentThreadPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Blueprint` that is related to this `BlueprintConstruction`. """ - clientMutationId: String - - """The `AgentThread` that was created by this mutation.""" - agentThread: AgentThread + blueprint: Blueprint """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Database` that is related to this `BlueprintConstruction`. """ - query: Query - - """An edge for our `AgentThread`. May be used by Relay 1.""" - agentThreadEdge( - """The method to use when ordering `AgentThread`.""" - orderBy: [AgentThreadOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentThreadEdge + database: Database } -"""All input for the create `AgentThread` mutation.""" -input CreateAgentThreadInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `BlueprintConstruction` edge in the connection.""" +type BlueprintConstructionEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AgentThread` to be created by this mutation.""" - agentThread: AgentThreadInput! + """The `BlueprintConstruction` at the end of the edge.""" + node: BlueprintConstruction } -"""An input for mutations affecting `AgentThread`""" -input AgentThreadInput { - """ - Human-readable conversation title. Typically auto-generated from the first user message and editable by the user. NULL until a title has been computed. - """ - title: String - - """ - Conversation mode: 'ask' for plain Q&A (no tool execution) or 'agent' for tool-enabled execution. Stored as free-text (no CHECK) so new modes can be added without migration. - """ - mode: String - - """ - Snapshot of the LLM model id this thread is bound to (e.g. 'gpt-5', 'claude-sonnet-4'). Captured on creation so a resumed conversation stays on the same model even if app defaults change. NULL means use the app default at request time. - """ - model: String - - """ - Snapshot of the system prompt active for this thread. Stored on the thread (rather than referenced from a registry) so the conversation remains reproducible even if a future system_prompt registry changes its canonical text. NULL means use the app default at request time. - """ - systemPrompt: String - id: UUID - - """Timestamp when this record was created""" - createdAt: Datetime - - """Timestamp when this record was last updated""" - updatedAt: Datetime - - """User who owns this record within the entity""" - ownerId: UUID +"""Methods to use when ordering `BlueprintConstruction`.""" +enum BlueprintConstructionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + BLUEPRINT_ID_ASC + BLUEPRINT_ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + STATUS_ASC + STATUS_DESC + ERROR_DETAILS_ASC + ERROR_DETAILS_DESC + TABLE_MAP_ASC + TABLE_MAP_DESC + CONSTRUCTED_DEFINITION_ASC + CONSTRUCTED_DEFINITION_DESC + CONSTRUCTED_AT_ASC + CONSTRUCTED_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """Entity this record belongs to""" - entityId: UUID! +"""A `Blueprint` edge in the connection.""" +type BlueprintEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Current status of this record""" - status: String + """The `Blueprint` at the end of the edge.""" + node: Blueprint } -"""The output of our create `Email` mutation.""" -type CreateEmailPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `Email` that was created by this mutation.""" - email: Email +"""A connection to a list of `StorageModule` values.""" +type StorageModuleConnection { + """A list of `StorageModule` objects.""" + nodes: [StorageModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `StorageModule` and cursor to aid in pagination. """ - query: Query + edges: [StorageModuleEdge]! - """An edge for our `Email`. May be used by Relay 1.""" - emailEdge( - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `StorageModule` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `Email` mutation.""" -input CreateEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `Email` to be created by this mutation.""" - email: EmailInput! -} - -"""An input for mutations affecting `Email`""" -input EmailInput { - id: UUID - ownerId: UUID +type StorageModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + bucketsTableId: UUID! + filesTableId: UUID! + bucketsTableName: String! + filesTableName: String! + membershipType: Int + policies: JSON + skipDefaultPolicyTables: [String]! + entityTableId: UUID + endpoint: String + publicUrlPrefix: String + provider: String + allowedOrigins: [String] + restrictReads: Boolean! + hasPathShares: Boolean! + pathSharesTableId: UUID + uploadUrlExpirySeconds: Int + downloadUrlExpirySeconds: Int + defaultMaxFileSize: BigInt + maxFilenameLength: Int + cacheTtlSeconds: Int + maxBulkFiles: Int + maxBulkTotalSize: BigInt + hasVersioning: Boolean! + hasContentHash: Boolean! + hasCustomKeys: Boolean! + hasAuditLog: Boolean! + fileEventsTableId: UUID - """The email address""" - email: ConstructiveInternalTypeEmail! + """Reads a single `Table` that is related to this `StorageModule`.""" + bucketsTable: Table - """Whether the email address has been verified via confirmation link""" - isVerified: Boolean + """Reads a single `Database` that is related to this `StorageModule`.""" + database: Database - """Whether this is the user's primary email address""" - isPrimary: Boolean + """Reads a single `Table` that is related to this `StorageModule`.""" + entityTable: Table - """Optional user-provided label for this email (e.g. "Work", "Personal").""" - name: String - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Table` that is related to this `StorageModule`.""" + fileEventsTable: Table -"""The output of our create `AppGrant` mutation.""" -type CreateAppGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `StorageModule`.""" + filesTable: Table - """The `AppGrant` that was created by this mutation.""" - appGrant: AppGrant + """Reads a single `Table` that is related to this `StorageModule`.""" + pathSharesTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Schema` that is related to this `StorageModule`.""" + privateSchema: Schema - """An edge for our `AppGrant`. May be used by Relay 1.""" - appGrantEdge( - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppGrantEdge + """Reads a single `Schema` that is related to this `StorageModule`.""" + schema: Schema } -"""All input for the create `AppGrant` mutation.""" -input CreateAppGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `StorageModule` edge in the connection.""" +type StorageModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `AppGrant` to be created by this mutation.""" - appGrant: AppGrantInput! + """The `StorageModule` at the end of the edge.""" + node: StorageModule } -"""An input for mutations affecting `AppGrant`""" -input AppGrantInput { - id: UUID - - """Bitmask of permissions being granted or revoked""" - permissions: BitString - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean - - """The member receiving or losing the permission grant""" - actorId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `StorageModule`.""" +enum StorageModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + BUCKETS_TABLE_ID_ASC + BUCKETS_TABLE_ID_DESC + FILES_TABLE_ID_ASC + FILES_TABLE_ID_DESC + BUCKETS_TABLE_NAME_ASC + BUCKETS_TABLE_NAME_DESC + FILES_TABLE_NAME_ASC + FILES_TABLE_NAME_DESC + MEMBERSHIP_TYPE_ASC + MEMBERSHIP_TYPE_DESC + POLICIES_ASC + POLICIES_DESC + SKIP_DEFAULT_POLICY_TABLES_ASC + SKIP_DEFAULT_POLICY_TABLES_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + ENDPOINT_ASC + ENDPOINT_DESC + PUBLIC_URL_PREFIX_ASC + PUBLIC_URL_PREFIX_DESC + PROVIDER_ASC + PROVIDER_DESC + ALLOWED_ORIGINS_ASC + ALLOWED_ORIGINS_DESC + RESTRICT_READS_ASC + RESTRICT_READS_DESC + HAS_PATH_SHARES_ASC + HAS_PATH_SHARES_DESC + PATH_SHARES_TABLE_ID_ASC + PATH_SHARES_TABLE_ID_DESC + UPLOAD_URL_EXPIRY_SECONDS_ASC + UPLOAD_URL_EXPIRY_SECONDS_DESC + DOWNLOAD_URL_EXPIRY_SECONDS_ASC + DOWNLOAD_URL_EXPIRY_SECONDS_DESC + DEFAULT_MAX_FILE_SIZE_ASC + DEFAULT_MAX_FILE_SIZE_DESC + MAX_FILENAME_LENGTH_ASC + MAX_FILENAME_LENGTH_DESC + CACHE_TTL_SECONDS_ASC + CACHE_TTL_SECONDS_DESC + MAX_BULK_FILES_ASC + MAX_BULK_FILES_DESC + MAX_BULK_TOTAL_SIZE_ASC + MAX_BULK_TOTAL_SIZE_DESC + HAS_VERSIONING_ASC + HAS_VERSIONING_DESC + HAS_CONTENT_HASH_ASC + HAS_CONTENT_HASH_DESC + HAS_CUSTOM_KEYS_ASC + HAS_CUSTOM_KEYS_DESC + HAS_AUDIT_LOG_ASC + HAS_AUDIT_LOG_DESC + FILE_EVENTS_TABLE_ID_ASC + FILE_EVENTS_TABLE_ID_DESC } -"""The output of our create `OrgClaimedInvite` mutation.""" -type CreateOrgClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `OrgClaimedInvite` that was created by this mutation.""" - orgClaimedInvite: OrgClaimedInvite +"""A connection to a list of `EntityTypeProvision` values.""" +type EntityTypeProvisionConnection { + """A list of `EntityTypeProvision` objects.""" + nodes: [EntityTypeProvision]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `EntityTypeProvision` and cursor to aid in pagination. """ - query: Query + edges: [EntityTypeProvisionEdge]! - """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" - orgClaimedInviteEdge( - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `OrgClaimedInvite` mutation.""" -input CreateOrgClaimedInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `EntityTypeProvision` you could get from the connection. """ - clientMutationId: String - - """The `OrgClaimedInvite` to be created by this mutation.""" - orgClaimedInvite: OrgClaimedInviteInput! + totalCount: Int! } -"""An input for mutations affecting `OrgClaimedInvite`""" -input OrgClaimedInviteInput { - id: UUID - - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON - - """User ID of the original invitation sender""" - senderId: UUID +""" +Provisions a new membership entity type. Each INSERT creates an entity table, registers a membership type, + and installs the required modules (permissions, memberships, limits) plus optional modules (profiles, levels, invites). + Uses provision_membership_table() internally. Graceful: duplicate (database_id, prefix) pairs are silently skipped + via the unique constraint (use INSERT ... ON CONFLICT DO NOTHING). + Policy behavior: by default the five entity-table RLS policies are applied (gated by is_visible). + Set table_provision to a single jsonb object (using the same shape as provision_table() / + blueprint tables[] entries) to replace the defaults with your own; set skip_entity_policies=true + as an escape hatch to apply zero policies. +""" +type EntityTypeProvision { + """Unique identifier for this provision row.""" + id: UUID! - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! -} + """The database to provision this entity type in. Required.""" + databaseId: UUID! -"""The output of our create `AppLimitEvent` mutation.""" -type CreateAppLimitEventPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Human-readable name for this entity type, e.g. 'Data Room', 'Team Channel'. Required. + Stored in the entity_types registry table. """ - clientMutationId: String - - """The `AppLimitEvent` that was created by this mutation.""" - appLimitEvent: AppLimitEvent + name: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + SQL prefix used for table and module naming, e.g. 'data_room', 'team_channel'. Required. + Drives entity table name (prefix || 's' by default), module labels (permissions_module:prefix), + and membership table names (prefix_memberships, prefix_members, etc.). + Must be unique per database — the (database_id, prefix) constraint ensures graceful ON CONFLICT DO NOTHING. """ - query: Query -} + prefix: String! -"""All input for the create `AppLimitEvent` mutation.""" -input CreateAppLimitEventInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Description of this entity type. Stored in the entity_types registry table. Defaults to empty string. """ - clientMutationId: String - - """The `AppLimitEvent` to be created by this mutation.""" - appLimitEvent: AppLimitEventInput! -} - -"""An input for mutations affecting `AppLimitEvent`""" -input AppLimitEventInput { - """Limit name this event applies to""" - name: String - - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID - - """Entity this event applies to; NULL for app-level events""" - entityId: UUID - - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String - - """Change amount: positive for increment, negative for decrement""" - delta: BigInt - - """Usage count before this event""" - numBefore: BigInt - - """Usage count after this event""" - numAfter: BigInt - - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + description: String! """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. + Prefix of the parent entity type. The trigger resolves this to a membership_type integer + by looking up memberships_module WHERE prefix = parent_entity. + Defaults to 'org' (the organization-level type). For nested types, set to the parent's prefix + (e.g. 'data_room' for a team_channel nested under data_room). + The parent type must already be provisioned before this INSERT. """ - reason: String -} + parentEntity: String! -"""The output of our create `OrgLimitEvent` mutation.""" -type CreateOrgLimitEventPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Override the entity table name. When NULL (default), the table name is derived as prefix || 's' + (e.g. prefix 'data_room' produces table 'data_rooms'). + Set this when the pluralization rule doesn't apply (e.g. prefix 'staff' should produce 'staff' not 'staffs'). """ - clientMutationId: String - - """The `OrgLimitEvent` that was created by this mutation.""" - orgLimitEvent: OrgLimitEvent + tableName: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Whether members of the parent entity can see child entities. Defaults to true. + When true: a SELECT policy allows parent members to list child entities (e.g. org members can see all data rooms). + When false: only direct members of the entity itself can see it (private entity mode). + Controls whether the parent_member SELECT policy is created on the entity table. + Only meaningful on the defaults path — ignored (no-op) when table_provision is non-NULL or + skip_entity_policies=true, since no default policies are being applied in those cases. """ - query: Query -} + isVisible: Boolean! -"""All input for the create `OrgLimitEvent` mutation.""" -input CreateOrgLimitEventInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Whether to apply limits_module security for this type. Defaults to false. + The limits_module table structure is always created (memberships_module requires it), + but when false, no RLS policies are applied to the limits tables. + Set to true if this entity type needs configurable resource limits per membership. """ - clientMutationId: String + hasLimits: Boolean! - """The `OrgLimitEvent` to be created by this mutation.""" - orgLimitEvent: OrgLimitEventInput! -} + """ + Whether to provision profiles_module for this type. Defaults to false. + Profiles provide named permission roles (e.g. 'Editor', 'Viewer') with pre-configured permission bitmasks. + When true, creates profile tables and applies profiles security. + """ + hasProfiles: Boolean! -"""An input for mutations affecting `OrgLimitEvent`""" -input OrgLimitEventInput { - """Limit name this event applies to""" - name: String + """ + Whether to provision levels_module for this type. Defaults to false. + Levels provide gamification/achievement tracking for members. + When true, creates level steps, achievements, and level tables with security. + """ + hasLevels: Boolean! - """User who triggered this event; NULL for system/aggregate events""" - actorId: UUID + """ + Whether to provision storage_module for this type. Defaults to false. + When true, creates {prefix}_buckets and {prefix}_files tables + with entity-scoped RLS (AuthzEntityMembership) using the entity's membership_type. + Storage tables get owner_id FK to the entity table, so files are owned by the entity. + """ + hasStorage: Boolean! - """Entity this event applies to; NULL for app-level events""" - entityId: UUID + """ + Whether to provision invites_module for this type. Defaults to false. + When true, the trigger inserts a row into invites_module which in turn + (via insert_invites_module BEFORE INSERT) creates {prefix}_invites and + {prefix}_claimed_invites tables plus the submit_{prefix}_invite_code() function. + Symmetric counterpart of has_storage. Re-provisioning is idempotent: the + UNIQUE (database_id, membership_type) constraint on invites_module combined with + ON CONFLICT DO NOTHING in the fan-out makes repeated INSERTs safe. + """ + hasInvites: Boolean! - """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" - eventType: String + """ + Optional jsonb object for storage module configuration and initial bucket seeding. + Only used when has_storage = true; ignored otherwise. NULL = use defaults. + Recognized keys (all optional): + - upload_url_expiry_seconds (integer) presigned PUT URL expiry override + - download_url_expiry_seconds (integer) presigned GET URL expiry override + - default_max_file_size (bigint) global max file size in bytes for this scope + - allowed_origins (text[]) default CORS origins for all buckets in this scope + - buckets (jsonb[]) array of initial bucket definitions to seed + Each bucket in the buckets array recognizes: + - name (text, required) bucket name e.g. 'documents' + - description (text) human-readable description + - is_public (boolean) whether files are publicly readable (default false) + - allowed_mime_types (text[]) whitelist of MIME types (null = any) + - max_file_size (bigint) max file size in bytes (null = use scope default) + - allowed_origins (text[]) per-bucket CORS override + - provisions (jsonb object) optional: customize storage tables + with additional nodes, fields, grants, and policies. + Keyed by table role: "files", "buckets". + Each value uses the same shape as table_provision: + { nodes, fields, grants, use_rls, policies }. Fanned out + to secure_table_provision targeting the corresponding table. + When a key includes policies[], those REPLACE the default + storage policies for that table; tables without a key still + get defaults. Missing "data" on policy entries is auto-populated + with storage-specific defaults (same as table_provision). + Example: add SearchBm25 for full-text search on files: + {"provisions": {"files": {"nodes": [{"$type": + "SearchBm25", "data": {"source_fields": ["description"]}}]}}} + Example: + storage_config := '{"buckets": [{"name": "documents", "is_public": false, "allowed_mime_types": ["application/pdf"]}], "provisions": {"files": {"nodes": [{"$type": "SearchBm25", "data": {"source_fields": ["description"]}}]}}}'::jsonb + """ + storageConfig: JSON - """Change amount: positive for increment, negative for decrement""" - delta: BigInt + """ + Escape hatch: when true, apply zero RLS policies to the entity table. Defaults to false. + Use this only when you want the entity table provisioned with zero policies (e.g. because you + plan to insert secure_table_provision rows yourself later). In most cases, prefer leaving this + false and either accepting the five defaults (table_provision=NULL) or overriding them via + table_provision. + Defaults (applied when table_provision IS NULL and skip_entity_policies=false): + - SELECT (parent_member): parent entity members can see child entities (only when is_visible=true) + - SELECT (self_member): direct members of the entity can see it + - INSERT: create_entity permission on the parent entity + - UPDATE: admin_entity permission on the entity itself + - DELETE: owner of the entity can delete it + """ + skipEntityPolicies: Boolean! - """Usage count before this event""" - numBefore: BigInt + """ + Single jsonb object describing the full security setup to apply to the entity table. + Uses the same vocabulary as metaschema_modules_public.provision_table() and blueprint tables[] + entries, so an entity table is configured the same way an ordinary blueprint table is. + Defaults to NULL; when non-NULL, the five default policies are implicitly replaced by + table_provision.policies[] (is_visible becomes a no-op on this path). + Recognized keys (all optional): + - use_rls (boolean, default true) + - nodes (jsonb array of {"$type","data"} Data* module entries) + - fields (jsonb array of field objects: name,type,is_required,default,min,max,regexp,index) + - grants (jsonb array of grant objects; each with roles[] and privileges[]) + - policies (jsonb array of policy objects; each with $type, privileges, data, name, role, permissive) + The trigger forwards all setup (nodes/fields/grants/policies) as a single secure_table_provision row + against the newly created entity table. + Example — override with two SELECT policies: + table_provision := jsonb_build_object( + 'policies', jsonb_build_array( + jsonb_build_object( + '$type', 'AuthzEntityMembership', + 'privileges', jsonb_build_array('select'), + 'data', jsonb_build_object('entity_field', 'id', 'membership_type', 3), + 'name', 'self_member' + ), + jsonb_build_object( + '$type', 'AuthzDirectOwner', + 'privileges', jsonb_build_array('select', 'update'), + 'data', jsonb_build_object('owner_field', 'owner_id') + ) + ) + ) + """ + tableProvision: JSON - """Usage count after this event""" - numAfter: BigInt + """ + Output: the auto-assigned integer membership type ID. Populated by the trigger after successful provisioning. + This is the ID used in entity_types, memberships_module, and all module tables. + """ + outMembershipType: Int - """Max limit ceiling at the time of this event""" - maxAtEvent: BigInt + """ + Output: the UUID of the created entity table. Populated by the trigger. + Use this to reference the entity table in subsequent relation_provision or secure_table_provision rows. + """ + outEntityTableId: UUID """ - Optional reason or source: achievement, invite, plan_change, purchase, etc. + Output: the name of the created entity table (e.g. 'data_rooms'). Populated by the trigger. """ - reason: String -} + outEntityTableName: String -"""The output of our create `OrgChartEdge` mutation.""" -type CreateOrgChartEdgePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Output: array of installed module labels (e.g. ARRAY['permissions_module:data_room', 'memberships_module:data_room', 'invites_module:data_room']). + Populated by the trigger. Useful for verifying which modules were provisioned. """ - clientMutationId: String + outInstalledModules: [String] - """The `OrgChartEdge` that was created by this mutation.""" - orgChartEdge: OrgChartEdge + """ + Output: the UUID of the storage_module row created for this entity type. Populated by the trigger when has_storage=true. + """ + outStorageModuleId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Output: the UUID of the generated buckets table (e.g. data_room_buckets). Populated by the trigger when has_storage=true. """ - query: Query + outBucketsTableId: UUID - """An edge for our `OrgChartEdge`. May be used by Relay 1.""" - orgChartEdgeEdge( - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeEdge -} + """ + Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. + """ + outFilesTableId: UUID + outPathSharesTableId: UUID -"""All input for the create `OrgChartEdge` mutation.""" -input CreateOrgChartEdgeInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. + NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING + (i.e. the invites_module row was created in a previous run). """ - clientMutationId: String + outInvitesModuleId: UUID - """The `OrgChartEdge` to be created by this mutation.""" - orgChartEdge: OrgChartEdgeInput! + """ + Reads a single `Database` that is related to this `EntityTypeProvision`. + """ + database: Database } -"""An input for mutations affecting `OrgChartEdge`""" -input OrgChartEdgeInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - - """Organization this hierarchy edge belongs to""" - entityId: UUID! +"""A `EntityTypeProvision` edge in the connection.""" +type EntityTypeProvisionEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """User ID of the subordinate (employee) in this reporting relationship""" - childId: UUID! + """The `EntityTypeProvision` at the end of the edge.""" + node: EntityTypeProvision +} - """ - User ID of the manager; NULL indicates a top-level position with no direct report - """ - parentId: UUID +"""Methods to use when ordering `EntityTypeProvision`.""" +enum EntityTypeProvisionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + NAME_ASC + NAME_DESC + PREFIX_ASC + PREFIX_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + PARENT_ENTITY_ASC + PARENT_ENTITY_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC + IS_VISIBLE_ASC + IS_VISIBLE_DESC + HAS_LIMITS_ASC + HAS_LIMITS_DESC + HAS_PROFILES_ASC + HAS_PROFILES_DESC + HAS_LEVELS_ASC + HAS_LEVELS_DESC + HAS_STORAGE_ASC + HAS_STORAGE_DESC + HAS_INVITES_ASC + HAS_INVITES_DESC + STORAGE_CONFIG_ASC + STORAGE_CONFIG_DESC + SKIP_ENTITY_POLICIES_ASC + SKIP_ENTITY_POLICIES_DESC + TABLE_PROVISION_ASC + TABLE_PROVISION_DESC + OUT_MEMBERSHIP_TYPE_ASC + OUT_MEMBERSHIP_TYPE_DESC + OUT_ENTITY_TABLE_ID_ASC + OUT_ENTITY_TABLE_ID_DESC + OUT_ENTITY_TABLE_NAME_ASC + OUT_ENTITY_TABLE_NAME_DESC + OUT_INSTALLED_MODULES_ASC + OUT_INSTALLED_MODULES_DESC + OUT_STORAGE_MODULE_ID_ASC + OUT_STORAGE_MODULE_ID_DESC + OUT_BUCKETS_TABLE_ID_ASC + OUT_BUCKETS_TABLE_ID_DESC + OUT_FILES_TABLE_ID_ASC + OUT_FILES_TABLE_ID_DESC + OUT_PATH_SHARES_TABLE_ID_ASC + OUT_PATH_SHARES_TABLE_ID_DESC + OUT_INVITES_MODULE_ID_ASC + OUT_INVITES_MODULE_ID_DESC +} - """Job title or role name for this position in the org chart""" - positionTitle: String +type RateLimitsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + rateLimitSettingsTableId: UUID! + ipRateLimitsTableId: UUID! + rateLimitsTableId: UUID! + rateLimitSettingsTable: String! + ipRateLimitsTable: String! + rateLimitsTable: String! - """Numeric seniority level for this position (higher = more senior)""" - positionLevel: Int -} + """Reads a single `Database` that is related to this `RateLimitsModule`.""" + database: Database -"""The output of our create `AppLimit` mutation.""" -type CreateAppLimitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `RateLimitsModule`.""" + ipRateLimitsTableByIpRateLimitsTableId: Table - """The `AppLimit` that was created by this mutation.""" - appLimit: AppLimit + """Reads a single `Table` that is related to this `RateLimitsModule`.""" + rateLimitSettingsTableByRateLimitSettingsTableId: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `RateLimitsModule`.""" + rateLimitsTableByRateLimitsTableId: Table - """An edge for our `AppLimit`. May be used by Relay 1.""" - appLimitEdge( - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitEdge + """Reads a single `Schema` that is related to this `RateLimitsModule`.""" + schema: Schema } -"""All input for the create `AppLimit` mutation.""" -input CreateAppLimitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +type DevicesModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + userDevicesTableId: UUID! + deviceSettingsTableId: UUID! + userDevicesTable: String! + deviceSettingsTable: String! - """The `AppLimit` to be created by this mutation.""" - appLimit: AppLimitInput! -} + """Reads a single `Database` that is related to this `DevicesModule`.""" + database: Database -"""An input for mutations affecting `AppLimit`""" -input AppLimitInput { - id: UUID + """Reads a single `Table` that is related to this `DevicesModule`.""" + deviceSettingsTableByDeviceSettingsTableId: Table - """Name identifier of the limit being tracked""" - name: String + """Reads a single `Schema` that is related to this `DevicesModule`.""" + schema: Schema - """User whose usage is being tracked against this limit""" - actorId: UUID! + """Reads a single `Table` that is related to this `DevicesModule`.""" + userDevicesTableByUserDevicesTableId: Table +} - """Current usage count for this actor and limit""" - num: BigInt +"""A connection to a list of `WebauthnCredentialsModule` values.""" +type WebauthnCredentialsModuleConnection { + """A list of `WebauthnCredentialsModule` objects.""" + nodes: [WebauthnCredentialsModule]! """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + A list of edges which contains the `WebauthnCredentialsModule` and cursor to aid in pagination. """ - max: BigInt + edges: [WebauthnCredentialsModuleEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + The count of *all* `WebauthnCredentialsModule` you could get from the connection. """ - softMax: BigInt + totalCount: Int! +} - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime +""" +Config row for the webauthn_credentials_module, which provisions the per-user WebAuthn/passkey credentials table (public key, counter, transports, device type, backup state) mirroring crypto_addresses_module. The sibling webauthn_auth_module holds RP config and the registration/sign-in challenge state. +""" +type WebauthnCredentialsModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + Private schema that hosts SECURITY DEFINER helpers which write to webauthn_credentials (registration / counter-bump / delete). """ - windowDuration: IntervalInput -} + privateSchemaId: UUID! + tableId: UUID! + ownerTableId: UUID! + tableName: String! -"""The output of our create `OrgLimitAggregate` mutation.""" -type CreateOrgLimitAggregatePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Database` that is related to this `WebauthnCredentialsModule`. """ - clientMutationId: String - - """The `OrgLimitAggregate` that was created by this mutation.""" - orgLimitAggregate: OrgLimitAggregate + database: Database """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Table` that is related to this `WebauthnCredentialsModule`. """ - query: Query + ownerTable: Table - """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" - orgLimitAggregateEdge( - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateEdge -} + """ + Reads a single `Schema` that is related to this `WebauthnCredentialsModule`. + """ + privateSchema: Schema -"""All input for the create `OrgLimitAggregate` mutation.""" -input CreateOrgLimitAggregateInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `Schema` that is related to this `WebauthnCredentialsModule`. """ - clientMutationId: String + schema: Schema - """The `OrgLimitAggregate` to be created by this mutation.""" - orgLimitAggregate: OrgLimitAggregateInput! + """ + Reads a single `Table` that is related to this `WebauthnCredentialsModule`. + """ + table: Table } -"""An input for mutations affecting `OrgLimitAggregate`""" -input OrgLimitAggregateInput { - id: UUID - - """Name identifier of the aggregate limit being tracked""" - name: String - - """Entity (org) whose aggregate usage is being tracked""" - entityId: UUID! - - """Current aggregate usage count for this entity and limit""" - num: BigInt - - """Maximum allowed aggregate usage; negative means unlimited""" - max: BigInt - - """Soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt - - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime +"""A `WebauthnCredentialsModule` edge in the connection.""" +type WebauthnCredentialsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput + """The `WebauthnCredentialsModule` at the end of the edge.""" + node: WebauthnCredentialsModule } -"""The output of our create `BlueprintConstruction` mutation.""" -type CreateBlueprintConstructionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `WebauthnCredentialsModule`.""" +enum WebauthnCredentialsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + TABLE_ID_ASC + TABLE_ID_DESC + OWNER_TABLE_ID_ASC + OWNER_TABLE_ID_DESC + TABLE_NAME_ASC + TABLE_NAME_DESC +} - """The `BlueprintConstruction` that was created by this mutation.""" - blueprintConstruction: BlueprintConstruction +"""A connection to a list of `WebauthnAuthModule` values.""" +type WebauthnAuthModuleConnection { + """A list of `WebauthnAuthModule` objects.""" + nodes: [WebauthnAuthModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `WebauthnAuthModule` and cursor to aid in pagination. """ - query: Query + edges: [WebauthnAuthModuleEdge]! - """An edge for our `BlueprintConstruction`. May be used by Relay 1.""" - blueprintConstructionEdge( - """The method to use when ordering `BlueprintConstruction`.""" - orderBy: [BlueprintConstructionOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintConstructionEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `BlueprintConstruction` mutation.""" -input CreateBlueprintConstructionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `WebauthnAuthModule` you could get from the connection. """ - clientMutationId: String - - """The `BlueprintConstruction` to be created by this mutation.""" - blueprintConstruction: BlueprintConstructionInput! + totalCount: Int! } -"""An input for mutations affecting `BlueprintConstruction`""" -input BlueprintConstructionInput { - """Unique identifier for this construction attempt.""" - id: UUID +type WebauthnAuthModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + usersTableId: UUID! + credentialsTableId: UUID! + sessionsTableId: UUID! + sessionCredentialsTableId: UUID! + sessionSecretsTableId: UUID! + authSettingsTableId: UUID! + rpId: String! + rpName: String! + originAllowlist: [String]! + attestationType: String! + requireUserVerification: Boolean! + residentKey: String! + challengeExpiry: Interval! - """The blueprint that was constructed.""" - blueprintId: UUID! + """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" + authSettingsTable: Table - """The database the blueprint was constructed into.""" - databaseId: UUID! + """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" + credentialsTable: Table """ - The default schema used for tables that did not specify an explicit schema_name. NULL if not yet resolved. + Reads a single `Database` that is related to this `WebauthnAuthModule`. """ - schemaId: UUID + database: Database - """ - Execution state of this construction attempt. pending: created but not yet started. constructing: currently executing. constructed: successfully completed. failed: execution failed (see error_details). - """ - status: String + """Reads a single `Schema` that is related to this `WebauthnAuthModule`.""" + schema: Schema - """ - Error message from a failed construction attempt. NULL unless status is failed. - """ - errorDetails: String + """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" + sessionCredentialsTable: Table - """ - Mapping of table names to created table UUIDs, populated after successful construction. Format: {"products": "uuid", "categories": "uuid", ...}. Defaults to empty object. - """ - tableMap: JSON + """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" + sessionSecretsTable: Table - """ - Immutable snapshot of the definition at construct-time. Preserved so the exact definition that was executed is recorded even if the user later modifies the blueprint definition. - """ - constructedDefinition: JSON + """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" + sessionsTable: Table - """ - Timestamp when construction successfully completed. NULL until constructed. - """ - constructedAt: Datetime + """Reads a single `Table` that is related to this `WebauthnAuthModule`.""" + usersTable: Table +} - """Timestamp when this construction attempt was created.""" - createdAt: Datetime +"""A `WebauthnAuthModule` edge in the connection.""" +type WebauthnAuthModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Timestamp when this construction attempt was last modified.""" - updatedAt: Datetime + """The `WebauthnAuthModule` at the end of the edge.""" + node: WebauthnAuthModule } -"""The output of our create `PlansModule` mutation.""" -type CreatePlansModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `WebauthnAuthModule`.""" +enum WebauthnAuthModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + CREDENTIALS_TABLE_ID_ASC + CREDENTIALS_TABLE_ID_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC + SESSION_CREDENTIALS_TABLE_ID_ASC + SESSION_CREDENTIALS_TABLE_ID_DESC + SESSION_SECRETS_TABLE_ID_ASC + SESSION_SECRETS_TABLE_ID_DESC + AUTH_SETTINGS_TABLE_ID_ASC + AUTH_SETTINGS_TABLE_ID_DESC + RP_ID_ASC + RP_ID_DESC + RP_NAME_ASC + RP_NAME_DESC + ORIGIN_ALLOWLIST_ASC + ORIGIN_ALLOWLIST_DESC + ATTESTATION_TYPE_ASC + ATTESTATION_TYPE_DESC + REQUIRE_USER_VERIFICATION_ASC + REQUIRE_USER_VERIFICATION_DESC + RESIDENT_KEY_ASC + RESIDENT_KEY_DESC + CHALLENGE_EXPIRY_ASC + CHALLENGE_EXPIRY_DESC +} - """The `PlansModule` that was created by this mutation.""" - plansModule: PlansModule +"""A connection to a list of `NotificationsModule` values.""" +type NotificationsModuleConnection { + """A list of `NotificationsModule` objects.""" + nodes: [NotificationsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `NotificationsModule` and cursor to aid in pagination. """ - query: Query + edges: [NotificationsModuleEdge]! - """An edge for our `PlansModule`. May be used by Relay 1.""" - plansModuleEdge( - """The method to use when ordering `PlansModule`.""" - orderBy: [PlansModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PlansModuleEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `PlansModule` mutation.""" -input CreatePlansModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `NotificationsModule` you could get from the connection. """ - clientMutationId: String - - """The `PlansModule` to be created by this mutation.""" - plansModule: PlansModuleInput! + totalCount: Int! } -"""An input for mutations affecting `PlansModule`""" -input PlansModuleInput { - id: UUID +type NotificationsModule { + id: UUID! databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - plansTableId: UUID - plansTableName: String - planLimitsTableId: UUID - planLimitsTableName: String - applyPlanFunction: String - applyPlanAggregateFunction: String - prefix: String -} - -"""The output of our create `RlsModule` mutation.""" -type CreateRlsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + schemaId: UUID! + privateSchemaId: UUID! + notificationsTableId: UUID! + readStateTableId: UUID! + preferencesTableId: UUID + channelsTableId: UUID + deliveryLogTableId: UUID + ownerTableId: UUID! + userSettingsTableId: UUID + organizationSettingsTableId: UUID + hasChannels: Boolean! + hasPreferences: Boolean! + hasSettingsExtension: Boolean! + hasDigestMetadata: Boolean! + hasSubscriptions: Boolean! - """The `RlsModule` that was created by this mutation.""" - rlsModule: RlsModule + """Reads a single `Table` that is related to this `NotificationsModule`.""" + channelsTableByChannelsTableId: Table """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Database` that is related to this `NotificationsModule`. """ - query: Query + database: Database - """An edge for our `RlsModule`. May be used by Relay 1.""" - rlsModuleEdge( - """The method to use when ordering `RlsModule`.""" - orderBy: [RlsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): RlsModuleEdge -} + """Reads a single `Table` that is related to this `NotificationsModule`.""" + deliveryLogTableByDeliveryLogTableId: Table -"""All input for the create `RlsModule` mutation.""" -input CreateRlsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `RlsModule` to be created by this mutation.""" - rlsModule: RlsModuleInput! -} - -"""An input for mutations affecting `RlsModule`""" -input RlsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - sessionCredentialsTableId: UUID - sessionsTableId: UUID - usersTableId: UUID - authenticate: String - authenticateStrict: String - currentRole: String - currentRoleId: String -} + """Reads a single `Table` that is related to this `NotificationsModule`.""" + notificationsTableByNotificationsTableId: Table -"""The output of our create `SessionsModule` mutation.""" -type CreateSessionsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `NotificationsModule`.""" + organizationSettingsTableByOrganizationSettingsTableId: Table - """The `SessionsModule` that was created by this mutation.""" - sessionsModule: SessionsModule + """Reads a single `Table` that is related to this `NotificationsModule`.""" + ownerTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `NotificationsModule`.""" + preferencesTableByPreferencesTableId: Table - """An edge for our `SessionsModule`. May be used by Relay 1.""" - sessionsModuleEdge( - """The method to use when ordering `SessionsModule`.""" - orderBy: [SessionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SessionsModuleEdge -} + """Reads a single `Schema` that is related to this `NotificationsModule`.""" + privateSchema: Schema -"""All input for the create `SessionsModule` mutation.""" -input CreateSessionsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `NotificationsModule`.""" + readStateTableByReadStateTableId: Table - """The `SessionsModule` to be created by this mutation.""" - sessionsModule: SessionsModuleInput! -} + """Reads a single `Schema` that is related to this `NotificationsModule`.""" + schema: Schema -"""An input for mutations affecting `SessionsModule`""" -input SessionsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - authSettingsTableId: UUID - usersTableId: UUID - sessionsDefaultExpiration: IntervalInput - sessionsTable: String - sessionCredentialsTable: String - authSettingsTable: String + """Reads a single `Table` that is related to this `NotificationsModule`.""" + userSettingsTableByUserSettingsTableId: Table } -"""The output of our create `OrgGrant` mutation.""" -type CreateOrgGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `OrgGrant` that was created by this mutation.""" - orgGrant: OrgGrant - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `NotificationsModule` edge in the connection.""" +type NotificationsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `OrgGrant`. May be used by Relay 1.""" - orgGrantEdge( - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgGrantEdge + """The `NotificationsModule` at the end of the edge.""" + node: NotificationsModule } -"""All input for the create `OrgGrant` mutation.""" -input CreateOrgGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `OrgGrant` to be created by this mutation.""" - orgGrant: OrgGrantInput! +"""Methods to use when ordering `NotificationsModule`.""" +enum NotificationsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + NOTIFICATIONS_TABLE_ID_ASC + NOTIFICATIONS_TABLE_ID_DESC + READ_STATE_TABLE_ID_ASC + READ_STATE_TABLE_ID_DESC + PREFERENCES_TABLE_ID_ASC + PREFERENCES_TABLE_ID_DESC + CHANNELS_TABLE_ID_ASC + CHANNELS_TABLE_ID_DESC + DELIVERY_LOG_TABLE_ID_ASC + DELIVERY_LOG_TABLE_ID_DESC + OWNER_TABLE_ID_ASC + OWNER_TABLE_ID_DESC + USER_SETTINGS_TABLE_ID_ASC + USER_SETTINGS_TABLE_ID_DESC + ORGANIZATION_SETTINGS_TABLE_ID_ASC + ORGANIZATION_SETTINGS_TABLE_ID_DESC + HAS_CHANNELS_ASC + HAS_CHANNELS_DESC + HAS_PREFERENCES_ASC + HAS_PREFERENCES_DESC + HAS_SETTINGS_EXTENSION_ASC + HAS_SETTINGS_EXTENSION_DESC + HAS_DIGEST_METADATA_ASC + HAS_DIGEST_METADATA_DESC + HAS_SUBSCRIPTIONS_ASC + HAS_SUBSCRIPTIONS_DESC } -"""An input for mutations affecting `OrgGrant`""" -input OrgGrantInput { - id: UUID - - """Bitmask of permissions being granted or revoked""" - permissions: BitString - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean - - """The member receiving or losing the permission grant""" - actorId: UUID! +type PlansModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + plansTableId: UUID! + plansTableName: String! + planLimitsTableId: UUID! + planLimitsTableName: String! + planPricingTableId: UUID + planOverridesTableId: UUID + applyPlanFunction: String! + applyPlanAggregateFunction: String! + prefix: String - """The entity (org or group) this permission grant applies to""" - entityId: UUID! - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Database` that is related to this `PlansModule`.""" + database: Database -"""The output of our create `AppLevel` mutation.""" -type CreateAppLevelPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Table` that is related to this `PlansModule`.""" + planLimitsTable: Table - """The `AppLevel` that was created by this mutation.""" - appLevel: AppLevel + """Reads a single `Table` that is related to this `PlansModule`.""" + planOverridesTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `PlansModule`.""" + planPricingTable: Table - """An edge for our `AppLevel`. May be used by Relay 1.""" - appLevelEdge( - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelEdge -} + """Reads a single `Table` that is related to this `PlansModule`.""" + plansTable: Table -"""All input for the create `AppLevel` mutation.""" -input CreateAppLevelInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Schema` that is related to this `PlansModule`.""" + privateSchema: Schema - """The `AppLevel` to be created by this mutation.""" - appLevel: AppLevelInput! + """Reads a single `Schema` that is related to this `PlansModule`.""" + schema: Schema } -"""An input for mutations affecting `AppLevel`""" -input AppLevelInput { - id: UUID - - """Unique name of the level""" - name: String! - - """Human-readable description of what this level represents""" - description: String - - """Badge or icon image associated with this level""" - image: ConstructiveInternalTypeImage +type BillingModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + metersTableId: UUID! + metersTableName: String! + planSubscriptionsTableId: UUID! + planSubscriptionsTableName: String! + ledgerTableId: UUID! + ledgerTableName: String! + balancesTableId: UUID! + balancesTableName: String! + recordUsageFunction: String! + prefix: String - """Optional owner (actor) who created or manages this level""" - ownerId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Reads a single `Table` that is related to this `BillingModule`.""" + balancesTable: Table -"""The output of our create `OrgLimit` mutation.""" -type CreateOrgLimitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `Database` that is related to this `BillingModule`.""" + database: Database - """The `OrgLimit` that was created by this mutation.""" - orgLimit: OrgLimit + """Reads a single `Table` that is related to this `BillingModule`.""" + ledgerTable: Table - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `Table` that is related to this `BillingModule`.""" + metersTable: Table - """An edge for our `OrgLimit`. May be used by Relay 1.""" - orgLimitEdge( - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitEdge -} + """Reads a single `Table` that is related to this `BillingModule`.""" + planSubscriptionsTable: Table -"""All input for the create `OrgLimit` mutation.""" -input CreateOrgLimitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Reads a single `Schema` that is related to this `BillingModule`.""" + privateSchema: Schema - """The `OrgLimit` to be created by this mutation.""" - orgLimit: OrgLimitInput! + """Reads a single `Schema` that is related to this `BillingModule`.""" + schema: Schema } -"""An input for mutations affecting `OrgLimit`""" -input OrgLimitInput { - id: UUID - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" - actorId: UUID! - - """Current usage count for this actor and limit""" - num: BigInt +type BillingProviderModule { + id: UUID! + databaseId: UUID! + schemaId: UUID! + privateSchemaId: UUID! + provider: String! + productsTableId: UUID + pricesTableId: UUID + subscriptionsTableId: UUID + billingCustomersTableId: UUID! + billingCustomersTableName: String! + billingProductsTableId: UUID! + billingProductsTableName: String! + billingPricesTableId: UUID! + billingPricesTableName: String! + billingSubscriptionsTableId: UUID! + billingSubscriptionsTableName: String! + billingWebhookEventsTableId: UUID! + billingWebhookEventsTableName: String! + processBillingEventFunction: String! + prefix: String """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - max: BigInt + billingCustomersTable: Table """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - softMax: BigInt - - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + billingPricesTable: Table """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + Reads a single `Table` that is related to this `BillingProviderModule`. """ - windowDuration: IntervalInput - entityId: UUID! -} + billingProductsTable: Table -"""The output of our create `Blueprint` mutation.""" -type CreateBlueprintPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - clientMutationId: String - - """The `Blueprint` that was created by this mutation.""" - blueprint: Blueprint + billingSubscriptionsTable: Table """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - query: Query - - """An edge for our `Blueprint`. May be used by Relay 1.""" - blueprintEdge( - """The method to use when ordering `Blueprint`.""" - orderBy: [BlueprintOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintEdge -} + billingWebhookEventsTable: Table -"""All input for the create `Blueprint` mutation.""" -input CreateBlueprintInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `Database` that is related to this `BillingProviderModule`. """ - clientMutationId: String - - """The `Blueprint` to be created by this mutation.""" - blueprint: BlueprintInput! -} - -"""An input for mutations affecting `Blueprint`""" -input BlueprintInput { - """Unique identifier for this blueprint.""" - id: UUID - - """The user who owns this blueprint.""" - ownerId: UUID! + database: Database """ - The database this blueprint is scoped to. Tables created by construct_blueprint() are provisioned in this database. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - databaseId: UUID! - - """Machine-readable name for the blueprint. Must be unique per database.""" - name: String! - - """Human-readable display name for the blueprint.""" - displayName: String! - - """Optional description of the blueprint.""" - description: String + pricesTable: Table """ - The blueprint definition as a JSONB document. Contains tables[] (each with table_name, optional schema_name, nodes[] for data behaviors, fields[], grants[], and policies[] using $type), relations[] (using $type with source_table/target_table and optional source_schema/target_schema), indexes[] (using table_name + column), and full_text_searches[] (using table_name + field + sources[]). Everything is name-based — no UUIDs in the definition. + Reads a single `Schema` that is related to this `BillingProviderModule`. """ - definition: JSON! + privateSchema: Schema """ - If this blueprint was created by copying a template, the ID of the source template. NULL if built from scratch. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - templateId: UUID + productsTable: Table """ - UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication and provenance tracking. Backend-computed — clients should never set this directly. + Reads a single `Schema` that is related to this `BillingProviderModule`. """ - definitionHash: UUID + schema: Schema """ - JSONB map of table names to their individual UUIDv5 content hashes. Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across blueprints and templates. Backend-computed via trigger. + Reads a single `Table` that is related to this `BillingProviderModule`. """ - tableHashes: JSON - - """Timestamp when this blueprint was created.""" - createdAt: Datetime - - """Timestamp when this blueprint was last modified.""" - updatedAt: Datetime + subscriptionsTable: Table } -"""The output of our create `DenormalizedTableField` mutation.""" -type CreateDenormalizedTableFieldPayload { +"""A connection to a list of `DatabaseProvisionModule` values.""" +type DatabaseProvisionModuleConnection { + """A list of `DatabaseProvisionModule` objects.""" + nodes: [DatabaseProvisionModule]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `DatabaseProvisionModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [DatabaseProvisionModuleEdge]! - """The `DenormalizedTableField` that was created by this mutation.""" - denormalizedTableField: DenormalizedTableField + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `DatabaseProvisionModule` you could get from the connection. """ - query: Query - - """An edge for our `DenormalizedTableField`. May be used by Relay 1.""" - denormalizedTableFieldEdge( - """The method to use when ordering `DenormalizedTableField`.""" - orderBy: [DenormalizedTableFieldOrderBy!]! = [PRIMARY_KEY_ASC] - ): DenormalizedTableFieldEdge + totalCount: Int! } -"""All input for the create `DenormalizedTableField` mutation.""" -input CreateDenormalizedTableFieldInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Tracks database provisioning requests and their status. The BEFORE INSERT trigger creates the database and sets database_id before RLS policies are evaluated. +""" +type DatabaseProvisionModule { + id: UUID! - """The `DenormalizedTableField` to be created by this mutation.""" - denormalizedTableField: DenormalizedTableFieldInput! -} + """The name for the new database""" + databaseName: String! -"""An input for mutations affecting `DenormalizedTableField`""" -input DenormalizedTableFieldInput { - id: UUID - databaseId: UUID! - tableId: UUID! - fieldId: UUID! - setIds: [UUID] - refTableId: UUID! - refFieldId: UUID! - refIds: [UUID] - useUpdates: Boolean - updateDefaults: Boolean - funcName: String - funcOrder: Int -} + """UUID of the user who owns this database""" + ownerId: UUID! -"""The output of our create `OrgMemberProfile` mutation.""" -type CreateOrgMemberProfilePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Subdomain prefix for the database. If null, auto-generated using unique_names + random chars """ - clientMutationId: String + subdomain: String - """The `OrgMemberProfile` that was created by this mutation.""" - orgMemberProfile: OrgMemberProfile + """Base domain for the database (e.g., example.com)""" + domain: String! + + """Array of module IDs to install, or ["all"] for all modules""" + modules: [String]! + + """Additional configuration options for provisioning""" + options: JSON! """ - Our root query field type. Allows us to run any query from our mutation payload. + When true, copies the owner user and password hash from source database to the newly provisioned database """ - query: Query + bootstrapUser: Boolean! - """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" - orgMemberProfileEdge( - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberProfileEdge -} + """Current status: pending, in_progress, completed, or failed""" + status: String! + errorMessage: String + + """The ID of the provisioned database (set by trigger before RLS check)""" + databaseId: UUID + createdAt: Datetime! + updatedAt: Datetime! + completedAt: Datetime -"""All input for the create `OrgMemberProfile` mutation.""" -input CreateOrgMemberProfileInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `Database` that is related to this `DatabaseProvisionModule`. """ - clientMutationId: String - - """The `OrgMemberProfile` to be created by this mutation.""" - orgMemberProfile: OrgMemberProfileInput! + database: Database } -"""An input for mutations affecting `OrgMemberProfile`""" -input OrgMemberProfileInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime +"""A `DatabaseProvisionModule` edge in the connection.""" +type DatabaseProvisionModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """References the membership this profile belongs to (1:1)""" - membershipId: UUID! + """The `DatabaseProvisionModule` at the end of the edge.""" + node: DatabaseProvisionModule +} - """References the entity this profile belongs to (used for RLS lookups)""" - entityId: UUID! +"""Methods to use when ordering `DatabaseProvisionModule`.""" +enum DatabaseProvisionModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_NAME_ASC + DATABASE_NAME_DESC + OWNER_ID_ASC + OWNER_ID_DESC + SUBDOMAIN_ASC + SUBDOMAIN_DESC + DOMAIN_ASC + DOMAIN_DESC + MODULES_ASC + MODULES_DESC + OPTIONS_ASC + OPTIONS_DESC + BOOTSTRAP_USER_ASC + BOOTSTRAP_USER_DESC + STATUS_ASC + STATUS_DESC + ERROR_MESSAGE_ASC + ERROR_MESSAGE_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + COMPLETED_AT_ASC + COMPLETED_AT_DESC +} - """References the user who owns this profile (for self-edit RLS)""" - actorId: UUID! +"""A `Database` edge in the connection.""" +type DatabaseEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Display name shown to other entity members""" - displayName: String + """The `Database` at the end of the edge.""" + node: Database +} - """ - Email address visible to other entity members (auto-populated from verified primary email) - """ - email: String +"""Methods to use when ordering `Database`.""" +enum DatabaseOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + SCHEMA_HASH_ASC + SCHEMA_HASH_DESC + NAME_ASC + NAME_DESC + LABEL_ASC + LABEL_DESC + HASH_ASC + HASH_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """Job title or role description visible to other entity members""" - title: String +""" +Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status +""" +type AppMembership { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Short biography visible to other entity members""" - bio: String + """Whether this membership has been approved by an admin""" + isApproved: Boolean! - """Profile picture visible to other entity members""" - profilePicture: ConstructiveInternalTypeImage -} + """Whether this member has been banned from the entity""" + isBanned: Boolean! + + """Whether this membership is temporarily disabled""" + isDisabled: Boolean! + + """Whether this member has been verified (e.g. email confirmation)""" + isVerified: Boolean! -"""The output of our create `SqlAction` mutation.""" -type CreateSqlActionPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Computed field indicating the membership is approved, verified, not banned, and not disabled """ - clientMutationId: String + isActive: Boolean! - """The `SqlAction` that was created by this mutation.""" - sqlAction: SqlAction + """Whether the actor is the owner of this entity""" + isOwner: Boolean! + + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Aggregated permission bitmask combining profile-based and directly granted permissions """ - query: Query -} + permissions: BitString! -"""All input for the create `SqlAction` mutation.""" -input CreateSqlActionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Bitmask of permissions directly granted to this member (not from profiles) """ - clientMutationId: String + granted: BitString! - """The `SqlAction` to be created by this mutation.""" - sqlAction: SqlActionInput! -} + """References the user who holds this membership""" + actorId: UUID! + profileId: UUID -"""An input for mutations affecting `SqlAction`""" -input SqlActionInput { - id: Int - name: String - databaseId: UUID - deploy: String - deps: [String] - payload: JSON - content: String - revert: String - verify: String - createdAt: Datetime - action: String - actionId: UUID - actorId: UUID + """Reads a single `User` that is related to this `AppMembership`.""" + actor: User } -"""The output of our create `DatabaseTransfer` mutation.""" -type CreateDatabaseTransferPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `DatabaseTransfer` that was created by this mutation.""" - databaseTransfer: DatabaseTransfer +"""A connection to a list of `AppAdminGrant` values.""" +type AppAdminGrantConnection { + """A list of `AppAdminGrant` objects.""" + nodes: [AppAdminGrant]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppAdminGrant` and cursor to aid in pagination. """ - query: Query + edges: [AppAdminGrantEdge]! - """An edge for our `DatabaseTransfer`. May be used by Relay 1.""" - databaseTransferEdge( - """The method to use when ordering `DatabaseTransfer`.""" - orderBy: [DatabaseTransferOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseTransferEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppAdminGrant` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `DatabaseTransfer` mutation.""" -input CreateDatabaseTransferInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""Records of admin role grants and revocations between members""" +type AppAdminGrant { + id: UUID! - """The `DatabaseTransfer` to be created by this mutation.""" - databaseTransfer: DatabaseTransferInput! -} + """True to grant admin, false to revoke admin""" + isGrant: Boolean! -"""An input for mutations affecting `DatabaseTransfer`""" -input DatabaseTransferInput { - id: UUID - databaseId: UUID! - targetOwnerId: UUID! - sourceApproved: Boolean - targetApproved: Boolean - sourceApprovedAt: Datetime - targetApprovedAt: Datetime - status: String - initiatedBy: UUID! - notes: String - expiresAt: Datetime + """The member receiving or losing the admin grant""" + actorId: UUID! + grantorId: UUID createdAt: Datetime updatedAt: Datetime - completedAt: Datetime -} - -"""The output of our create `BillingModule` mutation.""" -type CreateBillingModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `BillingModule` that was created by this mutation.""" - billingModule: BillingModule - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `User` that is related to this `AppAdminGrant`.""" + actor: User - """An edge for our `BillingModule`. May be used by Relay 1.""" - billingModuleEdge( - """The method to use when ordering `BillingModule`.""" - orderBy: [BillingModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): BillingModuleEdge + """Reads a single `User` that is related to this `AppAdminGrant`.""" + grantor: User } -"""All input for the create `BillingModule` mutation.""" -input CreateBillingModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `AppAdminGrant` edge in the connection.""" +type AppAdminGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `BillingModule` to be created by this mutation.""" - billingModule: BillingModuleInput! + """The `AppAdminGrant` at the end of the edge.""" + node: AppAdminGrant } -"""An input for mutations affecting `BillingModule`""" -input BillingModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - metersTableId: UUID - metersTableName: String - planSubscriptionsTableId: UUID - planSubscriptionsTableName: String - ledgerTableId: UUID - ledgerTableName: String - balancesTableId: UUID - balancesTableName: String - recordUsageFunction: String - prefix: String +"""Methods to use when ordering `AppAdminGrant`.""" +enum AppAdminGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""The output of our create `CryptoAuthModule` mutation.""" -type CreateCryptoAuthModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `CryptoAuthModule` that was created by this mutation.""" - cryptoAuthModule: CryptoAuthModule +"""A connection to a list of `AppOwnerGrant` values.""" +type AppOwnerGrantConnection { + """A list of `AppOwnerGrant` objects.""" + nodes: [AppOwnerGrant]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppOwnerGrant` and cursor to aid in pagination. """ - query: Query - - """An edge for our `CryptoAuthModule`. May be used by Relay 1.""" - cryptoAuthModuleEdge( - """The method to use when ordering `CryptoAuthModule`.""" - orderBy: [CryptoAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAuthModuleEdge -} + edges: [AppOwnerGrantEdge]! -"""All input for the create `CryptoAuthModule` mutation.""" -input CreateCryptoAuthModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `CryptoAuthModule` to be created by this mutation.""" - cryptoAuthModule: CryptoAuthModuleInput! + """The count of *all* `AppOwnerGrant` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `CryptoAuthModule`""" -input CryptoAuthModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - usersTableId: UUID - secretsTableId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - addressesTableId: UUID - userField: String! - cryptoNetwork: String - signInRequestChallenge: String - signInRecordFailure: String - signUpWithKey: String - signInWithChallenge: String -} +"""Records of ownership transfers and grants between members""" +type AppOwnerGrant { + id: UUID! -"""The output of our create `DatabaseProvisionModule` mutation.""" -type CreateDatabaseProvisionModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean! - """The `DatabaseProvisionModule` that was created by this mutation.""" - databaseProvisionModule: DatabaseProvisionModule + """The member receiving or losing the ownership grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `User` that is related to this `AppOwnerGrant`.""" + actor: User - """An edge for our `DatabaseProvisionModule`. May be used by Relay 1.""" - databaseProvisionModuleEdge( - """The method to use when ordering `DatabaseProvisionModule`.""" - orderBy: [DatabaseProvisionModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseProvisionModuleEdge + """Reads a single `User` that is related to this `AppOwnerGrant`.""" + grantor: User } -"""All input for the create `DatabaseProvisionModule` mutation.""" -input CreateDatabaseProvisionModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `AppOwnerGrant` edge in the connection.""" +type AppOwnerGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `DatabaseProvisionModule` to be created by this mutation.""" - databaseProvisionModule: DatabaseProvisionModuleInput! + """The `AppOwnerGrant` at the end of the edge.""" + node: AppOwnerGrant } -"""An input for mutations affecting `DatabaseProvisionModule`""" -input DatabaseProvisionModuleInput { - id: UUID - - """The name for the new database""" - databaseName: String! +"""Methods to use when ordering `AppOwnerGrant`.""" +enum AppOwnerGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """UUID of the user who owns this database""" - ownerId: UUID! +"""A connection to a list of `AppGrant` values.""" +type AppGrantConnection { + """A list of `AppGrant` objects.""" + nodes: [AppGrant]! """ - Subdomain prefix for the database. If null, auto-generated using unique_names + random chars + A list of edges which contains the `AppGrant` and cursor to aid in pagination. """ - subdomain: String + edges: [AppGrantEdge]! - """Base domain for the database (e.g., example.com)""" - domain: String! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Array of module IDs to install, or ["all"] for all modules""" - modules: [String] + """The count of *all* `AppGrant` you could get from the connection.""" + totalCount: Int! +} - """Additional configuration options for provisioning""" - options: JSON +""" +Records of individual permission grants and revocations for members via bitmask +""" +type AppGrant { + id: UUID! - """ - When true, copies the owner user and password hash from source database to the newly provisioned database - """ - bootstrapUser: Boolean + """Bitmask of permissions being granted or revoked""" + permissions: BitString! - """Current status: pending, in_progress, completed, or failed""" - status: String - errorMessage: String + """True to grant the permissions, false to revoke them""" + isGrant: Boolean! - """The ID of the provisioned database (set by trigger before RLS check)""" - databaseId: UUID + """The member receiving or losing the permission grant""" + actorId: UUID! + grantorId: UUID createdAt: Datetime updatedAt: Datetime - completedAt: Datetime + + """Reads a single `User` that is related to this `AppGrant`.""" + actor: User + + """Reads a single `User` that is related to this `AppGrant`.""" + grantor: User } -"""The output of our create `InvitesModule` mutation.""" -type CreateInvitesModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A `AppGrant` edge in the connection.""" +type AppGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `InvitesModule` that was created by this mutation.""" - invitesModule: InvitesModule + """The `AppGrant` at the end of the edge.""" + node: AppGrant +} + +"""Methods to use when ordering `AppGrant`.""" +enum AppGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} + +"""A connection to a list of `OrgMembership` values.""" +type OrgMembershipConnection { + """A list of `OrgMembership` objects.""" + nodes: [OrgMembership]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgMembership` and cursor to aid in pagination. """ - query: Query + edges: [OrgMembershipEdge]! - """An edge for our `InvitesModule`. May be used by Relay 1.""" - invitesModuleEdge( - """The method to use when ordering `InvitesModule`.""" - orderBy: [InvitesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): InvitesModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgMembership` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `InvitesModule` mutation.""" -input CreateInvitesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `InvitesModule` to be created by this mutation.""" - invitesModule: InvitesModuleInput! -} +""" +Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status +""" +type OrgMembership { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID -"""An input for mutations affecting `InvitesModule`""" -input InvitesModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - emailsTableId: UUID - usersTableId: UUID - invitesTableId: UUID - claimedInvitesTableId: UUID - invitesTableName: String - claimedInvitesTableName: String - submitInviteCodeFunction: String - prefix: String - membershipType: Int! - entityTableId: UUID -} + """Whether this membership has been approved by an admin""" + isApproved: Boolean! -"""The output of our create `SecureTableProvision` mutation.""" -type CreateSecureTableProvisionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Whether this member has been banned from the entity""" + isBanned: Boolean! - """The `SecureTableProvision` that was created by this mutation.""" - secureTableProvision: SecureTableProvision + """Whether this membership is temporarily disabled""" + isDisabled: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Computed field indicating the membership is approved, verified, not banned, and not disabled """ - query: Query - - """An edge for our `SecureTableProvision`. May be used by Relay 1.""" - secureTableProvisionEdge( - """The method to use when ordering `SecureTableProvision`.""" - orderBy: [SecureTableProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): SecureTableProvisionEdge -} + isActive: Boolean! -"""All input for the create `SecureTableProvision` mutation.""" -input CreateSecureTableProvisionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Whether this member is external (not a member of the parent scope). External members may have restricted permissions. """ - clientMutationId: String - - """The `SecureTableProvision` to be created by this mutation.""" - secureTableProvision: SecureTableProvisionInput! -} - -"""An input for mutations affecting `SecureTableProvision`""" -input SecureTableProvisionInput { - """Unique identifier for this provision row.""" - id: UUID + isExternal: Boolean! - """The database this provision belongs to. Required.""" - databaseId: UUID! + """Whether the actor is the owner of this entity""" + isOwner: Boolean! - """ - Target schema for the table. Defaults to uuid_nil(); the trigger resolves this to the app_public schema if not explicitly provided. - """ - schemaId: UUID + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean! """ - Target table to provision. Defaults to uuid_nil(); the trigger creates or resolves the table via table_name if not explicitly provided. + Aggregated permission bitmask combining profile-based and directly granted permissions """ - tableId: UUID + permissions: BitString! """ - Name of the target table. Used to create or look up the table when table_id is not provided. If omitted, it is backfilled from the resolved table. + Bitmask of permissions directly granted to this member (not from profiles) """ - tableName: String + granted: BitString! - """ - Array of node objects to apply to the table. Each element is a jsonb object with a required "$type" key (one of: DataId, DataDirectOwner, DataEntityMembership, DataOwnershipInEntity, DataTimestamps, DataPeoplestamps, DataPublishable, DataSoftDelete, DataEmbedding, DataFullTextSearch, DataSlug, etc.) and an optional "data" key containing generator-specific configuration. Supports multiple nodes per row, matching the blueprint definition format. Example: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. Defaults to '[]' (no node processing). - """ - nodes: JSON + """References the user who holds this membership""" + actorId: UUID! - """ - If true and Row Level Security is not yet enabled on the target table, enable it. Automatically set to true by the trigger when policies[] is non-empty. Defaults to true. - """ - useRls: Boolean + """References the entity (org or group) this membership belongs to""" + entityId: UUID! - """ - PostgreSQL array of jsonb field definition objects to create on the target table. Each object has keys: "name" (text, required), "type" (text, required), "default" (text, optional), "is_required" (boolean, optional, defaults to false), "min" (float, optional), "max" (float, optional), "regexp" (text, optional), "index" (boolean, optional, defaults to false — creates a btree index on the field). min/max generate CHECK constraints: for text/citext they constrain character_length, for integer/float types they constrain the value. regexp generates a CHECK (col ~ pattern) constraint for text/citext. Fields are created via metaschema.create_field() after any node_type generator runs, and their IDs are appended to out_fields. Example: ARRAY['{"name":"username","type":"citext","max":256,"regexp":"^[a-z0-9_]+$"}'::jsonb, '{"name":"score","type":"integer","min":0,"max":100}'::jsonb]. Defaults to '{}' (no additional fields). - """ - fields: [JSON] + """Whether this member has read-only access (blocks mutations when true)""" + isReadOnly: Boolean! + profileId: UUID - """ - Array of grant objects defining table privileges. Each element is a jsonb object with keys: "roles" (text[], required — database roles to grant to, e.g. ["authenticated","admin"]), "privileges" (jsonb[], required — array of [privilege, columns] tuples, e.g. [["select","*"],["insert","*"]]). "*" means all columns; an array means column-level grant. Supports per-role privilege targeting: different grant entries can target different roles with different privileges. Example: [{"roles":["authenticated"],"privileges":[["select","*"]]},{"roles":["admin"],"privileges":[["insert","*"],["update","*"],["delete","*"]]}]. Defaults to '[]' (no grants). When policies[] omit explicit privileges/policy_role, they fall back to the verbs and first role from grants[]. - """ - grants: JSON + """Reads a single `User` that is related to this `OrgMembership`.""" + actor: User - """ - Array of policy objects to create on the target table. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type, e.g. AuthzEntityMembership, AuthzMembership, AuthzDirectOwner, AuthzPublishable, AuthzAllowAll), "data" (jsonb, optional — opaque configuration passed to metaschema.create_policy(), structure varies by type), "privileges" (text[], optional — privileges the policy applies to, e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — role the policy targets; if omitted, falls back to first role in first grants[] entry, or 'authenticated' if no grants), "permissive" (boolean, optional — PERMISSIVE or RESTRICTIVE; defaults to true), "policy_name" (text, optional — custom suffix for the generated policy name; if omitted, auto-derived from $type by stripping Authz prefix). Supports multiple policies per row. Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "owner_id", "membership_type": 3}, "privileges": ["select", "insert"]}, {"$type": "AuthzDirectOwner", "data": {"entity_field": "actor_id"}, "privileges": ["update", "delete"]}]. Defaults to '[]' (no policies created). When non-empty, the trigger automatically enables RLS. - """ - policies: JSON + """Reads a single `User` that is related to this `OrgMembership`.""" + entity: User """ - Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. + Reads a single `OrgMemberProfile` that is related to this `OrgMembership`. """ - outFields: [UUID] + orgMemberProfileByMembershipId: OrgMemberProfile } -"""The output of our create `AstMigration` mutation.""" -type CreateAstMigrationPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) +""" +type OrgMemberProfile { + id: UUID! + createdAt: Datetime + updatedAt: Datetime - """The `AstMigration` that was created by this mutation.""" - astMigration: AstMigration + """References the membership this profile belongs to (1:1)""" + membershipId: UUID! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query -} + """References the entity this profile belongs to (used for RLS lookups)""" + entityId: UUID! + + """References the user who owns this profile (for self-edit RLS)""" + actorId: UUID! + + """Display name shown to other entity members""" + displayName: String -"""All input for the create `AstMigration` mutation.""" -input CreateAstMigrationInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Email address visible to other entity members (auto-populated from verified primary email) """ - clientMutationId: String + email: String - """The `AstMigration` to be created by this mutation.""" - astMigration: AstMigrationInput! -} + """Job title or role description visible to other entity members""" + title: String -"""An input for mutations affecting `AstMigration`""" -input AstMigrationInput { - id: Int - databaseId: UUID - name: String - requires: [String] - payload: JSON - deploys: String - deploy: JSON - revert: JSON - verify: JSON - createdAt: Datetime - action: String - actionId: UUID - actorId: UUID -} + """Short biography visible to other entity members""" + bio: String -"""The output of our create `Enum` mutation.""" -type CreateEnumPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Profile picture visible to other entity members""" + profilePicture: ConstructiveInternalTypeImage - """The `Enum` that was created by this mutation.""" - enum: Enum + """Reads a single `User` that is related to this `OrgMemberProfile`.""" + actor: User + + """Reads a single `User` that is related to this `OrgMemberProfile`.""" + entity: User """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `OrgMembership` that is related to this `OrgMemberProfile`. """ - query: Query - - """An edge for our `Enum`. May be used by Relay 1.""" - enumEdge( - """The method to use when ordering `Enum`.""" - orderBy: [EnumOrderBy!]! = [PRIMARY_KEY_ASC] - ): EnumEdge + membership: OrgMembership } -"""All input for the create `Enum` mutation.""" -input CreateEnumInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgMembership` edge in the connection.""" +type OrgMembershipEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `Enum` to be created by this mutation.""" - enum: EnumInput! + """The `OrgMembership` at the end of the edge.""" + node: OrgMembership } -"""An input for mutations affecting `Enum`""" -input EnumInput { - id: UUID - databaseId: UUID! - schemaId: UUID! - name: String! - label: String - description: String - values: [String] - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] +"""Methods to use when ordering `OrgMembership`.""" +enum OrgMembershipOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + IS_BANNED_ASC + IS_BANNED_DESC + IS_DISABLED_ASC + IS_DISABLED_DESC + IS_ACTIVE_ASC + IS_ACTIVE_DESC + IS_EXTERNAL_ASC + IS_EXTERNAL_DESC + IS_OWNER_ASC + IS_OWNER_DESC + IS_ADMIN_ASC + IS_ADMIN_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + GRANTED_ASC + GRANTED_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + IS_READ_ONLY_ASC + IS_READ_ONLY_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC } -"""The output of our create `User` mutation.""" -type CreateUserPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `User` that was created by this mutation.""" - user: User - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +""" +Default membership settings per entity, controlling initial approval and verification state for new members +""" +type OrgMembershipDefault { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """An edge for our `User`. May be used by Relay 1.""" - userEdge( - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserEdge -} + """Whether new members are automatically approved upon joining""" + isApproved: Boolean! -"""All input for the create `User` mutation.""" -input CreateUserInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """References the entity these membership defaults apply to""" + entityId: UUID! - """The `User` to be created by this mutation.""" - user: UserInput! + """Reads a single `User` that is related to this `OrgMembershipDefault`.""" + entity: User } -"""An input for mutations affecting `User`""" -input UserInput { - id: UUID - username: String - displayName: String - profilePicture: ConstructiveInternalTypeImage - type: Int +"""Per-entity settings for the memberships module""" +type OrgMembershipSetting { + id: UUID! createdAt: Datetime updatedAt: Datetime -} + createdBy: UUID + updatedBy: UUID + + """References the entity these settings apply to""" + entityId: UUID! -"""The output of our create `View` mutation.""" -type CreateViewPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + When a member is deleted, whether to cascade-remove their descendant-entity memberships """ - clientMutationId: String - - """The `View` that was created by this mutation.""" - view: View + deleteMemberCascadeChildren: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + When a child entity is created, whether to auto-add existing org-level owners as child-entity owners """ - query: Query - - """An edge for our `View`. May be used by Relay 1.""" - viewEdge( - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewEdge -} + createChildCascadeOwners: Boolean! -"""All input for the create `View` mutation.""" -input CreateViewInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + When a child entity is created, whether to auto-add existing org-level admins as child-entity admins """ - clientMutationId: String - - """The `View` to be created by this mutation.""" - view: ViewInput! -} - -"""An input for mutations affecting `View`""" -input ViewInput { - id: UUID - databaseId: UUID - schemaId: UUID! - name: String! - tableId: UUID - viewType: String! - data: JSON - filterType: String - filterData: JSON - securityInvoker: Boolean - isReadOnly: Boolean - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] -} + createChildCascadeAdmins: Boolean! -"""The output of our create `WebauthnAuthModule` mutation.""" -type CreateWebauthnAuthModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members """ - clientMutationId: String - - """The `WebauthnAuthModule` that was created by this mutation.""" - webauthnAuthModule: WebauthnAuthModule + createChildCascadeMembers: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) """ - query: Query - - """An edge for our `WebauthnAuthModule`. May be used by Relay 1.""" - webauthnAuthModuleEdge( - """The method to use when ordering `WebauthnAuthModule`.""" - orderBy: [WebauthnAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnAuthModuleEdge -} + allowExternalMembers: Boolean! -"""All input for the create `WebauthnAuthModule` mutation.""" -input CreateWebauthnAuthModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) """ - clientMutationId: String - - """The `WebauthnAuthModule` to be created by this mutation.""" - webauthnAuthModule: WebauthnAuthModuleInput! -} - -"""An input for mutations affecting `WebauthnAuthModule`""" -input WebauthnAuthModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - usersTableId: UUID - credentialsTableId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - sessionSecretsTableId: UUID - authSettingsTableId: UUID - rpId: String - rpName: String - originAllowlist: [String] - attestationType: String - requireUserVerification: Boolean - residentKey: String - challengeExpiry: IntervalInput -} + inviteProfileAssignmentMode: String! -"""The output of our create `AppInvite` mutation.""" -type CreateAppInvitePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. """ - clientMutationId: String - - """The `AppInvite` that was created by this mutation.""" - appInvite: AppInvite + populateMemberEmail: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) """ - query: Query + limitAllocationMode: String! - """An edge for our `AppInvite`. May be used by Relay 1.""" - appInviteEdge( - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppInviteEdge + """Reads a single `User` that is related to this `OrgMembershipSetting`.""" + entity: User } -"""All input for the create `AppInvite` mutation.""" -input CreateAppInviteInput { +"""A connection to a list of `OrgMember` values.""" +type OrgMemberConnection { + """A list of `OrgMember` objects.""" + nodes: [OrgMember]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgMember` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgMemberEdge]! - """The `AppInvite` to be created by this mutation.""" - appInvite: AppInviteInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgMember` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `AppInvite`""" -input AppInviteInput { - id: UUID +""" +Simplified view of active members in an entity, used for listing who belongs to an org or group +""" +type OrgMember { + id: UUID! - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """Whether this member has admin privileges""" + isAdmin: Boolean! - """User ID of the member who sent this invitation""" - senderId: UUID + """References the user who is a member""" + actorId: UUID! - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """References the entity (org or group) this member belongs to""" + entityId: UUID! - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Reads a single `User` that is related to this `OrgMember`.""" + actor: User - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """Reads a single `User` that is related to this `OrgMember`.""" + entity: User +} - """Running count of how many times this invite has been claimed""" - inviteCount: Int +"""A `OrgMember` edge in the connection.""" +type OrgMemberEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """The `OrgMember` at the end of the edge.""" + node: OrgMember +} - """Optional JSON payload of additional invite metadata""" - data: JSON +"""Methods to use when ordering `OrgMember`.""" +enum OrgMemberOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + IS_ADMIN_ASC + IS_ADMIN_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC +} + +"""A connection to a list of `OrgAdminGrant` values.""" +type OrgAdminGrantConnection { + """A list of `OrgAdminGrant` objects.""" + nodes: [OrgAdminGrant]! """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + A list of edges which contains the `OrgAdminGrant` and cursor to aid in pagination. """ - profileId: UUID + edges: [OrgAdminGrantEdge]! - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgAdminGrant` you could get from the connection.""" + totalCount: Int! +} + +"""Records of admin role grants and revocations between members""" +type OrgAdminGrant { + id: UUID! + + """True to grant admin, false to revoke admin""" + isGrant: Boolean! + + """The member receiving or losing the admin grant""" + actorId: UUID! + + """The entity (org or group) this admin grant applies to""" + entityId: UUID! + grantorId: UUID createdAt: Datetime updatedAt: Datetime -} -"""The output of our create `OrgMembershipSetting` mutation.""" -type CreateOrgMembershipSettingPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `User` that is related to this `OrgAdminGrant`.""" + actor: User - """The `OrgMembershipSetting` that was created by this mutation.""" - orgMembershipSetting: OrgMembershipSetting + """Reads a single `User` that is related to this `OrgAdminGrant`.""" + entity: User - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `User` that is related to this `OrgAdminGrant`.""" + grantor: User +} - """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" - orgMembershipSettingEdge( - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingEdge +"""A `OrgAdminGrant` edge in the connection.""" +type OrgAdminGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgAdminGrant` at the end of the edge.""" + node: OrgAdminGrant } -"""All input for the create `OrgMembershipSetting` mutation.""" -input CreateOrgMembershipSettingInput { +"""Methods to use when ordering `OrgAdminGrant`.""" +enum OrgAdminGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} + +"""A connection to a list of `OrgOwnerGrant` values.""" +type OrgOwnerGrantConnection { + """A list of `OrgOwnerGrant` objects.""" + nodes: [OrgOwnerGrant]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgOwnerGrant` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgOwnerGrantEdge]! - """The `OrgMembershipSetting` to be created by this mutation.""" - orgMembershipSetting: OrgMembershipSettingInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgOwnerGrant` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `OrgMembershipSetting`""" -input OrgMembershipSettingInput { - id: UUID +"""Records of ownership transfers and grants between members""" +type OrgOwnerGrant { + id: UUID! + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean! + + """The member receiving or losing the ownership grant""" + actorId: UUID! + + """The entity (org or group) this ownership grant applies to""" + entityId: UUID! + grantorId: UUID createdAt: Datetime updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - """References the entity these settings apply to""" - entityId: UUID! + """Reads a single `User` that is related to this `OrgOwnerGrant`.""" + actor: User - """ - When a member is deleted, whether to cascade-remove their descendant-entity memberships - """ - deleteMemberCascadeChildren: Boolean + """Reads a single `User` that is related to this `OrgOwnerGrant`.""" + entity: User - """ - When a child entity is created, whether to auto-add existing org-level owners as child-entity owners - """ - createChildCascadeOwners: Boolean + """Reads a single `User` that is related to this `OrgOwnerGrant`.""" + grantor: User +} - """ - When a child entity is created, whether to auto-add existing org-level admins as child-entity admins - """ - createChildCascadeAdmins: Boolean +"""A `OrgOwnerGrant` edge in the connection.""" +type OrgOwnerGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members - """ - createChildCascadeMembers: Boolean + """The `OrgOwnerGrant` at the end of the edge.""" + node: OrgOwnerGrant +} - """ - Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) - """ - allowExternalMembers: Boolean +"""Methods to use when ordering `OrgOwnerGrant`.""" +enum OrgOwnerGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """ - Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) - """ - inviteProfileAssignmentMode: String +"""A connection to a list of `OrgMemberProfile` values.""" +type OrgMemberProfileConnection { + """A list of `OrgMemberProfile` objects.""" + nodes: [OrgMemberProfile]! """ - Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. + A list of edges which contains the `OrgMemberProfile` and cursor to aid in pagination. """ - populateMemberEmail: Boolean + edges: [OrgMemberProfileEdge]! - """ - Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) - """ - limitAllocationMode: String -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""The output of our create `App` mutation.""" -type CreateAppPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + The count of *all* `OrgMemberProfile` you could get from the connection. """ - clientMutationId: String + totalCount: Int! +} - """The `App` that was created by this mutation.""" - app: App +"""A `OrgMemberProfile` edge in the connection.""" +type OrgMemberProfileEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `OrgMemberProfile` at the end of the edge.""" + node: OrgMemberProfile +} - """An edge for our `App`. May be used by Relay 1.""" - appEdge( - """The method to use when ordering `App`.""" - orderBy: [AppOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppEdge +"""Methods to use when ordering `OrgMemberProfile`.""" +enum OrgMemberProfileOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + MEMBERSHIP_ID_ASC + MEMBERSHIP_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + EMAIL_ASC + EMAIL_DESC + TITLE_ASC + TITLE_DESC + BIO_ASC + BIO_DESC + PROFILE_PICTURE_ASC + PROFILE_PICTURE_DESC } -"""All input for the create `App` mutation.""" -input CreateAppInput { +"""A connection to a list of `OrgGrant` values.""" +type OrgGrantConnection { + """A list of `OrgGrant` objects.""" + nodes: [OrgGrant]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgGrant` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgGrantEdge]! - """The `App` to be created by this mutation.""" - app: AppInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgGrant` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `App`""" -input AppInput { - """Unique identifier for this app""" - id: UUID +""" +Records of individual permission grants and revocations for members via bitmask +""" +type OrgGrant { + id: UUID! - """Reference to the metaschema database this app belongs to""" - databaseId: UUID! + """Bitmask of permissions being granted or revoked""" + permissions: BitString! - """Site this app is associated with (one app per site)""" - siteId: UUID! + """True to grant the permissions, false to revoke them""" + isGrant: Boolean! - """Display name of the app""" - name: String + """The member receiving or losing the permission grant""" + actorId: UUID! - """App icon or promotional image""" - appImage: ConstructiveInternalTypeImage + """The entity (org or group) this permission grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime - """URL to the Apple App Store listing""" - appStoreLink: ConstructiveInternalTypeUrl + """Reads a single `User` that is related to this `OrgGrant`.""" + actor: User - """Apple App Store application identifier""" - appStoreId: String + """Reads a single `User` that is related to this `OrgGrant`.""" + entity: User - """ - Apple App ID prefix (Team ID) for universal links and associated domains - """ - appIdPrefix: String + """Reads a single `User` that is related to this `OrgGrant`.""" + grantor: User +} - """URL to the Google Play Store listing""" - playStoreLink: ConstructiveInternalTypeUrl +"""A `OrgGrant` edge in the connection.""" +type OrgGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgGrant` at the end of the edge.""" + node: OrgGrant } -"""The output of our create `Site` mutation.""" -type CreateSitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgGrant`.""" +enum OrgGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + IS_GRANT_ASC + IS_GRANT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """The `Site` that was created by this mutation.""" - site: Site +"""A connection to a list of `OrgChartEdge` values.""" +type OrgChartEdgeConnection { + """A list of `OrgChartEdge` objects.""" + nodes: [OrgChartEdge]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgChartEdge` and cursor to aid in pagination. """ - query: Query + edges: [OrgChartEdgeEdge]! - """An edge for our `Site`. May be used by Relay 1.""" - siteEdge( - """The method to use when ordering `Site`.""" - orderBy: [SiteOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgChartEdge` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `Site` mutation.""" -input CreateSiteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Organizational chart edges defining parent-child reporting relationships between members within an entity +""" +type OrgChartEdge { + id: UUID! + createdAt: Datetime + updatedAt: Datetime - """The `Site` to be created by this mutation.""" - site: SiteInput! -} + """Organization this hierarchy edge belongs to""" + entityId: UUID! -"""An input for mutations affecting `Site`""" -input SiteInput { - """Unique identifier for this site""" - id: UUID + """User ID of the subordinate (employee) in this reporting relationship""" + childId: UUID! - """Reference to the metaschema database this site belongs to""" - databaseId: UUID! + """ + User ID of the manager; NULL indicates a top-level position with no direct report + """ + parentId: UUID - """Display title for the site (max 120 characters)""" - title: String + """Job title or role name for this position in the org chart""" + positionTitle: String - """Short description of the site (max 120 characters)""" - description: String + """Numeric seniority level for this position (higher = more senior)""" + positionLevel: Int - """Open Graph image used for social media link previews""" - ogImage: ConstructiveInternalTypeImage + """Reads a single `User` that is related to this `OrgChartEdge`.""" + child: User - """Browser favicon attachment""" - favicon: ConstructiveInternalTypeAttachment + """Reads a single `User` that is related to this `OrgChartEdge`.""" + entity: User - """Apple touch icon for iOS home screen bookmarks""" - appleTouchIcon: ConstructiveInternalTypeImage + """Reads a single `User` that is related to this `OrgChartEdge`.""" + parent: User +} - """Primary logo image for the site""" - logo: ConstructiveInternalTypeImage +"""A `OrgChartEdge` edge in the connection.""" +type OrgChartEdgeEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """PostgreSQL database name this site connects to""" - dbname: String + """The `OrgChartEdge` at the end of the edge.""" + node: OrgChartEdge } -"""The output of our create `NotificationsModule` mutation.""" -type CreateNotificationsModulePayload { +"""Methods to use when ordering `OrgChartEdge`.""" +enum OrgChartEdgeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + CHILD_ID_ASC + CHILD_ID_DESC + PARENT_ID_ASC + PARENT_ID_DESC + POSITION_TITLE_ASC + POSITION_TITLE_DESC + POSITION_LEVEL_ASC + POSITION_LEVEL_DESC +} + +"""A connection to a list of `OrgChartEdgeGrant` values.""" +type OrgChartEdgeGrantConnection { + """A list of `OrgChartEdgeGrant` objects.""" + nodes: [OrgChartEdgeGrant]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgChartEdgeGrant` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgChartEdgeGrantEdge]! - """The `NotificationsModule` that was created by this mutation.""" - notificationsModule: NotificationsModule + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgChartEdgeGrant` you could get from the connection. """ - query: Query - - """An edge for our `NotificationsModule`. May be used by Relay 1.""" - notificationsModuleEdge( - """The method to use when ordering `NotificationsModule`.""" - orderBy: [NotificationsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): NotificationsModuleEdge + totalCount: Int! } -"""All input for the create `NotificationsModule` mutation.""" -input CreateNotificationsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table +""" +type OrgChartEdgeGrant { + id: UUID! - """The `NotificationsModule` to be created by this mutation.""" - notificationsModule: NotificationsModuleInput! -} + """Organization this grant applies to""" + entityId: UUID! -"""An input for mutations affecting `NotificationsModule`""" -input NotificationsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - notificationsTableId: UUID - readStateTableId: UUID - preferencesTableId: UUID - channelsTableId: UUID - deliveryLogTableId: UUID - ownerTableId: UUID - userSettingsTableId: UUID - organizationSettingsTableId: UUID - hasChannels: Boolean - hasPreferences: Boolean - hasSettingsExtension: Boolean - hasDigestMetadata: Boolean - hasSubscriptions: Boolean -} + """User ID of the subordinate being placed in the hierarchy""" + childId: UUID! + + """User ID of the manager being assigned; NULL for top-level positions""" + parentId: UUID -"""The output of our create `PermissionsModule` mutation.""" -type CreatePermissionsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + User ID of the admin who performed this grant or revocation; NULL if grantor was deleted """ - clientMutationId: String + grantorId: UUID - """The `PermissionsModule` that was created by this mutation.""" - permissionsModule: PermissionsModule + """TRUE to add/update the edge, FALSE to remove it""" + isGrant: Boolean! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Job title or role name being assigned in this grant""" + positionTitle: String - """An edge for our `PermissionsModule`. May be used by Relay 1.""" - permissionsModuleEdge( - """The method to use when ordering `PermissionsModule`.""" - orderBy: [PermissionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PermissionsModuleEdge + """Numeric seniority level being assigned in this grant""" + positionLevel: Int + + """Timestamp when this grant or revocation was recorded""" + createdAt: Datetime! + + """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" + child: User + + """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" + entity: User + + """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" + grantor: User + + """Reads a single `User` that is related to this `OrgChartEdgeGrant`.""" + parent: User } -"""All input for the create `PermissionsModule` mutation.""" -input CreatePermissionsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgChartEdgeGrant` edge in the connection.""" +type OrgChartEdgeGrantEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `PermissionsModule` to be created by this mutation.""" - permissionsModule: PermissionsModuleInput! + """The `OrgChartEdgeGrant` at the end of the edge.""" + node: OrgChartEdgeGrant } -"""An input for mutations affecting `PermissionsModule`""" -input PermissionsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - tableName: String - defaultTableId: UUID - defaultTableName: String - bitlen: Int - membershipType: Int! - entityTableId: UUID - actorTableId: UUID - prefix: String - getPaddedMask: String - getMask: String - getByMask: String - getMaskByName: String +"""Methods to use when ordering `OrgChartEdgeGrant`.""" +enum OrgChartEdgeGrantOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + CHILD_ID_ASC + CHILD_ID_DESC + PARENT_ID_ASC + PARENT_ID_DESC + GRANTOR_ID_ASC + GRANTOR_ID_DESC + IS_GRANT_ASC + IS_GRANT_DESC + POSITION_TITLE_ASC + POSITION_TITLE_DESC + POSITION_LEVEL_ASC + POSITION_LEVEL_DESC + CREATED_AT_ASC + CREATED_AT_DESC } -"""The output of our create `WebauthnCredential` mutation.""" -type CreateWebauthnCredentialPayload { +"""A connection to a list of `OrgPermissionDefault` values.""" +type OrgPermissionDefaultConnection { + """A list of `OrgPermissionDefault` objects.""" + nodes: [OrgPermissionDefault]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgPermissionDefault` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgPermissionDefaultEdge]! - """The `WebauthnCredential` that was created by this mutation.""" - webauthnCredential: WebauthnCredential + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgPermissionDefault` you could get from the connection. """ - query: Query + totalCount: Int! +} - """An edge for our `WebauthnCredential`. May be used by Relay 1.""" - webauthnCredentialEdge( - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialEdge +""" +Stores the default permission bitmask assigned to new members upon joining +""" +type OrgPermissionDefault { + id: UUID! + + """Default permission bitmask applied to new members""" + permissions: BitString! + + """References the entity these default permissions apply to""" + entityId: UUID! + + """Reads a single `User` that is related to this `OrgPermissionDefault`.""" + entity: User } -"""All input for the create `WebauthnCredential` mutation.""" -input CreateWebauthnCredentialInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgPermissionDefault` edge in the connection.""" +type OrgPermissionDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `WebauthnCredential` to be created by this mutation.""" - webauthnCredential: WebauthnCredentialInput! + """The `OrgPermissionDefault` at the end of the edge.""" + node: OrgPermissionDefault } -"""An input for mutations affecting `WebauthnCredential`""" -input WebauthnCredentialInput { - id: UUID - ownerId: UUID +"""Methods to use when ordering `OrgPermissionDefault`.""" +enum OrgPermissionDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC +} + +"""A connection to a list of `AppLimit` values.""" +type AppLimitConnection { + """A list of `AppLimit` objects.""" + nodes: [AppLimit]! """ - Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. + A list of edges which contains the `AppLimit` and cursor to aid in pagination. """ - credentialId: String! + edges: [AppLimitEdge]! - """COSE-encoded public key bytes from the authenticator attestation.""" - publicKey: Base64EncodedBinary! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppLimit` you could get from the connection.""" + totalCount: Int! +} + +"""Tracks per-actor usage counts against configurable maximum limits""" +type AppLimit { + id: UUID! + + """Name identifier of the limit being tracked""" + name: String + + """User whose usage is being tracked against this limit""" + actorId: UUID! + + """Current usage count for this actor and limit""" + num: BigInt """ - Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. """ - signCount: BigInt + max: BigInt """ - Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. """ - webauthnUserId: String! + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime """ - Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - transports: [String] + windowDuration: Interval """ - Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. """ - credentialDeviceType: String! + planMax: BigInt """ - Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. """ - backupEligible: Boolean - - """Current backup state; updated on each successful sign-in assertion.""" - backupState: Boolean + purchasedCredits: BigInt """ - User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. + Temporary credits for the current billing window. Resets to 0 on window expiry. """ - name: String + periodCredits: BigInt + + """Reads a single `User` that is related to this `AppLimit`.""" + actor: User +} + +"""A `AppLimit` edge in the connection.""" +type AppLimitEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppLimit` at the end of the edge.""" + node: AppLimit +} + +"""Methods to use when ordering `AppLimit`.""" +enum AppLimitOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + NUM_ASC + NUM_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC + WINDOW_START_ASC + WINDOW_START_DESC + WINDOW_DURATION_ASC + WINDOW_DURATION_DESC + PLAN_MAX_ASC + PLAN_MAX_DESC + PURCHASED_CREDITS_ASC + PURCHASED_CREDITS_DESC + PERIOD_CREDITS_ASC + PERIOD_CREDITS_DESC +} + +"""A connection to a list of `AppLimitCredit` values.""" +type AppLimitCreditConnection { + """A list of `AppLimitCredit` objects.""" + nodes: [AppLimitCredit]! """ - Timestamp of the most recent successful sign-in assertion using this credential. + A list of edges which contains the `AppLimitCredit` and cursor to aid in pagination. """ - lastUsedAt: Datetime - createdAt: Datetime - updatedAt: Datetime + edges: [AppLimitCreditEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AppLimitCredit` you could get from the connection.""" + totalCount: Int! } -"""The output of our create `PrimaryKeyConstraint` mutation.""" -type CreatePrimaryKeyConstraintPayload { +""" +Append-only ledger of credit grants that automatically update limit ceilings +""" +type AppLimitCredit { + id: UUID! + + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! + + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - clientMutationId: String + creditType: String! - """The `PrimaryKeyConstraint` that was created by this mutation.""" - primaryKeyConstraint: PrimaryKeyConstraint + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String + + """Reads a single `User` that is related to this `AppLimitCredit`.""" + actor: User """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `AppLimitDefault` that is related to this `AppLimitCredit`. """ - query: Query - - """An edge for our `PrimaryKeyConstraint`. May be used by Relay 1.""" - primaryKeyConstraintEdge( - """The method to use when ordering `PrimaryKeyConstraint`.""" - orderBy: [PrimaryKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): PrimaryKeyConstraintEdge + defaultLimit: AppLimitDefault } -"""All input for the create `PrimaryKeyConstraint` mutation.""" -input CreatePrimaryKeyConstraintInput { +""" +Default maximum values for each named limit, applied when no per-actor override exists +""" +type AppLimitDefault { + id: UUID! + + """Name identifier of the limit this default applies to""" + name: String! + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt + + """Reads and enables pagination through a set of `AppLimitCredit`.""" + appLimitCreditsByDefaultLimitId( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditFilter + + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditConnection! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads and enables pagination through a set of `AppLimitCreditCodeItem`. """ - clientMutationId: String + appLimitCreditCodeItemsByDefaultLimitId( + """Only read the first `n` values of the set.""" + first: Int - """The `PrimaryKeyConstraint` to be created by this mutation.""" - primaryKeyConstraint: PrimaryKeyConstraintInput! + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditCodeItemFilter + + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemConnection! } -"""An input for mutations affecting `PrimaryKeyConstraint`""" -input PrimaryKeyConstraintInput { - id: UUID - databaseId: UUID - tableId: UUID! - name: String - type: String - fieldIds: [UUID]! - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `AppLimitCredit`.""" +enum AppLimitCreditOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DEFAULT_LIMIT_ID_ASC + DEFAULT_LIMIT_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + AMOUNT_ASC + AMOUNT_DESC + CREDIT_TYPE_ASC + CREDIT_TYPE_DESC + REASON_ASC + REASON_DESC } -"""The output of our create `Trigger` mutation.""" -type CreateTriggerPayload { +"""A connection to a list of `AppLimitCreditCodeItem` values.""" +type AppLimitCreditCodeItemConnection { + """A list of `AppLimitCreditCodeItem` objects.""" + nodes: [AppLimitCreditCodeItem]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `AppLimitCreditCodeItem` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AppLimitCreditCodeItemEdge]! - """The `Trigger` that was created by this mutation.""" - trigger: Trigger + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `AppLimitCreditCodeItem` you could get from the connection. """ - query: Query - - """An edge for our `Trigger`. May be used by Relay 1.""" - triggerEdge( - """The method to use when ordering `Trigger`.""" - orderBy: [TriggerOrderBy!]! = [PRIMARY_KEY_ASC] - ): TriggerEdge + totalCount: Int! } -"""All input for the create `Trigger` mutation.""" -input CreateTriggerInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Items within a credit code — each row grants credits for a specific limit definition +""" +type AppLimitCreditCodeItem { + id: UUID! - """The `Trigger` to be created by this mutation.""" - trigger: TriggerInput! -} + """FK to credit_codes — which code this item belongs to""" + creditCodeId: UUID! -"""An input for mutations affecting `Trigger`""" -input TriggerInput { - id: UUID - databaseId: UUID - tableId: UUID! - name: String! - event: String - functionName: String - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime -} + """FK to default_limits — which limit this item grants credits for""" + defaultLimitId: UUID! + + """Number of credits this item grants per redemption""" + amount: BigInt! -"""The output of our create `CheckConstraint` mutation.""" -type CreateCheckConstraintPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - clientMutationId: String - - """The `CheckConstraint` that was created by this mutation.""" - checkConstraint: CheckConstraint + creditType: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `AppLimitCreditCode` that is related to this `AppLimitCreditCodeItem`. """ - query: Query + creditCode: AppLimitCreditCode - """An edge for our `CheckConstraint`. May be used by Relay 1.""" - checkConstraintEdge( - """The method to use when ordering `CheckConstraint`.""" - orderBy: [CheckConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): CheckConstraintEdge + """ + Reads a single `AppLimitDefault` that is related to this `AppLimitCreditCodeItem`. + """ + defaultLimit: AppLimitDefault } -"""All input for the create `CheckConstraint` mutation.""" -input CreateCheckConstraintInput { +""" +Redeemable credit codes managed by admins with the add_credits permission +""" +type AppLimitCreditCode { + id: UUID! + + """Human-readable credit code (case-insensitive, unique)""" + code: String! + + """Maximum total redemptions allowed; NULL for unlimited""" + maxRedemptions: Int + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Current number of redemptions (incremented by trigger on credit_redemptions) """ - clientMutationId: String + currentRedemptions: Int! - """The `CheckConstraint` to be created by this mutation.""" - checkConstraint: CheckConstraintInput! -} - -"""An input for mutations affecting `CheckConstraint`""" -input CheckConstraintInput { - id: UUID - databaseId: UUID - tableId: UUID! - name: String - type: String - fieldIds: [UUID]! - expr: JSON - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime -} + """Expiration timestamp; NULL for no expiry""" + expiresAt: Datetime -"""The output of our create `UniqueConstraint` mutation.""" -type CreateUniqueConstraintPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reads and enables pagination through a set of `AppLimitCreditCodeItem`. """ - clientMutationId: String + appLimitCreditCodeItemsByCreditCodeId( + """Only read the first `n` values of the set.""" + first: Int - """The `UniqueConstraint` that was created by this mutation.""" - uniqueConstraint: UniqueConstraint + """Only read the last `n` values of the set.""" + last: Int - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """An edge for our `UniqueConstraint`. May be used by Relay 1.""" - uniqueConstraintEdge( - """The method to use when ordering `UniqueConstraint`.""" - orderBy: [UniqueConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): UniqueConstraintEdge -} + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditCodeItemFilter + + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemConnection! -"""All input for the create `UniqueConstraint` mutation.""" -input CreateUniqueConstraintInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads and enables pagination through a set of `AppLimitCreditRedemption`. """ - clientMutationId: String + appLimitCreditRedemptionsByCreditCodeId( + """Only read the first `n` values of the set.""" + first: Int - """The `UniqueConstraint` to be created by this mutation.""" - uniqueConstraint: UniqueConstraintInput! + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AppLimitCreditRedemptionFilter + + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!] = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionConnection! } -"""An input for mutations affecting `UniqueConstraint`""" -input UniqueConstraintInput { - id: UUID - databaseId: UUID - tableId: UUID! - name: String - description: String - smartTags: JSON - type: String - fieldIds: [UUID]! - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `AppLimitCreditCodeItem`.""" +enum AppLimitCreditCodeItemOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREDIT_CODE_ID_ASC + CREDIT_CODE_ID_DESC + DEFAULT_LIMIT_ID_ASC + DEFAULT_LIMIT_ID_DESC + AMOUNT_ASC + AMOUNT_DESC + CREDIT_TYPE_ASC + CREDIT_TYPE_DESC } -"""The output of our create `SpatialRelation` mutation.""" -type CreateSpatialRelationPayload { +"""A connection to a list of `AppLimitCreditRedemption` values.""" +type AppLimitCreditRedemptionConnection { + """A list of `AppLimitCreditRedemption` objects.""" + nodes: [AppLimitCreditRedemption]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `AppLimitCreditRedemption` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AppLimitCreditRedemptionEdge]! - """The `SpatialRelation` that was created by this mutation.""" - spatialRelation: SpatialRelation + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `AppLimitCreditRedemption` you could get from the connection. """ - query: Query - - """An edge for our `SpatialRelation`. May be used by Relay 1.""" - spatialRelationEdge( - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!]! = [PRIMARY_KEY_ASC] - ): SpatialRelationEdge + totalCount: Int! } -"""All input for the create `SpatialRelation` mutation.""" -input CreateSpatialRelationInput { +""" +Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits +""" +type AppLimitCreditRedemption { + id: UUID! + + """FK to credit_codes — which code is being redeemed""" + creditCodeId: UUID! + + """Entity receiving the credits (personal org user_id or org entity_id)""" + entityId: UUID! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reads a single `AppLimitCreditCode` that is related to this `AppLimitCreditRedemption`. """ - clientMutationId: String + creditCode: AppLimitCreditCode +} - """The `SpatialRelation` to be created by this mutation.""" - spatialRelation: SpatialRelationInput! +"""A `AppLimitCreditRedemption` edge in the connection.""" +type AppLimitCreditRedemptionEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppLimitCreditRedemption` at the end of the edge.""" + node: AppLimitCreditRedemption } -"""An input for mutations affecting `SpatialRelation`""" -input SpatialRelationInput { - id: UUID - databaseId: UUID - tableId: UUID! - fieldId: UUID! - refTableId: UUID! - refFieldId: UUID! - name: String! - operator: String! - paramName: String - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `AppLimitCreditRedemption`.""" +enum AppLimitCreditRedemptionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREDIT_CODE_ID_ASC + CREDIT_CODE_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""The output of our create `Policy` mutation.""" -type CreatePolicyPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A `AppLimitCreditCodeItem` edge in the connection.""" +type AppLimitCreditCodeItemEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `Policy` that was created by this mutation.""" - policy: Policy + """The `AppLimitCreditCodeItem` at the end of the edge.""" + node: AppLimitCreditCodeItem +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `AppLimitCredit` edge in the connection.""" +type AppLimitCreditEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `Policy`. May be used by Relay 1.""" - policyEdge( - """The method to use when ordering `Policy`.""" - orderBy: [PolicyOrderBy!]! = [PRIMARY_KEY_ASC] - ): PolicyEdge + """The `AppLimitCredit` at the end of the edge.""" + node: AppLimitCredit } -"""All input for the create `Policy` mutation.""" -input CreatePolicyInput { +"""A connection to a list of `OrgLimit` values.""" +type OrgLimitConnection { + """A list of `OrgLimit` objects.""" + nodes: [OrgLimit]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgLimit` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgLimitEdge]! - """The `Policy` to be created by this mutation.""" - policy: PolicyInput! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgLimit` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `Policy`""" -input PolicyInput { - id: UUID - databaseId: UUID - tableId: UUID! +"""Tracks per-actor usage counts against configurable maximum limits""" +type OrgLimit { + id: UUID! + + """Name identifier of the limit being tracked""" name: String - granteeName: String - privilege: String - permissive: Boolean - disabled: Boolean - policyType: String - data: JSON - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime -} -"""The output of our create `EmbeddingChunk` mutation.""" -type CreateEmbeddingChunkPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """User whose usage is being tracked against this limit""" + actorId: UUID! - """The `EmbeddingChunk` that was created by this mutation.""" - embeddingChunk: EmbeddingChunk + """Current usage count for this actor and limit""" + num: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. """ - query: Query - - """An edge for our `EmbeddingChunk`. May be used by Relay 1.""" - embeddingChunkEdge( - """The method to use when ordering `EmbeddingChunk`.""" - orderBy: [EmbeddingChunkOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmbeddingChunkEdge -} + max: BigInt -"""All input for the create `EmbeddingChunk` mutation.""" -input CreateEmbeddingChunkInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. """ - clientMutationId: String - - """The `EmbeddingChunk` to be created by this mutation.""" - embeddingChunk: EmbeddingChunkInput! -} + softMax: BigInt -"""An input for mutations affecting `EmbeddingChunk`""" -input EmbeddingChunkInput { - id: UUID - databaseId: UUID - tableId: UUID! - embeddingFieldId: UUID - chunksTableId: UUID - chunksTableName: String - contentFieldName: String - dimensions: Int - metric: String - chunkSize: Int - chunkOverlap: Int - chunkStrategy: String - metadataFields: JSON - enqueueChunkingJob: Boolean - chunkingTaskName: String - parentFkFieldId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime -"""The output of our create `OrgInvite` mutation.""" -type CreateOrgInvitePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - clientMutationId: String - - """The `OrgInvite` that was created by this mutation.""" - orgInvite: OrgInvite + windowDuration: Interval """ - Our root query field type. Allows us to run any query from our mutation payload. + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. """ - query: Query + planMax: BigInt - """An edge for our `OrgInvite`. May be used by Relay 1.""" - orgInviteEdge( - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgInviteEdge -} + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt -"""All input for the create `OrgInvite` mutation.""" -input CreateOrgInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Temporary credits for the current billing window. Resets to 0 on window expiry. """ - clientMutationId: String + periodCredits: BigInt + entityId: UUID! - """The `OrgInvite` to be created by this mutation.""" - orgInvite: OrgInviteInput! + """Reads a single `User` that is related to this `OrgLimit`.""" + actor: User + + """Reads a single `User` that is related to this `OrgLimit`.""" + entity: User } -"""An input for mutations affecting `OrgInvite`""" -input OrgInviteInput { - id: UUID +"""A `OrgLimit` edge in the connection.""" +type OrgLimitEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """The `OrgLimit` at the end of the edge.""" + node: OrgLimit +} - """User ID of the member who sent this invitation""" - senderId: UUID +"""Methods to use when ordering `OrgLimit`.""" +enum OrgLimitOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + NUM_ASC + NUM_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC + WINDOW_START_ASC + WINDOW_START_DESC + WINDOW_DURATION_ASC + WINDOW_DURATION_DESC + PLAN_MAX_ASC + PLAN_MAX_DESC + PURCHASED_CREDITS_ASC + PURCHASED_CREDITS_DESC + PERIOD_CREDITS_ASC + PERIOD_CREDITS_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC +} - """User ID of the intended recipient, if targeting a specific user""" - receiverId: UUID +"""A connection to a list of `OrgLimitCredit` values.""" +type OrgLimitCreditConnection { + """A list of `OrgLimitCredit` objects.""" + nodes: [OrgLimitCredit]! - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """ + A list of edges which contains the `OrgLimitCredit` and cursor to aid in pagination. + """ + edges: [OrgLimitCreditEdge]! - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """The count of *all* `OrgLimitCredit` you could get from the connection.""" + totalCount: Int! +} - """Running count of how many times this invite has been claimed""" - inviteCount: Int +""" +Append-only ledger of credit grants that automatically update limit ceilings +""" +type OrgLimitCredit { + id: UUID! - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! - """Optional JSON payload of additional invite metadata""" - data: JSON + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID - """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. - """ - profileId: UUID + """Entity this credit applies to; NULL for actor-only credits""" + entityId: UUID - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime - entityId: UUID! -} + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! -"""The output of our create `AppMembership` mutation.""" -type CreateAppMembershipPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - clientMutationId: String + creditType: String! - """The `AppMembership` that was created by this mutation.""" - appMembership: AppMembership + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String + + """Reads a single `User` that is related to this `OrgLimitCredit`.""" + actor: User """ - Our root query field type. Allows us to run any query from our mutation payload. + Reads a single `OrgLimitDefault` that is related to this `OrgLimitCredit`. """ - query: Query + defaultLimit: OrgLimitDefault - """An edge for our `AppMembership`. May be used by Relay 1.""" - appMembershipEdge( - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipEdge + """Reads a single `User` that is related to this `OrgLimitCredit`.""" + entity: User } -"""All input for the create `AppMembership` mutation.""" -input CreateAppMembershipInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Default maximum values for each named limit, applied when no per-actor override exists +""" +type OrgLimitDefault { + id: UUID! - """The `AppMembership` to be created by this mutation.""" - appMembership: AppMembershipInput! -} + """Name identifier of the limit this default applies to""" + name: String! -"""An input for mutations affecting `AppMembership`""" -input AppMembershipInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Default maximum usage allowed for this limit""" + max: BigInt - """Whether this membership has been approved by an admin""" - isApproved: Boolean + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt - """Whether this member has been banned from the entity""" - isBanned: Boolean + """Reads and enables pagination through a set of `OrgLimitCredit`.""" + orgLimitCreditsByDefaultLimitId( + """Only read the first `n` values of the set.""" + first: Int - """Whether this membership is temporarily disabled""" - isDisabled: Boolean + """Only read the last `n` values of the set.""" + last: Int - """Whether this member has been verified (e.g. email confirmation)""" - isVerified: Boolean + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean + """Read all values in the set before (above) this cursor.""" + before: Cursor - """Whether the actor is the owner of this entity""" - isOwner: Boolean + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: OrgLimitCreditFilter - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!] = [PRIMARY_KEY_ASC] + ): OrgLimitCreditConnection! +} - """ - Bitmask of permissions directly granted to this member (not from profiles) - """ - granted: BitString +"""Methods to use when ordering `OrgLimitCredit`.""" +enum OrgLimitCreditOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DEFAULT_LIMIT_ID_ASC + DEFAULT_LIMIT_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + AMOUNT_ASC + AMOUNT_DESC + CREDIT_TYPE_ASC + CREDIT_TYPE_DESC + REASON_ASC + REASON_DESC +} - """References the user who holds this membership""" - actorId: UUID! - profileId: UUID +"""A `OrgLimitCredit` edge in the connection.""" +type OrgLimitCreditEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgLimitCredit` at the end of the edge.""" + node: OrgLimitCredit } -"""The output of our create `Schema` mutation.""" -type CreateSchemaPayload { +"""A connection to a list of `OrgLimitAggregate` values.""" +type OrgLimitAggregateConnection { + """A list of `OrgLimitAggregate` objects.""" + nodes: [OrgLimitAggregate]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgLimitAggregate` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgLimitAggregateEdge]! - """The `Schema` that was created by this mutation.""" - schema: Schema + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgLimitAggregate` you could get from the connection. """ - query: Query - - """An edge for our `Schema`. May be used by Relay 1.""" - schemaEdge( - """The method to use when ordering `Schema`.""" - orderBy: [SchemaOrderBy!]! = [PRIMARY_KEY_ASC] - ): SchemaEdge + totalCount: Int! } -"""All input for the create `Schema` mutation.""" -input CreateSchemaInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) +""" +type OrgLimitAggregate { + id: UUID! - """The `Schema` to be created by this mutation.""" - schema: SchemaInput! -} + """Name identifier of the aggregate limit being tracked""" + name: String -"""An input for mutations affecting `Schema`""" -input SchemaInput { - id: UUID - databaseId: UUID! - name: String! - schemaName: String! - label: String - description: String - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - isPublic: Boolean - createdAt: Datetime - updatedAt: Datetime -} + """Entity (org) whose aggregate usage is being tracked""" + entityId: UUID! -"""The output of our create `Index` mutation.""" -type CreateIndexPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Current aggregate usage count for this entity and limit""" + num: BigInt - """The `Index` that was created by this mutation.""" - index: Index + """Maximum allowed aggregate usage; negative means unlimited""" + max: BigInt - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt - """An edge for our `Index`. May be used by Relay 1.""" - indexEdge( - """The method to use when ordering `Index`.""" - orderBy: [IndexOrderBy!]! = [PRIMARY_KEY_ASC] - ): IndexEdge -} + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime -"""All input for the create `Index` mutation.""" -input CreateIndexInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - clientMutationId: String - - """The `Index` to be created by this mutation.""" - index: IndexInput! -} - -"""An input for mutations affecting `Index`""" -input IndexInput { - id: UUID - databaseId: UUID! - tableId: UUID! - name: String - fieldIds: [UUID] - includeFieldIds: [UUID] - accessMethod: String - indexParams: JSON - whereClause: JSON - isUnique: Boolean - options: JSON - opClasses: [String] - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime -} + windowDuration: Interval -"""The output of our create `LimitsModule` mutation.""" -type CreateLimitsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. """ - clientMutationId: String - - """The `LimitsModule` that was created by this mutation.""" - limitsModule: LimitsModule + planMax: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. """ - query: Query + purchasedCredits: BigInt - """An edge for our `LimitsModule`. May be used by Relay 1.""" - limitsModuleEdge( - """The method to use when ordering `LimitsModule`.""" - orderBy: [LimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): LimitsModuleEdge -} + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt -"""All input for the create `LimitsModule` mutation.""" -input CreateLimitsModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. """ - clientMutationId: String + reserved: BigInt - """The `LimitsModule` to be created by this mutation.""" - limitsModule: LimitsModuleInput! + """Reads a single `User` that is related to this `OrgLimitAggregate`.""" + entity: User } -"""An input for mutations affecting `LimitsModule`""" -input LimitsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - tableName: String - defaultTableId: UUID - defaultTableName: String - limitIncrementFunction: String - limitDecrementFunction: String - limitIncrementTrigger: String - limitDecrementTrigger: String - limitUpdateTrigger: String - limitCheckFunction: String - aggregateTableId: UUID - prefix: String - membershipType: Int! - entityTableId: UUID - actorTableId: UUID +"""A `OrgLimitAggregate` edge in the connection.""" +type OrgLimitAggregateEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgLimitAggregate` at the end of the edge.""" + node: OrgLimitAggregate } -"""The output of our create `BlueprintTemplate` mutation.""" -type CreateBlueprintTemplatePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgLimitAggregate`.""" +enum OrgLimitAggregateOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + NUM_ASC + NUM_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC + WINDOW_START_ASC + WINDOW_START_DESC + WINDOW_DURATION_ASC + WINDOW_DURATION_DESC + PLAN_MAX_ASC + PLAN_MAX_DESC + PURCHASED_CREDITS_ASC + PURCHASED_CREDITS_DESC + PERIOD_CREDITS_ASC + PERIOD_CREDITS_DESC + RESERVED_ASC + RESERVED_DESC +} - """The `BlueprintTemplate` that was created by this mutation.""" - blueprintTemplate: BlueprintTemplate +"""A connection to a list of `AppStep` values.""" +type AppStepConnection { + """A list of `AppStep` objects.""" + nodes: [AppStep]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppStep` and cursor to aid in pagination. """ - query: Query - - """An edge for our `BlueprintTemplate`. May be used by Relay 1.""" - blueprintTemplateEdge( - """The method to use when ordering `BlueprintTemplate`.""" - orderBy: [BlueprintTemplateOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintTemplateEdge -} + edges: [AppStepEdge]! -"""All input for the create `BlueprintTemplate` mutation.""" -input CreateBlueprintTemplateInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `BlueprintTemplate` to be created by this mutation.""" - blueprintTemplate: BlueprintTemplateInput! + """The count of *all* `AppStep` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `BlueprintTemplate`""" -input BlueprintTemplateInput { - """Unique identifier for this template.""" - id: UUID +""" +Log of individual user actions toward level requirements; every single step ever taken is recorded here +""" +type AppStep { + id: UUID! + actorId: UUID! - """ - Machine-readable name for the template (e.g. e_commerce_basic). Must be unique per owner + version. - """ + """Name identifier of the level requirement this step fulfills""" name: String! - """Semantic version string. Defaults to 1.0.0.""" - version: String + """Number of units completed in this step action""" + count: Int! + createdAt: Datetime + updatedAt: Datetime - """Human-readable display name for the template (e.g. E-Commerce Basic).""" - displayName: String! + """Reads a single `User` that is related to this `AppStep`.""" + actor: User +} - """Optional description of what the template provisions.""" - description: String +"""A `AppStep` edge in the connection.""" +type AppStepEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The user who created or published this template.""" - ownerId: UUID! + """The `AppStep` at the end of the edge.""" + node: AppStep +} - """ - Access control for the template. private: only the owner can see and copy. public: anyone can browse and copy from the marketplace. Defaults to private. - """ - visibility: String +"""Methods to use when ordering `AppStep`.""" +enum AppStepOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + NAME_ASC + NAME_DESC + COUNT_ASC + COUNT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """ - Domain categories for marketplace browsing (e.g. e-commerce, healthcare, social). Defaults to empty array. - """ - categories: [String] +"""A connection to a list of `AppAchievement` values.""" +type AppAchievementConnection { + """A list of `AppAchievement` objects.""" + nodes: [AppAchievement]! """ - Freeform tags for search and discovery (e.g. products, orders, payments). Defaults to empty array. + A list of edges which contains the `AppAchievement` and cursor to aid in pagination. """ - tags: [String] + edges: [AppAchievementEdge]! - """ - The blueprint definition as a JSONB document. Contains tables[] (each with nodes[] for data behaviors via string shorthand or {"$type": "...", "data": {...}} objects, fields[], grants[], and policies[] using {"$type": "...", "data": {...}}), and relations[] (using $type for relation_type with junction config in data). This is the core payload that gets copied into a blueprint for execution. - """ - definition: JSON! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Version of the definition format schema. Used for forward-compatible parsing. Defaults to 1. - """ - definitionSchemaVersion: String + """The count of *all* `AppAchievement` you could get from the connection.""" + totalCount: Int! +} - """ - Provenance of the template. user: manually created by a human. system: official curated template from the Constructive team. agent: AI-generated. Defaults to user. - """ - source: String +""" +Aggregated user progress for level requirements, tallying the total count; updated via triggers and should not be modified manually +""" +type AppAchievement { + id: UUID! + actorId: UUID! - """ - Complexity indicator for marketplace filtering. simple: 3-5 tables. moderate: 6-12 tables. complex: 13+ tables. NULL if not categorized. - """ - complexity: String + """Name identifier of the level requirement being tracked""" + name: String! - """ - Denormalized count of how many blueprints have been created from this template via copy_template_to_blueprint(). Incremented automatically. Defaults to 0. - """ - copyCount: Int + """Cumulative count of completed steps toward this requirement""" + count: Int! + createdAt: Datetime + updatedAt: Datetime - """ - Denormalized count of how many derivative templates have been forked from this template. Defaults to 0. - """ - forkCount: Int + """Reads a single `User` that is related to this `AppAchievement`.""" + actor: User +} - """ - If this template was forked from another template, the ID of the parent. NULL for original templates. - """ - forkedFromId: UUID +"""A `AppAchievement` edge in the connection.""" +type AppAchievementEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication, provenance tracking, and cross-blueprint structural comparison. NULL columns are backend-computed — clients should never set this directly. - """ - definitionHash: UUID + """The `AppAchievement` at the end of the edge.""" + node: AppAchievement +} + +"""Methods to use when ordering `AppAchievement`.""" +enum AppAchievementOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + NAME_ASC + NAME_DESC + COUNT_ASC + COUNT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} + +"""A connection to a list of `AppLevel` values.""" +type AppLevelConnection { + """A list of `AppLevel` objects.""" + nodes: [AppLevel]! """ - JSONB map of table ref names to their individual UUIDv5 content hashes (e.g. {"products": "uuid", "categories": "uuid"}). Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across different blueprints. Backend-computed via trigger. + A list of edges which contains the `AppLevel` and cursor to aid in pagination. """ - tableHashes: JSON + edges: [AppLevelEdge]! - """Timestamp when this template was created.""" - createdAt: Datetime + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Timestamp when this template was last modified.""" - updatedAt: Datetime + """The count of *all* `AppLevel` you could get from the connection.""" + totalCount: Int! } -"""The output of our create `HierarchyModule` mutation.""" -type CreateHierarchyModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +Defines available levels that users can achieve by completing requirements +""" +type AppLevel { + id: UUID! - """The `HierarchyModule` that was created by this mutation.""" - hierarchyModule: HierarchyModule + """Unique name of the level""" + name: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Human-readable description of what this level represents""" + description: String - """An edge for our `HierarchyModule`. May be used by Relay 1.""" - hierarchyModuleEdge( - """The method to use when ordering `HierarchyModule`.""" - orderBy: [HierarchyModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): HierarchyModuleEdge -} + """Badge or icon image associated with this level""" + image: ConstructiveInternalTypeImage -"""All input for the create `HierarchyModule` mutation.""" -input CreateHierarchyModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Optional owner (actor) who created or manages this level""" + ownerId: UUID + createdAt: Datetime + updatedAt: Datetime - """The `HierarchyModule` to be created by this mutation.""" - hierarchyModule: HierarchyModuleInput! + """Reads a single `User` that is related to this `AppLevel`.""" + owner: User } -"""An input for mutations affecting `HierarchyModule`""" -input HierarchyModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - chartEdgesTableId: UUID - chartEdgesTableName: String - hierarchySprtTableId: UUID - hierarchySprtTableName: String - chartEdgeGrantsTableId: UUID - chartEdgeGrantsTableName: String - entityTableId: UUID! - usersTableId: UUID! - prefix: String - privateSchemaName: String - sprtTableName: String - rebuildHierarchyFunction: String - getSubordinatesFunction: String - getManagersFunction: String - isManagerOfFunction: String - createdAt: Datetime +"""A `AppLevel` edge in the connection.""" +type AppLevelEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppLevel` at the end of the edge.""" + node: AppLevel } -"""The output of our create `ProfilesModule` mutation.""" -type CreateProfilesModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AppLevel`.""" +enum AppLevelOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + IMAGE_ASC + IMAGE_DESC + OWNER_ID_ASC + OWNER_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """The `ProfilesModule` that was created by this mutation.""" - profilesModule: ProfilesModule +"""A connection to a list of `Email` values.""" +type EmailConnection { + """A list of `Email` objects.""" + nodes: [Email]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `Email` and cursor to aid in pagination. """ - query: Query + edges: [EmailEdge]! - """An edge for our `ProfilesModule`. May be used by Relay 1.""" - profilesModuleEdge( - """The method to use when ordering `ProfilesModule`.""" - orderBy: [ProfilesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ProfilesModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `Email` you could get from the connection.""" + totalCount: Int! } -"""All input for the create `ProfilesModule` mutation.""" -input CreateProfilesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """The `ProfilesModule` to be created by this mutation.""" - profilesModule: ProfilesModuleInput! -} +"""User email addresses with verification and primary-email management""" +type Email { + id: UUID! + ownerId: UUID! -"""An input for mutations affecting `ProfilesModule`""" -input ProfilesModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - tableName: String - profilePermissionsTableId: UUID - profilePermissionsTableName: String - profileGrantsTableId: UUID - profileGrantsTableName: String - profileDefinitionGrantsTableId: UUID - profileDefinitionGrantsTableName: String - profileTemplatesTableId: UUID - profileTemplatesTableName: String - membershipType: Int! - entityTableId: UUID - actorTableId: UUID - permissionsTableId: UUID - membershipsTableId: UUID - prefix: String -} + """The email address""" + email: ConstructiveInternalTypeEmail! -"""The output of our create `OrgMembership` mutation.""" -type CreateOrgMembershipPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Whether the email address has been verified via confirmation link""" + isVerified: Boolean! - """The `OrgMembership` that was created by this mutation.""" - orgMembership: OrgMembership + """Whether this is the user's primary email address""" + isPrimary: Boolean! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Optional user-provided label for this email (e.g. "Work", "Personal").""" + name: String + createdAt: Datetime + updatedAt: Datetime - """An edge for our `OrgMembership`. May be used by Relay 1.""" - orgMembershipEdge( - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipEdge + """Reads a single `User` that is related to this `Email`.""" + owner: User } -"""All input for the create `OrgMembership` mutation.""" -input CreateOrgMembershipInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `Email` edge in the connection.""" +type EmailEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `OrgMembership` to be created by this mutation.""" - orgMembership: OrgMembershipInput! + """The `Email` at the end of the edge.""" + node: Email } -"""An input for mutations affecting `OrgMembership`""" -input OrgMembershipInput { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - - """Whether this membership has been approved by an admin""" - isApproved: Boolean - - """Whether this member has been banned from the entity""" - isBanned: Boolean - - """Whether this membership is temporarily disabled""" - isDisabled: Boolean +"""Methods to use when ordering `Email`.""" +enum EmailOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + EMAIL_ASC + EMAIL_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC + IS_PRIMARY_ASC + IS_PRIMARY_DESC + NAME_ASC + NAME_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """ - Computed field indicating the membership is approved, verified, not banned, and not disabled - """ - isActive: Boolean +"""A connection to a list of `PhoneNumber` values.""" +type PhoneNumberConnection { + """A list of `PhoneNumber` objects.""" + nodes: [PhoneNumber]! """ - Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + A list of edges which contains the `PhoneNumber` and cursor to aid in pagination. """ - isExternal: Boolean - - """Whether the actor is the owner of this entity""" - isOwner: Boolean - - """Whether the actor has admin privileges on this entity""" - isAdmin: Boolean + edges: [PhoneNumberEdge]! - """ - Aggregated permission bitmask combining profile-based and directly granted permissions - """ - permissions: BitString + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Bitmask of permissions directly granted to this member (not from profiles) - """ - granted: BitString + """The count of *all* `PhoneNumber` you could get from the connection.""" + totalCount: Int! +} - """References the user who holds this membership""" - actorId: UUID! +""" +User phone numbers with country code, verification, and primary-number management +""" +type PhoneNumber { + id: UUID! + ownerId: UUID! - """References the entity (org or group) this membership belongs to""" - entityId: UUID! + """Country calling code (e.g. +1, +44)""" + cc: String! - """Whether this member has read-only access (blocks mutations when true)""" - isReadOnly: Boolean - profileId: UUID -} + """The phone number without country code""" + number: String! -"""The output of our create `ForeignKeyConstraint` mutation.""" -type CreateForeignKeyConstraintPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Whether the phone number has been verified via SMS code""" + isVerified: Boolean! - """The `ForeignKeyConstraint` that was created by this mutation.""" - foreignKeyConstraint: ForeignKeyConstraint + """Whether this is the user's primary phone number""" + isPrimary: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional user-provided label for this phone number (e.g. "Mobile", "Work"). """ - query: Query + name: String + createdAt: Datetime + updatedAt: Datetime - """An edge for our `ForeignKeyConstraint`. May be used by Relay 1.""" - foreignKeyConstraintEdge( - """The method to use when ordering `ForeignKeyConstraint`.""" - orderBy: [ForeignKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): ForeignKeyConstraintEdge + """Reads a single `User` that is related to this `PhoneNumber`.""" + owner: User } -"""All input for the create `ForeignKeyConstraint` mutation.""" -input CreateForeignKeyConstraintInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `PhoneNumber` edge in the connection.""" +type PhoneNumberEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `ForeignKeyConstraint` to be created by this mutation.""" - foreignKeyConstraint: ForeignKeyConstraintInput! + """The `PhoneNumber` at the end of the edge.""" + node: PhoneNumber } -"""An input for mutations affecting `ForeignKeyConstraint`""" -input ForeignKeyConstraintInput { - id: UUID - databaseId: UUID - tableId: UUID! - name: String - description: String - smartTags: JSON - type: String - fieldIds: [UUID]! - refTableId: UUID! - refFieldIds: [UUID]! - deleteAction: String - updateAction: String - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `PhoneNumber`.""" +enum PhoneNumberOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + CC_ASC + CC_DESC + NUMBER_ASC + NUMBER_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC + IS_PRIMARY_ASC + IS_PRIMARY_DESC + NAME_ASC + NAME_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""The output of our create `StorageModule` mutation.""" -type CreateStorageModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `StorageModule` that was created by this mutation.""" - storageModule: StorageModule +"""A connection to a list of `CryptoAddress` values.""" +type CryptoAddressConnection { + """A list of `CryptoAddress` objects.""" + nodes: [CryptoAddress]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `CryptoAddress` and cursor to aid in pagination. """ - query: Query - - """An edge for our `StorageModule`. May be used by Relay 1.""" - storageModuleEdge( - """The method to use when ordering `StorageModule`.""" - orderBy: [StorageModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): StorageModuleEdge -} + edges: [CryptoAddressEdge]! -"""All input for the create `StorageModule` mutation.""" -input CreateStorageModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The `StorageModule` to be created by this mutation.""" - storageModule: StorageModuleInput! + """The count of *all* `CryptoAddress` you could get from the connection.""" + totalCount: Int! } -"""An input for mutations affecting `StorageModule`""" -input StorageModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - bucketsTableId: UUID - filesTableId: UUID - bucketsTableName: String - filesTableName: String - membershipType: Int - policies: JSON - skipDefaultPolicyTables: [String] - entityTableId: UUID - endpoint: String - publicUrlPrefix: String - provider: String - allowedOrigins: [String] - restrictReads: Boolean - uploadUrlExpirySeconds: Int - downloadUrlExpirySeconds: Int - defaultMaxFileSize: BigInt - maxFilenameLength: Int - cacheTtlSeconds: Int -} +""" +Cryptocurrency wallet addresses owned by users, with network-specific validation and verification +""" +type CryptoAddress { + id: UUID! + ownerId: UUID! -"""The output of our create `Table` mutation.""" -type CreateTablePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + The cryptocurrency wallet address, validated against network-specific patterns """ - clientMutationId: String + address: String! - """The `Table` that was created by this mutation.""" - table: Table + """Whether ownership of this address has been cryptographically verified""" + isVerified: Boolean! + + """Whether this is the user's primary cryptocurrency address""" + isPrimary: Boolean! """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). """ - query: Query + name: String + createdAt: Datetime + updatedAt: Datetime - """An edge for our `Table`. May be used by Relay 1.""" - tableEdge( - """The method to use when ordering `Table`.""" - orderBy: [TableOrderBy!]! = [PRIMARY_KEY_ASC] - ): TableEdge + """Reads a single `User` that is related to this `CryptoAddress`.""" + owner: User } -"""All input for the create `Table` mutation.""" -input CreateTableInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `CryptoAddress` edge in the connection.""" +type CryptoAddressEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `Table` to be created by this mutation.""" - table: TableInput! + """The `CryptoAddress` at the end of the edge.""" + node: CryptoAddress } -"""An input for mutations affecting `Table`""" -input TableInput { - id: UUID - databaseId: UUID - schemaId: UUID! - name: String! - label: String - description: String - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - useRls: Boolean - timestamps: Boolean - peoplestamps: Boolean - pluralName: String - singularName: String - tags: [String] - inheritsId: UUID - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `CryptoAddress`.""" +enum CryptoAddressOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + ADDRESS_ASC + ADDRESS_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC + IS_PRIMARY_ASC + IS_PRIMARY_DESC + NAME_ASC + NAME_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } -"""The output of our create `EntityTypeProvision` mutation.""" -type CreateEntityTypeProvisionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `EntityTypeProvision` that was created by this mutation.""" - entityTypeProvision: EntityTypeProvision +"""A connection to a list of `WebauthnCredential` values.""" +type WebauthnCredentialConnection { + """A list of `WebauthnCredential` objects.""" + nodes: [WebauthnCredential]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `WebauthnCredential` and cursor to aid in pagination. """ - query: Query + edges: [WebauthnCredentialEdge]! - """An edge for our `EntityTypeProvision`. May be used by Relay 1.""" - entityTypeProvisionEdge( - """The method to use when ordering `EntityTypeProvision`.""" - orderBy: [EntityTypeProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): EntityTypeProvisionEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the create `EntityTypeProvision` mutation.""" -input CreateEntityTypeProvisionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `WebauthnCredential` you could get from the connection. """ - clientMutationId: String - - """The `EntityTypeProvision` to be created by this mutation.""" - entityTypeProvision: EntityTypeProvisionInput! + totalCount: Int! } -"""An input for mutations affecting `EntityTypeProvision`""" -input EntityTypeProvisionInput { - """Unique identifier for this provision row.""" - id: UUID - - """The database to provision this entity type in. Required.""" - databaseId: UUID! +""" +WebAuthn/passkey credentials owned by users. One row per registered authenticator (security key, device biometric, synced passkey). Schema mirrors SimpleWebAuthn's canonical Passkey object. +""" +type WebauthnCredential { + id: UUID! + ownerId: UUID! """ - Human-readable name for this entity type, e.g. 'Data Room', 'Team Channel'. Required. - Stored in the entity_types registry table. + Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. """ - name: String! + credentialId: String! - """ - SQL prefix used for table and module naming, e.g. 'data_room', 'team_channel'. Required. - Drives entity table name (prefix || 's' by default), module labels (permissions_module:prefix), - and membership table names (prefix_memberships, prefix_members, etc.). - Must be unique per database — the (database_id, prefix) constraint ensures graceful ON CONFLICT DO NOTHING. - """ - prefix: String! + """COSE-encoded public key bytes from the authenticator attestation.""" + publicKey: Base64EncodedBinary! """ - Description of this entity type. Stored in the entity_types registry table. Defaults to empty string. + Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. """ - description: String + signCount: BigInt! """ - Prefix of the parent entity type. The trigger resolves this to a membership_type integer - by looking up memberships_module WHERE prefix = parent_entity. - Defaults to 'org' (the organization-level type). For nested types, set to the parent's prefix - (e.g. 'data_room' for a team_channel nested under data_room). - The parent type must already be provisioned before this INSERT. + Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. """ - parentEntity: String + webauthnUserId: String! """ - Override the entity table name. When NULL (default), the table name is derived as prefix || 's' - (e.g. prefix 'data_room' produces table 'data_rooms'). - Set this when the pluralization rule doesn't apply (e.g. prefix 'staff' should produce 'staff' not 'staffs'). + Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. """ - tableName: String + transports: [String] """ - Whether members of the parent entity can see child entities. Defaults to true. - When true: a SELECT policy allows parent members to list child entities (e.g. org members can see all data rooms). - When false: only direct members of the entity itself can see it (private entity mode). - Controls whether the parent_member SELECT policy is created on the entity table. - Only meaningful on the defaults path — ignored (no-op) when table_provision is non-NULL or - skip_entity_policies=true, since no default policies are being applied in those cases. + Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. """ - isVisible: Boolean + credentialDeviceType: String! """ - Whether to apply limits_module security for this type. Defaults to false. - The limits_module table structure is always created (memberships_module requires it), - but when false, no RLS policies are applied to the limits tables. - Set to true if this entity type needs configurable resource limits per membership. + Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. """ - hasLimits: Boolean + backupEligible: Boolean! + + """Current backup state; updated on each successful sign-in assertion.""" + backupState: Boolean! """ - Whether to provision profiles_module for this type. Defaults to false. - Profiles provide named permission roles (e.g. 'Editor', 'Viewer') with pre-configured permission bitmasks. - When true, creates profile tables and applies profiles security. + User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. """ - hasProfiles: Boolean + name: String """ - Whether to provision levels_module for this type. Defaults to false. - Levels provide gamification/achievement tracking for members. - When true, creates level steps, achievements, and level tables with security. + Timestamp of the most recent successful sign-in assertion using this credential. """ - hasLevels: Boolean + lastUsedAt: Datetime + createdAt: Datetime + updatedAt: Datetime - """ - Whether to provision storage_module for this type. Defaults to false. - When true, creates {prefix}_buckets and {prefix}_files tables - with entity-scoped RLS (AuthzEntityMembership) using the entity's membership_type. - Storage tables get owner_id FK to the entity table, so files are owned by the entity. - """ - hasStorage: Boolean + """Reads a single `User` that is related to this `WebauthnCredential`.""" + owner: User +} - """ - Whether to provision invites_module for this type. Defaults to false. - When true, the trigger inserts a row into invites_module which in turn - (via insert_invites_module BEFORE INSERT) creates {prefix}_invites and - {prefix}_claimed_invites tables plus the submit_{prefix}_invite_code() function. - Symmetric counterpart of has_storage. Re-provisioning is idempotent: the - UNIQUE (database_id, membership_type) constraint on invites_module combined with - ON CONFLICT DO NOTHING in the fan-out makes repeated INSERTs safe. - """ - hasInvites: Boolean +"""A `WebauthnCredential` edge in the connection.""" +type WebauthnCredentialEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Optional jsonb object for storage module configuration and initial bucket seeding. - Only used when has_storage = true; ignored otherwise. NULL = use defaults. - Recognized keys (all optional): - - upload_url_expiry_seconds (integer) presigned PUT URL expiry override - - download_url_expiry_seconds (integer) presigned GET URL expiry override - - default_max_file_size (bigint) global max file size in bytes for this scope - - allowed_origins (text[]) default CORS origins for all buckets in this scope - - buckets (jsonb[]) array of initial bucket definitions to seed - Each bucket in the buckets array recognizes: - - name (text, required) bucket name e.g. 'documents' - - description (text) human-readable description - - is_public (boolean) whether files are publicly readable (default false) - - allowed_mime_types (text[]) whitelist of MIME types (null = any) - - max_file_size (bigint) max file size in bytes (null = use scope default) - - allowed_origins (text[]) per-bucket CORS override - - provisions (jsonb object) optional: customize storage tables - with additional nodes, fields, grants, and policies. - Keyed by table role: "files", "buckets". - Each value uses the same shape as table_provision: - { nodes, fields, grants, use_rls, policies }. Fanned out - to secure_table_provision targeting the corresponding table. - When a key includes policies[], those REPLACE the default - storage policies for that table; tables without a key still - get defaults. Missing "data" on policy entries is auto-populated - with storage-specific defaults (same as table_provision). - Example: add SearchBm25 for full-text search on files: - {"provisions": {"files": {"nodes": [{"$type": - "SearchBm25", "data": {"source_fields": ["description"]}}]}}} - Example: - storage_config := '{"buckets": [{"name": "documents", "is_public": false, "allowed_mime_types": ["application/pdf"]}], "provisions": {"files": {"nodes": [{"$type": "SearchBm25", "data": {"source_fields": ["description"]}}]}}}'::jsonb - """ - storageConfig: JSON + """The `WebauthnCredential` at the end of the edge.""" + node: WebauthnCredential +} - """ - Escape hatch: when true, apply zero RLS policies to the entity table. Defaults to false. - Use this only when you want the entity table provisioned with zero policies (e.g. because you - plan to insert secure_table_provision rows yourself later). In most cases, prefer leaving this - false and either accepting the five defaults (table_provision=NULL) or overriding them via - table_provision. - Defaults (applied when table_provision IS NULL and skip_entity_policies=false): - - SELECT (parent_member): parent entity members can see child entities (only when is_visible=true) - - SELECT (self_member): direct members of the entity can see it - - INSERT: create_entity permission on the parent entity - - UPDATE: admin_entity permission on the entity itself - - DELETE: owner of the entity can delete it - """ - skipEntityPolicies: Boolean +"""Methods to use when ordering `WebauthnCredential`.""" +enum WebauthnCredentialOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + CREDENTIAL_ID_ASC + CREDENTIAL_ID_DESC + PUBLIC_KEY_ASC + PUBLIC_KEY_DESC + SIGN_COUNT_ASC + SIGN_COUNT_DESC + WEBAUTHN_USER_ID_ASC + WEBAUTHN_USER_ID_DESC + TRANSPORTS_ASC + TRANSPORTS_DESC + CREDENTIAL_DEVICE_TYPE_ASC + CREDENTIAL_DEVICE_TYPE_DESC + BACKUP_ELIGIBLE_ASC + BACKUP_ELIGIBLE_DESC + BACKUP_STATE_ASC + BACKUP_STATE_DESC + NAME_ASC + NAME_DESC + LAST_USED_AT_ASC + LAST_USED_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """ - Single jsonb object describing the full security setup to apply to the entity table. - Uses the same vocabulary as metaschema_modules_public.provision_table() and blueprint tables[] - entries, so an entity table is configured the same way an ordinary blueprint table is. - Defaults to NULL; when non-NULL, the five default policies are implicitly replaced by - table_provision.policies[] (is_visible becomes a no-op on this path). - Recognized keys (all optional): - - use_rls (boolean, default true) - - nodes (jsonb array of {"$type","data"} Data* module entries) - - fields (jsonb array of field objects: name,type,is_required,default,min,max,regexp,index) - - grants (jsonb array of grant objects; each with roles[] and privileges[]) - - policies (jsonb array of policy objects; each with $type, privileges, data, name, role, permissive) - The trigger forwards all setup (nodes/fields/grants/policies) as a single secure_table_provision row - against the newly created entity table. - Example — override with two SELECT policies: - table_provision := jsonb_build_object( - 'policies', jsonb_build_array( - jsonb_build_object( - '$type', 'AuthzEntityMembership', - 'privileges', jsonb_build_array('select'), - 'data', jsonb_build_object('entity_field', 'id', 'membership_type', 3), - 'name', 'self_member' - ), - jsonb_build_object( - '$type', 'AuthzDirectOwner', - 'privileges', jsonb_build_array('select', 'update'), - 'data', jsonb_build_object('owner_field', 'owner_id') - ) - ) - ) - """ - tableProvision: JSON +"""A connection to a list of `AppInvite` values.""" +type AppInviteConnection { + """A list of `AppInvite` objects.""" + nodes: [AppInvite]! """ - Output: the auto-assigned integer membership type ID. Populated by the trigger after successful provisioning. - This is the ID used in entity_types, memberships_module, and all module tables. + A list of edges which contains the `AppInvite` and cursor to aid in pagination. """ - outMembershipType: Int + edges: [AppInviteEdge]! - """ - Output: the UUID of the created entity table. Populated by the trigger. - Use this to reference the entity table in subsequent relation_provision or secure_table_provision rows. - """ - outEntityTableId: UUID + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Output: the name of the created entity table (e.g. 'data_rooms'). Populated by the trigger. - """ - outEntityTableName: String + """The count of *all* `AppInvite` you could get from the connection.""" + totalCount: Int! +} - """ - Output: array of installed module labels (e.g. ARRAY['permissions_module:data_room', 'memberships_module:data_room', 'invites_module:data_room']). - Populated by the trigger. Useful for verifying which modules were provisioned. - """ - outInstalledModules: [String] +""" +Invitation records sent to prospective members via email, with token-based redemption and expiration +""" +type AppInvite { + id: UUID! - """ - Output: the UUID of the storage_module row created for this entity type. Populated by the trigger when has_storage=true. - """ - outStorageModuleId: UUID + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """ - Output: the UUID of the generated buckets table (e.g. data_room_buckets). Populated by the trigger when has_storage=true. - """ - outBucketsTableId: UUID + """User ID of the member who sent this invitation""" + senderId: UUID! - """ - Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. - """ - outFilesTableId: UUID + """Unique random hex token used to redeem this invitation""" + inviteToken: String! - """ - Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. - NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING - (i.e. the invites_module row was created in a previous run). - """ - outInvitesModuleId: UUID -} + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean! -"""The output of our create `RelationProvision` mutation.""" -type CreateRelationProvisionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int! - """The `RelationProvision` that was created by this mutation.""" - relationProvision: RelationProvision + """Running count of how many times this invite has been claimed""" + inviteCount: Int! + + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean! + + """Optional JSON payload of additional invite metadata""" + data: JSON """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. """ - query: Query + profileId: UUID - """An edge for our `RelationProvision`. May be used by Relay 1.""" - relationProvisionEdge( - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): RelationProvisionEdge + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime! + createdAt: Datetime + updatedAt: Datetime + + """Reads a single `User` that is related to this `AppInvite`.""" + sender: User } -"""All input for the create `RelationProvision` mutation.""" -input CreateRelationProvisionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `AppInvite` edge in the connection.""" +type AppInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `RelationProvision` to be created by this mutation.""" - relationProvision: RelationProvisionInput! + """The `AppInvite` at the end of the edge.""" + node: AppInvite } -"""An input for mutations affecting `RelationProvision`""" -input RelationProvisionInput { - """Unique identifier for this relation provision row.""" - id: UUID +"""Methods to use when ordering `AppInvite`.""" +enum AppInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + EMAIL_ASC + EMAIL_DESC + SENDER_ID_ASC + SENDER_ID_DESC + INVITE_TOKEN_ASC + INVITE_TOKEN_DESC + INVITE_VALID_ASC + INVITE_VALID_DESC + INVITE_LIMIT_ASC + INVITE_LIMIT_DESC + INVITE_COUNT_ASC + INVITE_COUNT_DESC + MULTIPLE_ASC + MULTIPLE_DESC + DATA_ASC + DATA_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """ - The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. - """ - databaseId: UUID! +"""A connection to a list of `AppClaimedInvite` values.""" +type AppClaimedInviteConnection { + """A list of `AppClaimedInvite` objects.""" + nodes: [AppClaimedInvite]! """ - The type of relation to create. Uses SuperCase naming: - - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. - - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. - - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. - - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). - Each relation type uses a different subset of columns on this table. Required. + A list of edges which contains the `AppClaimedInvite` and cursor to aid in pagination. """ - relationType: String! + edges: [AppClaimedInviteEdge]! - """ - The source table in the relation. Required. - - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). - - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. - - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). - - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. - """ - sourceTableId: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - The target table in the relation. Required. - - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). - - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). - - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). - - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. + The count of *all* `AppClaimedInvite` you could get from the connection. """ - targetTableId: UUID! + totalCount: Int! +} - """ - FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. - - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). - - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). - For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. - Ignored for RelationManyToMany — use source_field_name/target_field_name instead. - """ - fieldName: String +""" +Records of successfully claimed invitations, linking senders to receivers +""" +type AppClaimedInvite { + id: UUID! - """ - FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). - """ - deleteAction: String + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON - """ - Whether the FK field is NOT NULL. Defaults to true. - - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). - - RelationHasMany: set to false if the child can exist without a parent. - - RelationHasOne: typically true. - Ignored for RelationManyToMany (junction FK fields are always required). - """ - isRequired: Boolean + """User ID of the original invitation sender""" + senderId: UUID - """ - Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. - When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. - When is_required is true, api_required is ignored (the field is already required at both levels). - Ignored for RelationManyToMany (junction FK fields are always required). - """ - apiRequired: Boolean + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime - """ - For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). - - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. - - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. - Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionTableId: UUID + """Reads a single `User` that is related to this `AppClaimedInvite`.""" + receiver: User - """ - For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionTableName: String + """Reads a single `User` that is related to this `AppClaimedInvite`.""" + sender: User +} - """ - For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionSchemaId: UUID +"""A `AppClaimedInvite` edge in the connection.""" +type AppClaimedInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. - """ - sourceFieldName: String + """The `AppClaimedInvite` at the end of the edge.""" + node: AppClaimedInvite +} - """ - For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. - """ - targetFieldName: String +"""Methods to use when ordering `AppClaimedInvite`.""" +enum AppClaimedInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATA_ASC + DATA_DESC + SENDER_ID_ASC + SENDER_ID_DESC + RECEIVER_ID_ASC + RECEIVER_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """ - For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. - - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. - - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. - use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. - Ignored for RelationBelongsTo/RelationHasOne. - """ - useCompositeKey: Boolean +"""A connection to a list of `OrgInvite` values.""" +type OrgInviteConnection { + """A list of `OrgInvite` objects.""" + nodes: [OrgInvite]! """ - Whether to create a btree index on FK fields created by this relation. Defaults to true. - PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). - Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. - - RelationBelongsTo: creates an index on the FK field on the source table. - - RelationHasMany: creates an index on the FK field on the target table. - - RelationHasOne: skipped — the unique constraint already creates an implicit index. - - RelationManyToMany: creates indexes on both FK fields on the junction table. - Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + A list of edges which contains the `OrgInvite` and cursor to aid in pagination. """ - createIndex: Boolean + edges: [OrgInviteEdge]! - """ - For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. - When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates - clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). - When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. - Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - exposeInApi: Boolean + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. - Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. - Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - nodes: JSON + """The count of *all* `OrgInvite` you could get from the connection.""" + totalCount: Int! +} - """ - For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. - """ - grants: JSON +""" +Invitation records sent to prospective members via email, with token-based redemption and expiration +""" +type OrgInvite { + id: UUID! - """ - For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. - Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. - Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - policies: JSON + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """ - Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. - """ - outFieldId: UUID + """User ID of the member who sent this invitation""" + senderId: UUID! - """ - Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outJunctionTableId: UUID + """User ID of the intended recipient, if targeting a specific user""" + receiverId: UUID - """ - Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outSourceFieldId: UUID + """Unique random hex token used to redeem this invitation""" + inviteToken: String! - """ - Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outTargetFieldId: UUID -} + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean! -"""The output of our create `LevelsModule` mutation.""" -type CreateLevelsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int! - """The `LevelsModule` that was created by this mutation.""" - levelsModule: LevelsModule + """Running count of how many times this invite has been claimed""" + inviteCount: Int! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean! - """An edge for our `LevelsModule`. May be used by Relay 1.""" - levelsModuleEdge( - """The method to use when ordering `LevelsModule`.""" - orderBy: [LevelsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): LevelsModuleEdge -} + """Optional JSON payload of additional invite metadata""" + data: JSON -"""All input for the create `LevelsModule` mutation.""" -input CreateLevelsModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. """ - clientMutationId: String - - """The `LevelsModule` to be created by this mutation.""" - levelsModule: LevelsModuleInput! -} - -"""An input for mutations affecting `LevelsModule`""" -input LevelsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - stepsTableId: UUID - stepsTableName: String - achievementsTableId: UUID - achievementsTableName: String - levelsTableId: UUID - levelsTableName: String - levelRequirementsTableId: UUID - levelRequirementsTableName: String - completedStep: String - incompletedStep: String - tgAchievement: String - tgAchievementToggle: String - tgAchievementToggleBoolean: String - tgAchievementBoolean: String - upsertAchievement: String - tgUpdateAchievements: String - stepsRequired: String - levelAchieved: String - prefix: String - membershipType: Int! - entityTableId: UUID - actorTableId: UUID -} + profileId: UUID -"""The output of our create `UserAuthModule` mutation.""" -type CreateUserAuthModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime! + createdAt: Datetime + updatedAt: Datetime + entityId: UUID! - """The `UserAuthModule` that was created by this mutation.""" - userAuthModule: UserAuthModule + """Reads a single `User` that is related to this `OrgInvite`.""" + entity: User - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `User` that is related to this `OrgInvite`.""" + receiver: User - """An edge for our `UserAuthModule`. May be used by Relay 1.""" - userAuthModuleEdge( - """The method to use when ordering `UserAuthModule`.""" - orderBy: [UserAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserAuthModuleEdge + """Reads a single `User` that is related to this `OrgInvite`.""" + sender: User } -"""All input for the create `UserAuthModule` mutation.""" -input CreateUserAuthModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgInvite` edge in the connection.""" +type OrgInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `UserAuthModule` to be created by this mutation.""" - userAuthModule: UserAuthModuleInput! + """The `OrgInvite` at the end of the edge.""" + node: OrgInvite } -"""An input for mutations affecting `UserAuthModule`""" -input UserAuthModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - emailsTableId: UUID - usersTableId: UUID - secretsTableId: UUID - encryptedTableId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - auditsTableId: UUID - auditsTableName: String - signInFunction: String - signUpFunction: String - signOutFunction: String - setPasswordFunction: String - resetPasswordFunction: String - forgotPasswordFunction: String - sendVerificationEmailFunction: String - verifyEmailFunction: String - verifyPasswordFunction: String - checkPasswordFunction: String - sendAccountDeletionEmailFunction: String - deleteAccountFunction: String - signInCrossOriginFunction: String - requestCrossOriginTokenFunction: String - extendTokenExpires: String +"""Methods to use when ordering `OrgInvite`.""" +enum OrgInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + EMAIL_ASC + EMAIL_DESC + SENDER_ID_ASC + SENDER_ID_DESC + RECEIVER_ID_ASC + RECEIVER_ID_DESC + INVITE_TOKEN_ASC + INVITE_TOKEN_DESC + INVITE_VALID_ASC + INVITE_VALID_DESC + INVITE_LIMIT_ASC + INVITE_LIMIT_DESC + INVITE_COUNT_ASC + INVITE_COUNT_DESC + MULTIPLE_ASC + MULTIPLE_DESC + DATA_ASC + DATA_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""The output of our create `Field` mutation.""" -type CreateFieldPayload { +"""A connection to a list of `OrgClaimedInvite` values.""" +type OrgClaimedInviteConnection { + """A list of `OrgClaimedInvite` objects.""" + nodes: [OrgClaimedInvite]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgClaimedInvite` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgClaimedInviteEdge]! - """The `Field` that was created by this mutation.""" - field: Field + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgClaimedInvite` you could get from the connection. """ - query: Query - - """An edge for our `Field`. May be used by Relay 1.""" - fieldEdge( - """The method to use when ordering `Field`.""" - orderBy: [FieldOrderBy!]! = [PRIMARY_KEY_ASC] - ): FieldEdge + totalCount: Int! } -"""All input for the create `Field` mutation.""" -input CreateFieldInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Records of successfully claimed invitations, linking senders to receivers +""" +type OrgClaimedInvite { + id: UUID! - """The `Field` to be created by this mutation.""" - field: FieldInput! -} + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON -"""An input for mutations affecting `Field`""" -input FieldInput { - id: UUID - databaseId: UUID - tableId: UUID! - name: String! - label: String - description: String - smartTags: JSON - isRequired: Boolean - apiRequired: Boolean - defaultValue: String - defaultValueAst: JSON - type: String! - fieldOrder: Int - regexp: String - chk: JSON - chkExpr: JSON - min: Float - max: Float - tags: [String] - category: ObjectCategory - module: String - scope: Int + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID createdAt: Datetime updatedAt: Datetime -} - -"""The output of our create `MembershipsModule` mutation.""" -type CreateMembershipsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + entityId: UUID! - """The `MembershipsModule` that was created by this mutation.""" - membershipsModule: MembershipsModule + """Reads a single `User` that is related to this `OrgClaimedInvite`.""" + entity: User - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `User` that is related to this `OrgClaimedInvite`.""" + receiver: User - """An edge for our `MembershipsModule`. May be used by Relay 1.""" - membershipsModuleEdge( - """The method to use when ordering `MembershipsModule`.""" - orderBy: [MembershipsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipsModuleEdge + """Reads a single `User` that is related to this `OrgClaimedInvite`.""" + sender: User } -"""All input for the create `MembershipsModule` mutation.""" -input CreateMembershipsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A `OrgClaimedInvite` edge in the connection.""" +type OrgClaimedInviteEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The `MembershipsModule` to be created by this mutation.""" - membershipsModule: MembershipsModuleInput! + """The `OrgClaimedInvite` at the end of the edge.""" + node: OrgClaimedInvite } -"""An input for mutations affecting `MembershipsModule`""" -input MembershipsModuleInput { - id: UUID - databaseId: UUID! - schemaId: UUID - privateSchemaId: UUID - membershipsTableId: UUID - membershipsTableName: String - membersTableId: UUID - membersTableName: String - membershipDefaultsTableId: UUID - membershipDefaultsTableName: String - membershipSettingsTableId: UUID - membershipSettingsTableName: String - grantsTableId: UUID - grantsTableName: String - actorTableId: UUID - limitsTableId: UUID - defaultLimitsTableId: UUID - permissionsTableId: UUID - defaultPermissionsTableId: UUID - sprtTableId: UUID - adminGrantsTableId: UUID - adminGrantsTableName: String - ownerGrantsTableId: UUID - ownerGrantsTableName: String - membershipType: Int! - entityTableId: UUID - entityTableOwnerId: UUID - prefix: String - actorMaskCheck: String - actorPermCheck: String - entityIdsByMask: String - entityIdsByPerm: String - entityIdsFunction: String - memberProfilesTableId: UUID +"""Methods to use when ordering `OrgClaimedInvite`.""" +enum OrgClaimedInviteOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATA_ASC + DATA_DESC + SENDER_ID_ASC + SENDER_ID_DESC + RECEIVER_ID_ASC + RECEIVER_ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""The output of our update `DefaultIdsModule` mutation.""" -type UpdateDefaultIdsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `DefaultIdsModule` that was updated by this mutation.""" - defaultIdsModule: DefaultIdsModule +"""A connection to a list of `AuditLog` values.""" +type AuditLogConnection { + """A list of `AuditLog` objects.""" + nodes: [AuditLog]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AuditLog` and cursor to aid in pagination. """ - query: Query + edges: [AuditLogEdge]! - """An edge for our `DefaultIdsModule`. May be used by Relay 1.""" - defaultIdsModuleEdge( - """The method to use when ordering `DefaultIdsModule`.""" - orderBy: [DefaultIdsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DefaultIdsModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AuditLog` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateDefaultIdsModule` mutation.""" -input UpdateDefaultIdsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Append-only audit log of authentication events (sign-in, sign-up, password changes, etc.) +""" +type AuditLog { id: UUID! """ - An object where the defined keys will be set on the `DefaultIdsModule` being updated. + Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) """ - defaultIdsModulePatch: DefaultIdsModulePatch! + event: String! + + """User who performed the authentication action; NULL if user was deleted""" + actorId: UUID + + """Request origin (domain) where the auth event occurred""" + origin: ConstructiveInternalTypeOrigin + + """Browser or client user-agent string from the request""" + userAgent: String + + """IP address of the client that initiated the auth event""" + ipAddress: InternetAddress + + """Whether the authentication attempt succeeded""" + success: Boolean! + + """Timestamp when the audit event was recorded""" + createdAt: Datetime! + + """Reads a single `User` that is related to this `AuditLog`.""" + actor: User } -""" -Represents an update to a `DefaultIdsModule`. Fields that are set will be updated. -""" -input DefaultIdsModulePatch { - id: UUID - databaseId: UUID +"""A `AuditLog` edge in the connection.""" +type AuditLogEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AuditLog` at the end of the edge.""" + node: AuditLog } -"""The output of our update `RoleType` mutation.""" -type UpdateRoleTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AuditLog`.""" +enum AuditLogOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + EVENT_ASC + EVENT_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ORIGIN_ASC + ORIGIN_DESC + USER_AGENT_ASC + USER_AGENT_DESC + IP_ADDRESS_ASC + IP_ADDRESS_DESC + SUCCESS_ASC + SUCCESS_DESC + CREATED_AT_ASC + CREATED_AT_DESC +} - """The `RoleType` that was updated by this mutation.""" - roleType: RoleType +"""A connection to a list of `AgentThread` values.""" +type AgentThreadConnection { + """A list of `AgentThread` objects.""" + nodes: [AgentThread]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AgentThread` and cursor to aid in pagination. """ - query: Query + edges: [AgentThreadEdge]! - """An edge for our `RoleType`. May be used by Relay 1.""" - roleTypeEdge( - """The method to use when ordering `RoleType`.""" - orderBy: [RoleTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): RoleTypeEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AgentThread` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateRoleType` mutation.""" -input UpdateRoleTypeInput { +""" +Top-level AI/LLM conversation. Owns the chat-mode + model + system-prompt snapshot for the lifetime of the conversation, and is the entity-scoping anchor — descendants (agent_message, agent_task) inherit entity_id from this row via DataInheritFromParent. RLS is owner-only (AuthzDirectOwner); entity_id is a grouping dimension, not a security dimension. +""" +type AgentThread { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Human-readable conversation title. Typically auto-generated from the first user message and editable by the user. NULL until a title has been computed. """ - clientMutationId: String - id: Int! + title: String """ - An object where the defined keys will be set on the `RoleType` being updated. + Conversation mode: 'ask' for plain Q&A (no tool execution) or 'agent' for tool-enabled execution. Stored as free-text (no CHECK) so new modes can be added without migration. """ - roleTypePatch: RoleTypePatch! -} - -""" -Represents an update to a `RoleType`. Fields that are set will be updated. -""" -input RoleTypePatch { - id: Int - name: String -} + mode: String! -"""The output of our update `ViewTable` mutation.""" -type UpdateViewTablePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Snapshot of the LLM model id this thread is bound to (e.g. 'gpt-5', 'claude-sonnet-4'). Captured on creation so a resumed conversation stays on the same model even if app defaults change. NULL means use the app default at request time. """ - clientMutationId: String - - """The `ViewTable` that was updated by this mutation.""" - viewTable: ViewTable + model: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Snapshot of the system prompt active for this thread. Stored on the thread (rather than referenced from a registry) so the conversation remains reproducible even if a future system_prompt registry changes its canonical text. NULL means use the app default at request time. """ - query: Query + systemPrompt: String + id: UUID! - """An edge for our `ViewTable`. May be used by Relay 1.""" - viewTableEdge( - """The method to use when ordering `ViewTable`.""" - orderBy: [ViewTableOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewTableEdge -} + """Timestamp when this record was created""" + createdAt: Datetime! -"""All input for the `updateViewTable` mutation.""" -input UpdateViewTableInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Timestamp when this record was last updated""" + updatedAt: Datetime! - """ - An object where the defined keys will be set on the `ViewTable` being updated. - """ - viewTablePatch: ViewTablePatch! -} + """User who owns this record within the entity""" + ownerId: UUID! -""" -Represents an update to a `ViewTable`. Fields that are set will be updated. -""" -input ViewTablePatch { - id: UUID - viewId: UUID - tableId: UUID - joinOrder: Int -} + """Entity this record belongs to""" + entityId: UUID! -"""The output of our update `ApiSchema` mutation.""" -type UpdateApiSchemaPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Current status of this record""" + status: String! - """The `ApiSchema` that was updated by this mutation.""" - apiSchema: ApiSchema + """Reads a single `User` that is related to this `AgentThread`.""" + entity: User - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reads a single `User` that is related to this `AgentThread`.""" + owner: User - """An edge for our `ApiSchema`. May be used by Relay 1.""" - apiSchemaEdge( - """The method to use when ordering `ApiSchema`.""" - orderBy: [ApiSchemaOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiSchemaEdge -} + """Reads and enables pagination through a set of `AgentMessage`.""" + agentMessagesByThreadId( + """Only read the first `n` values of the set.""" + first: Int -"""All input for the `updateApiSchema` mutation.""" -input UpdateApiSchemaInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Only read the last `n` values of the set.""" + last: Int - """Unique identifier for this API-schema mapping""" - id: UUID! + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int - """ - An object where the defined keys will be set on the `ApiSchema` being updated. - """ - apiSchemaPatch: ApiSchemaPatch! -} + """Read all values in the set before (above) this cursor.""" + before: Cursor -""" -Represents an update to a `ApiSchema`. Fields that are set will be updated. -""" -input ApiSchemaPatch { - """Unique identifier for this API-schema mapping""" - id: UUID + """Read all values in the set after (below) this cursor.""" + after: Cursor - """Reference to the metaschema database""" - databaseId: UUID + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AgentMessageFilter - """Metaschema schema being exposed through the API""" - schemaId: UUID + """The method to use when ordering `AgentMessage`.""" + orderBy: [AgentMessageOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentMessageConnection! - """API that exposes this schema""" - apiId: UUID + """Reads and enables pagination through a set of `AgentTask`.""" + agentTasksByThreadId( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: AgentTaskFilter + + """The method to use when ordering `AgentTask`.""" + orderBy: [AgentTaskOrderBy!] = [PRIMARY_KEY_ASC] + ): AgentTaskConnection! } -"""The output of our update `OrgMember` mutation.""" -type UpdateOrgMemberPayload { +"""A connection to a list of `AgentMessage` values.""" +type AgentMessageConnection { + """A list of `AgentMessage` objects.""" + nodes: [AgentMessage]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `AgentMessage` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AgentMessageEdge]! - """The `OrgMember` that was updated by this mutation.""" - orgMember: OrgMember + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AgentMessage` you could get from the connection.""" + totalCount: Int! +} +""" +A single message in an agent_thread. The full client-rendered content (TextPart and ToolPart, including the ToolPart state machine and inline approval object) lives in the `parts` jsonb column — there is no separate agent_tool_call or agent_tool_approval table in v1. Cascade-deleted with the parent thread; RLS is owner-only. +""" +type AgentMessage { """ - Our root query field type. Allows us to run any query from our mutation payload. + Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. """ - query: Query - - """An edge for our `OrgMember`. May be used by Relay 1.""" - orgMemberEdge( - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberEdge -} + threadId: UUID! -"""All input for the `updateOrgMember` mutation.""" -input UpdateOrgMemberInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Entity (org/group/personal-org id) this message is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger, which copies it from agent_thread.entity_id via thread_id; the application never sets this column directly. Used for org-scoped grouping queries (e.g. 'all my messages in org X'), NOT for RLS — RLS is owner-only. """ - clientMutationId: String - id: UUID! + entityId: UUID! """ - An object where the defined keys will be set on the `OrgMember` being updated. + Who authored this message: 'user' or 'assistant'. Stored as free-text (no CHECK) so additional roles can be introduced without migration. Tool inputs/outputs do NOT get their own role — they appear as ToolPart entries inside the assistant message's `parts` array. """ - orgMemberPatch: OrgMemberPatch! -} + authorRole: String! + id: UUID! -""" -Represents an update to a `OrgMember`. Fields that are set will be updated. -""" -input OrgMemberPatch { - id: UUID + """Timestamp when this record was created""" + createdAt: Datetime! - """Whether this member has admin privileges""" - isAdmin: Boolean + """Timestamp when this record was last updated""" + updatedAt: Datetime! - """References the user who is a member""" - actorId: UUID + """User who owns this record""" + ownerId: UUID! - """References the entity (org or group) this member belongs to""" - entityId: UUID -} + """JSON metadata for extensible key-value storage""" + parts: JSON -"""The output of our update `SiteTheme` mutation.""" -type UpdateSiteThemePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Reads a single `User` that is related to this `AgentMessage`.""" + owner: User - """The `SiteTheme` that was updated by this mutation.""" - siteTheme: SiteTheme + """Reads a single `AgentThread` that is related to this `AgentMessage`.""" + thread: AgentThread +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `AgentMessage` edge in the connection.""" +type AgentMessageEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `SiteTheme`. May be used by Relay 1.""" - siteThemeEdge( - """The method to use when ordering `SiteTheme`.""" - orderBy: [SiteThemeOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteThemeEdge + """The `AgentMessage` at the end of the edge.""" + node: AgentMessage } -"""All input for the `updateSiteTheme` mutation.""" -input UpdateSiteThemeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""Methods to use when ordering `AgentMessage`.""" +enum AgentMessageOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + THREAD_ID_ASC + THREAD_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + AUTHOR_ROLE_ASC + AUTHOR_ROLE_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + OWNER_ID_ASC + OWNER_ID_DESC + PARTS_ASC + PARTS_DESC +} - """Unique identifier for this theme record""" - id: UUID! +"""A connection to a list of `AgentTask` values.""" +type AgentTaskConnection { + """A list of `AgentTask` objects.""" + nodes: [AgentTask]! """ - An object where the defined keys will be set on the `SiteTheme` being updated. + A list of edges which contains the `AgentTask` and cursor to aid in pagination. """ - siteThemePatch: SiteThemePatch! + edges: [AgentTaskEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `AgentTask` you could get from the connection.""" + totalCount: Int! } """ -Represents an update to a `SiteTheme`. Fields that are set will be updated. +An agent- or user-authored todo item attached to an agent_thread. Captures the planning surface for agent-mode conversations: each row is a single discrete unit of work with a status lifecycle (pending → in-progress → done|failed). Cascade-deleted with the parent thread; RLS is owner-only. """ -input SiteThemePatch { - """Unique identifier for this theme record""" - id: UUID - - """Reference to the metaschema database""" - databaseId: UUID - - """Site this theme belongs to""" - siteId: UUID - +type AgentTask { """ - JSONB object containing theme tokens (colors, typography, spacing, etc.) + Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. """ - theme: JSON -} + threadId: UUID! -"""The output of our update `Ref` mutation.""" -type UpdateRefPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Entity (org/group/personal-org id) this task is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger from agent_thread.entity_id via thread_id; the application never sets this column directly. """ - clientMutationId: String + entityId: UUID! - """The `Ref` that was updated by this mutation.""" - ref: Ref + """Natural-language description of the work to do. Required.""" + description: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Who created the task: 'agent' (added by the LLM during planning) or 'user' (added manually by the human). Stored as free-text (no CHECK) so additional sources can be introduced later. """ - query: Query - - """An edge for our `Ref`. May be used by Relay 1.""" - refEdge( - """The method to use when ordering `Ref`.""" - orderBy: [RefOrderBy!]! = [PRIMARY_KEY_ASC] - ): RefEdge -} + source: String! -"""All input for the `updateRef` mutation.""" -input UpdateRefInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Error message captured when the task transitioned to 'failed'. NULL while the task is still pending/in-progress, or when it completed successfully. """ - clientMutationId: String - - """The primary unique identifier for the ref.""" + error: String id: UUID! - databaseId: UUID! - """ - An object where the defined keys will be set on the `Ref` being updated. - """ - refPatch: RefPatch! + """Timestamp when this record was created""" + createdAt: Datetime! + + """Timestamp when this record was last updated""" + updatedAt: Datetime! + + """User who owns this record""" + ownerId: UUID! + + """Current status of this record""" + status: String! + + """Reads a single `User` that is related to this `AgentTask`.""" + owner: User + + """Reads a single `AgentThread` that is related to this `AgentTask`.""" + thread: AgentThread } -"""Represents an update to a `Ref`. Fields that are set will be updated.""" -input RefPatch { - """The primary unique identifier for the ref.""" - id: UUID +"""A `AgentTask` edge in the connection.""" +type AgentTaskEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The name of the ref or branch""" - name: String - databaseId: UUID - storeId: UUID - commitId: UUID + """The `AgentTask` at the end of the edge.""" + node: AgentTask } -"""The output of our update `Store` mutation.""" -type UpdateStorePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AgentTask`.""" +enum AgentTaskOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + THREAD_ID_ASC + THREAD_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + SOURCE_ASC + SOURCE_DESC + ERROR_ASC + ERROR_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + OWNER_ID_ASC + OWNER_ID_DESC + STATUS_ASC + STATUS_DESC +} - """The `Store` that was updated by this mutation.""" - store: Store +"""A `AgentThread` edge in the connection.""" +type AgentThreadEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The `AgentThread` at the end of the edge.""" + node: AgentThread +} - """An edge for our `Store`. May be used by Relay 1.""" - storeEdge( - """The method to use when ordering `Store`.""" - orderBy: [StoreOrderBy!]! = [PRIMARY_KEY_ASC] - ): StoreEdge +"""Methods to use when ordering `AgentThread`.""" +enum AgentThreadOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + TITLE_ASC + TITLE_DESC + MODE_ASC + MODE_DESC + MODEL_ASC + MODEL_DESC + SYSTEM_PROMPT_ASC + SYSTEM_PROMPT_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + OWNER_ID_ASC + OWNER_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + STATUS_ASC + STATUS_DESC } -"""All input for the `updateStore` mutation.""" -input UpdateStoreInput { +"""A connection to a list of `RoleType` values.""" +type RoleTypeConnection { + """A list of `RoleType` objects.""" + nodes: [RoleType]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `RoleType` and cursor to aid in pagination. """ - clientMutationId: String + edges: [RoleTypeEdge]! - """The primary unique identifier for the store.""" - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - An object where the defined keys will be set on the `Store` being updated. - """ - storePatch: StorePatch! + """The count of *all* `RoleType` you could get from the connection.""" + totalCount: Int! } -""" -Represents an update to a `Store`. Fields that are set will be updated. -""" -input StorePatch { - """The primary unique identifier for the store.""" - id: UUID - - """The name of the store (e.g., metaschema, migrations).""" - name: String +"""A `RoleType` edge in the connection.""" +type RoleTypeEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """The database this store belongs to.""" - databaseId: UUID + """The `RoleType` at the end of the edge.""" + node: RoleType +} - """The current head tree_id for this store.""" - hash: UUID - createdAt: Datetime +"""Methods to use when ordering `RoleType`.""" +enum RoleTypeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC } -"""The output of our update `EncryptedSecretsModule` mutation.""" -type UpdateEncryptedSecretsModulePayload { +"""A connection to a list of `IdentityProvider` values.""" +type IdentityProviderConnection { + """A list of `IdentityProvider` objects.""" + nodes: [IdentityProvider]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `IdentityProvider` and cursor to aid in pagination. """ - clientMutationId: String + edges: [IdentityProviderEdge]! - """The `EncryptedSecretsModule` that was updated by this mutation.""" - encryptedSecretsModule: EncryptedSecretsModule + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `IdentityProvider` you could get from the connection. """ - query: Query + totalCount: Int! +} - """An edge for our `EncryptedSecretsModule`. May be used by Relay 1.""" - encryptedSecretsModuleEdge( - """The method to use when ordering `EncryptedSecretsModule`.""" - orderBy: [EncryptedSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): EncryptedSecretsModuleEdge +type IdentityProvider { + slug: String + kind: String + displayName: String + enabled: Boolean + isBuiltIn: Boolean } -"""All input for the `updateEncryptedSecretsModule` mutation.""" -input UpdateEncryptedSecretsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `IdentityProvider` edge in the connection.""" +type IdentityProviderEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `EncryptedSecretsModule` being updated. - """ - encryptedSecretsModulePatch: EncryptedSecretsModulePatch! + """The `IdentityProvider` at the end of the edge.""" + node: IdentityProvider } """ -Represents an update to a `EncryptedSecretsModule`. Fields that are set will be updated. +A filter to be used against `IdentityProvider` object types. All fields are combined with a logical ‘and.’ """ -input EncryptedSecretsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - tableId: UUID - tableName: String -} +input IdentityProviderFilter { + """Filter by the object’s `slug` field.""" + slug: StringFilter -"""The output of our update `MembershipTypesModule` mutation.""" -type UpdateMembershipTypesModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `kind` field.""" + kind: StringFilter - """The `MembershipTypesModule` that was updated by this mutation.""" - membershipTypesModule: MembershipTypesModule + """Filter by the object’s `displayName` field.""" + displayName: StringFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `enabled` field.""" + enabled: BooleanFilter - """An edge for our `MembershipTypesModule`. May be used by Relay 1.""" - membershipTypesModuleEdge( - """The method to use when ordering `MembershipTypesModule`.""" - orderBy: [MembershipTypesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypesModuleEdge -} + """Filter by the object’s `isBuiltIn` field.""" + isBuiltIn: BooleanFilter -"""All input for the `updateMembershipTypesModule` mutation.""" -input UpdateMembershipTypesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Checks for all expressions in this list.""" + and: [IdentityProviderFilter!] - """ - An object where the defined keys will be set on the `MembershipTypesModule` being updated. - """ - membershipTypesModulePatch: MembershipTypesModulePatch! -} + """Checks for any expressions in this list.""" + or: [IdentityProviderFilter!] -""" -Represents an update to a `MembershipTypesModule`. Fields that are set will be updated. -""" -input MembershipTypesModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - tableId: UUID - tableName: String + """Negates the expression.""" + not: IdentityProviderFilter } -"""The output of our update `SecretsModule` mutation.""" -type UpdateSecretsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `IdentityProvider`.""" +enum IdentityProviderOrderBy { + NATURAL + SLUG_ASC + SLUG_DESC + KIND_ASC + KIND_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + ENABLED_ASC + ENABLED_DESC + IS_BUILT_IN_ASC + IS_BUILT_IN_DESC +} - """The `SecretsModule` that was updated by this mutation.""" - secretsModule: SecretsModule +"""A connection to a list of `Ref` values.""" +type RefConnection { + """A list of `Ref` objects.""" + nodes: [Ref]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `Ref` and cursor to aid in pagination. """ - query: Query + edges: [RefEdge]! - """An edge for our `SecretsModule`. May be used by Relay 1.""" - secretsModuleEdge( - """The method to use when ordering `SecretsModule`.""" - orderBy: [SecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SecretsModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `Ref` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateSecretsModule` mutation.""" -input UpdateSecretsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A ref is a data structure for pointing to a commit.""" +type Ref { + """The primary unique identifier for the ref.""" id: UUID! - """ - An object where the defined keys will be set on the `SecretsModule` being updated. - """ - secretsModulePatch: SecretsModulePatch! + """The name of the ref or branch""" + name: String! + databaseId: UUID! + storeId: UUID! + commitId: UUID +} + +"""A `Ref` edge in the connection.""" +type RefEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Ref` at the end of the edge.""" + node: Ref } """ -Represents an update to a `SecretsModule`. Fields that are set will be updated. +A filter to be used against `Ref` object types. All fields are combined with a logical ‘and.’ """ -input SecretsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - tableId: UUID - tableName: String -} +input RefFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""The output of our update `AppPermissionDefault` mutation.""" -type UpdateAppPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `name` field.""" + name: StringFilter - """The `AppPermissionDefault` that was updated by this mutation.""" - appPermissionDefault: AppPermissionDefault + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `storeId` field.""" + storeId: UUIDFilter - """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" - appPermissionDefaultEdge( - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultEdge + """Filter by the object’s `commitId` field.""" + commitId: UUIDFilter + + """Checks for all expressions in this list.""" + and: [RefFilter!] + + """Checks for any expressions in this list.""" + or: [RefFilter!] + + """Negates the expression.""" + not: RefFilter } -"""All input for the `updateAppPermissionDefault` mutation.""" -input UpdateAppPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Methods to use when ordering `Ref`.""" +enum RefOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + STORE_ID_ASC + STORE_ID_DESC + COMMIT_ID_ASC + COMMIT_ID_DESC +} + +"""A connection to a list of `Store` values.""" +type StoreConnection { + """A list of `Store` objects.""" + nodes: [Store]! """ - An object where the defined keys will be set on the `AppPermissionDefault` being updated. + A list of edges which contains the `Store` and cursor to aid in pagination. """ - appPermissionDefaultPatch: AppPermissionDefaultPatch! -} + edges: [StoreEdge]! -""" -Represents an update to a `AppPermissionDefault`. Fields that are set will be updated. -""" -input AppPermissionDefaultPatch { - id: UUID + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Default permission bitmask applied to new members""" - permissions: BitString + """The count of *all* `Store` you could get from the connection.""" + totalCount: Int! } -"""The output of our update `ApiModule` mutation.""" -type UpdateApiModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""A store represents an isolated object repository within a database.""" +type Store { + """The primary unique identifier for the store.""" + id: UUID! - """The `ApiModule` that was updated by this mutation.""" - apiModule: ApiModule + """The name of the store (e.g., metaschema, migrations).""" + name: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The database this store belongs to.""" + databaseId: UUID! - """An edge for our `ApiModule`. May be used by Relay 1.""" - apiModuleEdge( - """The method to use when ordering `ApiModule`.""" - orderBy: [ApiModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiModuleEdge + """The current head tree_id for this store.""" + hash: UUID + createdAt: Datetime } -"""All input for the `updateApiModule` mutation.""" -input UpdateApiModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """Unique identifier for this API module record""" - id: UUID! +"""A `Store` edge in the connection.""" +type StoreEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `ApiModule` being updated. - """ - apiModulePatch: ApiModulePatch! + """The `Store` at the end of the edge.""" + node: Store } """ -Represents an update to a `ApiModule`. Fields that are set will be updated. +A filter to be used against `Store` object types. All fields are combined with a logical ‘and.’ """ -input ApiModulePatch { - """Unique identifier for this API module record""" - id: UUID +input StoreFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reference to the metaschema database""" - databaseId: UUID + """Filter by the object’s `name` field.""" + name: StringFilter - """API this module configuration belongs to""" - apiId: UUID + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Module name (e.g. auth, uploads, webhooks)""" - name: String + """Filter by the object’s `hash` field.""" + hash: UUIDFilter - """JSON configuration data for this module""" - data: JSON + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter + + """Checks for all expressions in this list.""" + and: [StoreFilter!] + + """Checks for any expressions in this list.""" + or: [StoreFilter!] + + """Negates the expression.""" + not: StoreFilter } -"""The output of our update `SiteModule` mutation.""" -type UpdateSiteModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `Store`.""" +enum StoreOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + HASH_ASC + HASH_DESC + CREATED_AT_ASC + CREATED_AT_DESC +} - """The `SiteModule` that was updated by this mutation.""" - siteModule: SiteModule +"""A connection to a list of `AppPermissionDefault` values.""" +type AppPermissionDefaultConnection { + """A list of `AppPermissionDefault` objects.""" + nodes: [AppPermissionDefault]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppPermissionDefault` and cursor to aid in pagination. """ - query: Query + edges: [AppPermissionDefaultEdge]! - """An edge for our `SiteModule`. May be used by Relay 1.""" - siteModuleEdge( - """The method to use when ordering `SiteModule`.""" - orderBy: [SiteModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteModuleEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the `updateSiteModule` mutation.""" -input UpdateSiteModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `AppPermissionDefault` you could get from the connection. """ - clientMutationId: String + totalCount: Int! +} - """Unique identifier for this site module record""" +""" +Stores the default permission bitmask assigned to new members upon joining +""" +type AppPermissionDefault { id: UUID! - """ - An object where the defined keys will be set on the `SiteModule` being updated. - """ - siteModulePatch: SiteModulePatch! + """Default permission bitmask applied to new members""" + permissions: BitString! +} + +"""A `AppPermissionDefault` edge in the connection.""" +type AppPermissionDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppPermissionDefault` at the end of the edge.""" + node: AppPermissionDefault } """ -Represents an update to a `SiteModule`. Fields that are set will be updated. +A filter to be used against `AppPermissionDefault` object types. All fields are combined with a logical ‘and.’ """ -input SiteModulePatch { - """Unique identifier for this site module record""" - id: UUID +input AppPermissionDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Reference to the metaschema database""" - databaseId: UUID + """Filter by the object’s `permissions` field.""" + permissions: BitStringFilter - """Site this module configuration belongs to""" - siteId: UUID + """Checks for all expressions in this list.""" + and: [AppPermissionDefaultFilter!] - """Module name (e.g. user_auth_module, analytics)""" - name: String + """Checks for any expressions in this list.""" + or: [AppPermissionDefaultFilter!] - """JSON configuration data for this module""" - data: JSON + """Negates the expression.""" + not: AppPermissionDefaultFilter } -"""The output of our update `SchemaGrant` mutation.""" -type UpdateSchemaGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AppPermissionDefault`.""" +enum AppPermissionDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC +} - """The `SchemaGrant` that was updated by this mutation.""" - schemaGrant: SchemaGrant +"""A connection to a list of `AppLimitCreditCode` values.""" +type AppLimitCreditCodeConnection { + """A list of `AppLimitCreditCode` objects.""" + nodes: [AppLimitCreditCode]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `AppLimitCreditCode` and cursor to aid in pagination. """ - query: Query + edges: [AppLimitCreditCodeEdge]! - """An edge for our `SchemaGrant`. May be used by Relay 1.""" - schemaGrantEdge( - """The method to use when ordering `SchemaGrant`.""" - orderBy: [SchemaGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): SchemaGrantEdge -} + """Information to aid in pagination.""" + pageInfo: PageInfo! -"""All input for the `updateSchemaGrant` mutation.""" -input UpdateSchemaGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + The count of *all* `AppLimitCreditCode` you could get from the connection. """ - clientMutationId: String - id: UUID! + totalCount: Int! +} - """ - An object where the defined keys will be set on the `SchemaGrant` being updated. - """ - schemaGrantPatch: SchemaGrantPatch! +"""A `AppLimitCreditCode` edge in the connection.""" +type AppLimitCreditCodeEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `AppLimitCreditCode` at the end of the edge.""" + node: AppLimitCreditCode +} + +"""Methods to use when ordering `AppLimitCreditCode`.""" +enum AppLimitCreditCodeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CODE_ASC + CODE_DESC + MAX_REDEMPTIONS_ASC + MAX_REDEMPTIONS_DESC + CURRENT_REDEMPTIONS_ASC + CURRENT_REDEMPTIONS_DESC + EXPIRES_AT_ASC + EXPIRES_AT_DESC } """ -Represents an update to a `SchemaGrant`. Fields that are set will be updated. +A filter to be used against `AppPermission` object types. All fields are combined with a logical ‘and.’ """ -input SchemaGrantPatch { - id: UUID - databaseId: UUID - schemaId: UUID - granteeName: String - createdAt: Datetime - updatedAt: Datetime -} +input AppPermissionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""The output of our update `TriggerFunction` mutation.""" -type UpdateTriggerFunctionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `name` field.""" + name: StringFilter - """The `TriggerFunction` that was updated by this mutation.""" - triggerFunction: TriggerFunction + """Filter by the object’s `bitnum` field.""" + bitnum: IntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `bitstr` field.""" + bitstr: BitStringFilter - """An edge for our `TriggerFunction`. May be used by Relay 1.""" - triggerFunctionEdge( - """The method to use when ordering `TriggerFunction`.""" - orderBy: [TriggerFunctionOrderBy!]! = [PRIMARY_KEY_ASC] - ): TriggerFunctionEdge -} + """Filter by the object’s `description` field.""" + description: StringFilter -"""All input for the `updateTriggerFunction` mutation.""" -input UpdateTriggerFunctionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Checks for all expressions in this list.""" + and: [AppPermissionFilter!] - """ - An object where the defined keys will be set on the `TriggerFunction` being updated. - """ - triggerFunctionPatch: TriggerFunctionPatch! + """Checks for any expressions in this list.""" + or: [AppPermissionFilter!] + + """Negates the expression.""" + not: AppPermissionFilter +} + +"""Methods to use when ordering `AppPermission`.""" +enum AppPermissionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + BITNUM_ASC + BITNUM_DESC + BITSTR_ASC + BITSTR_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC } """ -Represents an update to a `TriggerFunction`. Fields that are set will be updated. +A filter to be used against `OrgPermission` object types. All fields are combined with a logical ‘and.’ """ -input TriggerFunctionPatch { - id: UUID - databaseId: UUID - name: String - code: String - createdAt: Datetime - updatedAt: Datetime -} +input OrgPermissionFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""The output of our update `ViewRule` mutation.""" -type UpdateViewRulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `name` field.""" + name: StringFilter - """The `ViewRule` that was updated by this mutation.""" - viewRule: ViewRule + """Filter by the object’s `bitnum` field.""" + bitnum: IntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `bitstr` field.""" + bitstr: BitStringFilter - """An edge for our `ViewRule`. May be used by Relay 1.""" - viewRuleEdge( - """The method to use when ordering `ViewRule`.""" - orderBy: [ViewRuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewRuleEdge + """Filter by the object’s `description` field.""" + description: StringFilter + + """Checks for all expressions in this list.""" + and: [OrgPermissionFilter!] + + """Checks for any expressions in this list.""" + or: [OrgPermissionFilter!] + + """Negates the expression.""" + not: OrgPermissionFilter } -"""All input for the `updateViewRule` mutation.""" -input UpdateViewRuleInput { +"""Methods to use when ordering `OrgPermission`.""" +enum OrgPermissionOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + BITNUM_ASC + BITNUM_DESC + BITSTR_ASC + BITSTR_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC +} + +"""A connection to a list of `AppLimitCapsDefault` values.""" +type AppLimitCapsDefaultConnection { + """A list of `AppLimitCapsDefault` objects.""" + nodes: [AppLimitCapsDefault]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `AppLimitCapsDefault` and cursor to aid in pagination. """ - clientMutationId: String - id: UUID! + edges: [AppLimitCapsDefaultEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `ViewRule` being updated. + The count of *all* `AppLimitCapsDefault` you could get from the connection. """ - viewRulePatch: ViewRulePatch! + totalCount: Int! } """ -Represents an update to a `ViewRule`. Fields that are set will be updated. +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. """ -input ViewRulePatch { - id: UUID - databaseId: UUID - viewId: UUID - name: String - - """INSERT, UPDATE, or DELETE""" - event: String - - """NOTHING (for read-only) or custom action""" - action: String -} +type AppLimitCapsDefault { + id: UUID! -"""The output of our update `IdentityProvidersModule` mutation.""" -type UpdateIdentityProvidersModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) """ - clientMutationId: String - - """The `IdentityProvidersModule` that was updated by this mutation.""" - identityProvidersModule: IdentityProvidersModule + name: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. """ - query: Query - - """An edge for our `IdentityProvidersModule`. May be used by Relay 1.""" - identityProvidersModuleEdge( - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleEdge + max: BigInt! } -"""All input for the `updateIdentityProvidersModule` mutation.""" -input UpdateIdentityProvidersModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AppLimitCapsDefault` edge in the connection.""" +type AppLimitCapsDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `IdentityProvidersModule` being updated. - """ - identityProvidersModulePatch: IdentityProvidersModulePatch! + """The `AppLimitCapsDefault` at the end of the edge.""" + node: AppLimitCapsDefault } """ -Represents an update to a `IdentityProvidersModule`. Fields that are set will be updated. +A filter to be used against `AppLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ """ -input IdentityProvidersModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID +input AppLimitCapsDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """ - Private schema that hosts SECURITY DEFINER admin helpers which write to identity_providers (create / update / enable / disable / rotate-secret / delete) and the per-app quota check. - """ - privateSchemaId: UUID - tableId: UUID - tableName: String -} + """Filter by the object’s `name` field.""" + name: StringFilter -"""The output of our update `SessionSecretsModule` mutation.""" -type UpdateSessionSecretsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `max` field.""" + max: BigIntFilter - """The `SessionSecretsModule` that was updated by this mutation.""" - sessionSecretsModule: SessionSecretsModule + """Checks for all expressions in this list.""" + and: [AppLimitCapsDefaultFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [AppLimitCapsDefaultFilter!] - """An edge for our `SessionSecretsModule`. May be used by Relay 1.""" - sessionSecretsModuleEdge( - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleEdge + """Negates the expression.""" + not: AppLimitCapsDefaultFilter } -"""All input for the `updateSessionSecretsModule` mutation.""" -input UpdateSessionSecretsModuleInput { +"""Methods to use when ordering `AppLimitCapsDefault`.""" +enum AppLimitCapsDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC +} + +"""A connection to a list of `OrgLimitCapsDefault` values.""" +type OrgLimitCapsDefaultConnection { + """A list of `OrgLimitCapsDefault` objects.""" + nodes: [OrgLimitCapsDefault]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgLimitCapsDefault` and cursor to aid in pagination. """ - clientMutationId: String - id: UUID! + edges: [OrgLimitCapsDefaultEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `SessionSecretsModule` being updated. + The count of *all* `OrgLimitCapsDefault` you could get from the connection. """ - sessionSecretsModulePatch: SessionSecretsModulePatch! + totalCount: Int! } """ -Represents an update to a `SessionSecretsModule`. Fields that are set will be updated. +Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. """ -input SessionSecretsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - tableId: UUID - tableName: String - - """ - Resolved reference to sessions_module.sessions_table, used to FK session_secrets.session_id with ON DELETE CASCADE. - """ - sessionsTableId: UUID -} +type OrgLimitCapsDefault { + id: UUID! -"""The output of our update `AppAdminGrant` mutation.""" -type UpdateAppAdminGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) """ - clientMutationId: String - - """The `AppAdminGrant` that was updated by this mutation.""" - appAdminGrant: AppAdminGrant + name: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. """ - query: Query - - """An edge for our `AppAdminGrant`. May be used by Relay 1.""" - appAdminGrantEdge( - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAdminGrantEdge + max: BigInt! } -"""All input for the `updateAppAdminGrant` mutation.""" -input UpdateAppAdminGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `OrgLimitCapsDefault` edge in the connection.""" +type OrgLimitCapsDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `AppAdminGrant` being updated. - """ - appAdminGrantPatch: AppAdminGrantPatch! + """The `OrgLimitCapsDefault` at the end of the edge.""" + node: OrgLimitCapsDefault } """ -Represents an update to a `AppAdminGrant`. Fields that are set will be updated. +A filter to be used against `OrgLimitCapsDefault` object types. All fields are combined with a logical ‘and.’ """ -input AppAdminGrantPatch { - id: UUID +input OrgLimitCapsDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Filter by the object’s `name` field.""" + name: StringFilter - """The member receiving or losing the admin grant""" - actorId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `max` field.""" + max: BigIntFilter -"""The output of our update `AppOwnerGrant` mutation.""" -type UpdateAppOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Checks for all expressions in this list.""" + and: [OrgLimitCapsDefaultFilter!] - """The `AppOwnerGrant` that was updated by this mutation.""" - appOwnerGrant: AppOwnerGrant + """Checks for any expressions in this list.""" + or: [OrgLimitCapsDefaultFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Negates the expression.""" + not: OrgLimitCapsDefaultFilter +} - """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" - appOwnerGrantEdge( - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppOwnerGrantEdge +"""Methods to use when ordering `OrgLimitCapsDefault`.""" +enum OrgLimitCapsDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC } -"""All input for the `updateAppOwnerGrant` mutation.""" -input UpdateAppOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A connection to a list of `AppLimitCap` values.""" +type AppLimitCapConnection { + """A list of `AppLimitCap` objects.""" + nodes: [AppLimitCap]! """ - An object where the defined keys will be set on the `AppOwnerGrant` being updated. + A list of edges which contains the `AppLimitCap` and cursor to aid in pagination. """ - appOwnerGrantPatch: AppOwnerGrantPatch! -} - -""" -Represents an update to a `AppOwnerGrant`. Fields that are set will be updated. -""" -input AppOwnerGrantPatch { - id: UUID + edges: [AppLimitCapEdge]! - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The member receiving or losing the ownership grant""" - actorId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime + """The count of *all* `AppLimitCap` you could get from the connection.""" + totalCount: Int! } -"""The output of our update `AppAchievement` mutation.""" -type UpdateAppAchievementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. +""" +type AppLimitCap { + id: UUID! - """The `AppAchievement` that was updated by this mutation.""" - appAchievement: AppAchievement + """Name identifier of the cap being overridden""" + name: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Entity this cap override applies to""" + entityId: UUID! - """An edge for our `AppAchievement`. May be used by Relay 1.""" - appAchievementEdge( - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAchievementEdge + """Override cap value for this entity""" + max: BigInt! } -"""All input for the `updateAppAchievement` mutation.""" -input UpdateAppAchievementInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AppLimitCap` edge in the connection.""" +type AppLimitCapEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `AppAchievement` being updated. - """ - appAchievementPatch: AppAchievementPatch! + """The `AppLimitCap` at the end of the edge.""" + node: AppLimitCap } """ -Represents an update to a `AppAchievement`. Fields that are set will be updated. +A filter to be used against `AppLimitCap` object types. All fields are combined with a logical ‘and.’ """ -input AppAchievementPatch { - id: UUID - actorId: UUID +input AppLimitCapFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Name identifier of the level requirement being tracked""" - name: String + """Filter by the object’s `name` field.""" + name: StringFilter - """Cumulative count of completed steps toward this requirement""" - count: Int - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter -"""The output of our update `AppStep` mutation.""" -type UpdateAppStepPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `max` field.""" + max: BigIntFilter - """The `AppStep` that was updated by this mutation.""" - appStep: AppStep + """Checks for all expressions in this list.""" + and: [AppLimitCapFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [AppLimitCapFilter!] - """An edge for our `AppStep`. May be used by Relay 1.""" - appStepEdge( - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppStepEdge + """Negates the expression.""" + not: AppLimitCapFilter } -"""All input for the `updateAppStep` mutation.""" -input UpdateAppStepInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Methods to use when ordering `AppLimitCap`.""" +enum AppLimitCapOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + MAX_ASC + MAX_DESC +} + +"""A connection to a list of `OrgLimitCap` values.""" +type OrgLimitCapConnection { + """A list of `OrgLimitCap` objects.""" + nodes: [OrgLimitCap]! """ - An object where the defined keys will be set on the `AppStep` being updated. + A list of edges which contains the `OrgLimitCap` and cursor to aid in pagination. """ - appStepPatch: AppStepPatch! -} - -""" -Represents an update to a `AppStep`. Fields that are set will be updated. -""" -input AppStepPatch { - id: UUID - actorId: UUID + edges: [OrgLimitCapEdge]! - """Name identifier of the level requirement this step fulfills""" - name: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Number of units completed in this step action""" - count: Int - createdAt: Datetime - updatedAt: Datetime + """The count of *all* `OrgLimitCap` you could get from the connection.""" + totalCount: Int! } -"""The output of our update `OrgPermissionDefault` mutation.""" -type UpdateOrgPermissionDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +""" +Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. +""" +type OrgLimitCap { + id: UUID! - """The `OrgPermissionDefault` that was updated by this mutation.""" - orgPermissionDefault: OrgPermissionDefault + """Name identifier of the cap being overridden""" + name: String! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Entity this cap override applies to""" + entityId: UUID! - """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" - orgPermissionDefaultEdge( - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultEdge + """Override cap value for this entity""" + max: BigInt! } -"""All input for the `updateOrgPermissionDefault` mutation.""" -input UpdateOrgPermissionDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `OrgLimitCap` edge in the connection.""" +type OrgLimitCapEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgPermissionDefault` being updated. - """ - orgPermissionDefaultPatch: OrgPermissionDefaultPatch! + """The `OrgLimitCap` at the end of the edge.""" + node: OrgLimitCap } """ -Represents an update to a `OrgPermissionDefault`. Fields that are set will be updated. +A filter to be used against `OrgLimitCap` object types. All fields are combined with a logical ‘and.’ """ -input OrgPermissionDefaultPatch { - id: UUID +input OrgLimitCapFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Default permission bitmask applied to new members""" - permissions: BitString + """Filter by the object’s `name` field.""" + name: StringFilter - """References the entity these default permissions apply to""" - entityId: UUID -} + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter -"""The output of our update `AppPermission` mutation.""" -type UpdateAppPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `max` field.""" + max: BigIntFilter - """The `AppPermission` that was updated by this mutation.""" - appPermission: AppPermission + """Checks for all expressions in this list.""" + and: [OrgLimitCapFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [OrgLimitCapFilter!] - """An edge for our `AppPermission`. May be used by Relay 1.""" - appPermissionEdge( - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionEdge + """Negates the expression.""" + not: OrgLimitCapFilter } -"""All input for the `updateAppPermission` mutation.""" -input UpdateAppPermissionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `AppPermission` being updated. - """ - appPermissionPatch: AppPermissionPatch! +"""Methods to use when ordering `OrgLimitCap`.""" +enum OrgLimitCapOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + MAX_ASC + MAX_DESC } -""" -Represents an update to a `AppPermission`. Fields that are set will be updated. -""" -input AppPermissionPatch { - id: UUID - - """Human-readable permission name (e.g. read, write, manage)""" - name: String +"""A connection to a list of `MembershipType` values.""" +type MembershipTypeConnection { + """A list of `MembershipType` objects.""" + nodes: [MembershipType]! """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set + A list of edges which contains the `MembershipType` and cursor to aid in pagination. """ - bitnum: Int + edges: [MembershipTypeEdge]! - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Human-readable description of what this permission allows""" - description: String + """The count of *all* `MembershipType` you could get from the connection.""" + totalCount: Int! } -"""The output of our update `OrgPermission` mutation.""" -type UpdateOrgPermissionPayload { +""" +Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) +""" +type MembershipType { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) """ - clientMutationId: String + id: Int! - """The `OrgPermission` that was updated by this mutation.""" - orgPermission: OrgPermission + """Human-readable name of the membership type""" + name: String! + + """Description of what this membership type represents""" + description: String! """ - Our root query field type. Allows us to run any query from our mutation payload. + Short prefix used to namespace tables and functions for this membership scope """ - query: Query - - """An edge for our `OrgPermission`. May be used by Relay 1.""" - orgPermissionEdge( - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionEdge -} + prefix: String! -"""All input for the `updateOrgPermission` mutation.""" -input UpdateOrgPermissionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) """ - clientMutationId: String - id: UUID! + parentMembershipType: Int """ - An object where the defined keys will be set on the `OrgPermission` being updated. + When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs """ - orgPermissionPatch: OrgPermissionPatch! + hasUsersTableEntry: Boolean! +} + +"""A `MembershipType` edge in the connection.""" +type MembershipTypeEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `MembershipType` at the end of the edge.""" + node: MembershipType } """ -Represents an update to a `OrgPermission`. Fields that are set will be updated. +A filter to be used against `MembershipType` object types. All fields are combined with a logical ‘and.’ """ -input OrgPermissionPatch { - id: UUID +input MembershipTypeFilter { + """Filter by the object’s `id` field.""" + id: IntFilter - """Human-readable permission name (e.g. read, write, manage)""" - name: String + """Filter by the object’s `name` field.""" + name: StringFilter - """ - Position of this permission in the bitmask (1-indexed), must be unique per permission set - """ - bitnum: Int + """Filter by the object’s `description` field.""" + description: StringFilter - """ - Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations - """ - bitstr: BitString + """Filter by the object’s `prefix` field.""" + prefix: StringFilter - """Human-readable description of what this permission allows""" - description: String -} + """Filter by the object’s `parentMembershipType` field.""" + parentMembershipType: IntFilter -"""The output of our update `MembershipType` mutation.""" -type UpdateMembershipTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `hasUsersTableEntry` field.""" + hasUsersTableEntry: BooleanFilter - """The `MembershipType` that was updated by this mutation.""" - membershipType: MembershipType + """Checks for all expressions in this list.""" + and: [MembershipTypeFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [MembershipTypeFilter!] - """An edge for our `MembershipType`. May be used by Relay 1.""" - membershipTypeEdge( - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypeEdge + """Negates the expression.""" + not: MembershipTypeFilter } -"""All input for the `updateMembershipType` mutation.""" -input UpdateMembershipTypeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) - """ - id: Int! - - """ - An object where the defined keys will be set on the `MembershipType` being updated. - """ - membershipTypePatch: MembershipTypePatch! +"""Methods to use when ordering `MembershipType`.""" +enum MembershipTypeOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + PREFIX_ASC + PREFIX_DESC + PARENT_MEMBERSHIP_TYPE_ASC + PARENT_MEMBERSHIP_TYPE_DESC + HAS_USERS_TABLE_ENTRY_ASC + HAS_USERS_TABLE_ENTRY_DESC } -""" -Represents an update to a `MembershipType`. Fields that are set will be updated. -""" -input MembershipTypePatch { - """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) - """ - id: Int - - """Human-readable name of the membership type""" - name: String - - """Description of what this membership type represents""" - description: String +"""A connection to a list of `MigrateFile` values.""" +type MigrateFileConnection { + """A list of `MigrateFile` objects.""" + nodes: [MigrateFile]! """ - Short prefix used to namespace tables and functions for this membership scope + A list of edges which contains the `MigrateFile` and cursor to aid in pagination. """ - prefix: String + edges: [MigrateFileEdge]! - """ - Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) - """ - parentMembershipType: Int + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs - """ - hasUsersTableEntry: Boolean + """The count of *all* `MigrateFile` you could get from the connection.""" + totalCount: Int! } -"""The output of our update `DefaultPrivilege` mutation.""" -type UpdateDefaultPrivilegePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `DefaultPrivilege` that was updated by this mutation.""" - defaultPrivilege: DefaultPrivilege - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `DefaultPrivilege`. May be used by Relay 1.""" - defaultPrivilegeEdge( - """The method to use when ordering `DefaultPrivilege`.""" - orderBy: [DefaultPrivilegeOrderBy!]! = [PRIMARY_KEY_ASC] - ): DefaultPrivilegeEdge +type MigrateFile { + id: UUID + databaseId: UUID + upload: ConstructiveInternalTypeUpload } -"""All input for the `updateDefaultPrivilege` mutation.""" -input UpdateDefaultPrivilegeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +scalar ConstructiveInternalTypeUpload - """ - An object where the defined keys will be set on the `DefaultPrivilege` being updated. - """ - defaultPrivilegePatch: DefaultPrivilegePatch! +"""A `MigrateFile` edge in the connection.""" +type MigrateFileEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `MigrateFile` at the end of the edge.""" + node: MigrateFile } """ -Represents an update to a `DefaultPrivilege`. Fields that are set will be updated. +A filter to be used against `MigrateFile` object types. All fields are combined with a logical ‘and.’ """ -input DefaultPrivilegePatch { - id: UUID - databaseId: UUID - schemaId: UUID - objectType: String - privilege: String - granteeName: String - isGrant: Boolean -} - -"""The output of our update `ViewGrant` mutation.""" -type UpdateViewGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +input MigrateFileFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """The `ViewGrant` that was updated by this mutation.""" - viewGrant: ViewGrant + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `upload` field.""" + upload: ConstructiveInternalTypeUploadFilter - """An edge for our `ViewGrant`. May be used by Relay 1.""" - viewGrantEdge( - """The method to use when ordering `ViewGrant`.""" - orderBy: [ViewGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewGrantEdge -} + """Checks for all expressions in this list.""" + and: [MigrateFileFilter!] -"""All input for the `updateViewGrant` mutation.""" -input UpdateViewGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Checks for any expressions in this list.""" + or: [MigrateFileFilter!] - """ - An object where the defined keys will be set on the `ViewGrant` being updated. - """ - viewGrantPatch: ViewGrantPatch! + """Negates the expression.""" + not: MigrateFileFilter } """ -Represents an update to a `ViewGrant`. Fields that are set will be updated. +A filter to be used against ConstructiveInternalTypeUpload fields. All fields are combined with a logical ‘and.’ """ -input ViewGrantPatch { - id: UUID - databaseId: UUID - viewId: UUID - granteeName: String - privilege: String - withGrantOption: Boolean - isGrant: Boolean -} - -"""The output of our update `Api` mutation.""" -type UpdateApiPayload { +input ConstructiveInternalTypeUploadFilter { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Is null (if `true` is specified) or is not null (if `false` is specified). """ - clientMutationId: String + isNull: Boolean - """The `Api` that was updated by this mutation.""" - api: Api + """Equal to the specified value.""" + equalTo: ConstructiveInternalTypeUpload + + """Not equal to the specified value.""" + notEqualTo: ConstructiveInternalTypeUpload """ - Our root query field type. Allows us to run any query from our mutation payload. + Not equal to the specified value, treating null like an ordinary value. """ - query: Query + distinctFrom: ConstructiveInternalTypeUpload - """An edge for our `Api`. May be used by Relay 1.""" - apiEdge( - """The method to use when ordering `Api`.""" - orderBy: [ApiOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiEdge -} + """Equal to the specified value, treating null like an ordinary value.""" + notDistinctFrom: ConstructiveInternalTypeUpload -"""All input for the `updateApi` mutation.""" -input UpdateApiInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Included in the specified list.""" + in: [ConstructiveInternalTypeUpload!] - """Unique identifier for this API""" - id: UUID! + """Not included in the specified list.""" + notIn: [ConstructiveInternalTypeUpload!] - """ - An object where the defined keys will be set on the `Api` being updated. - """ - apiPatch: ApiPatch! -} + """Less than the specified value.""" + lessThan: ConstructiveInternalTypeUpload -"""Represents an update to a `Api`. Fields that are set will be updated.""" -input ApiPatch { - """Unique identifier for this API""" - id: UUID + """Less than or equal to the specified value.""" + lessThanOrEqualTo: ConstructiveInternalTypeUpload - """Reference to the metaschema database this API serves""" - databaseId: UUID + """Greater than the specified value.""" + greaterThan: ConstructiveInternalTypeUpload - """Unique name for this API within its database""" - name: String + """Greater than or equal to the specified value.""" + greaterThanOrEqualTo: ConstructiveInternalTypeUpload - """PostgreSQL database name to connect to""" - dbname: String + """Contains the specified JSON.""" + contains: ConstructiveInternalTypeUpload - """PostgreSQL role used for authenticated requests""" - roleName: String + """Contains the specified key.""" + containsKey: String - """PostgreSQL role used for anonymous/unauthenticated requests""" - anonRole: String + """Contains all of the specified keys.""" + containsAllKeys: [String!] - """Whether this API is publicly accessible without authentication""" - isPublic: Boolean + """Contains any of the specified keys.""" + containsAnyKeys: [String!] + + """Contained by the specified JSON.""" + containedBy: ConstructiveInternalTypeUpload } -"""The output of our update `ConnectedAccountsModule` mutation.""" -type UpdateConnectedAccountsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `MigrateFile`.""" +enum MigrateFileOrderBy { + NATURAL + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + UPLOAD_ASC + UPLOAD_DESC +} - """The `ConnectedAccountsModule` that was updated by this mutation.""" - connectedAccountsModule: ConnectedAccountsModule +"""A connection to a list of `DevicesModule` values.""" +type DevicesModuleConnection { + """A list of `DevicesModule` objects.""" + nodes: [DevicesModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `DevicesModule` and cursor to aid in pagination. """ - query: Query + edges: [DevicesModuleEdge]! - """An edge for our `ConnectedAccountsModule`. May be used by Relay 1.""" - connectedAccountsModuleEdge( - """The method to use when ordering `ConnectedAccountsModule`.""" - orderBy: [ConnectedAccountsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ConnectedAccountsModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `DevicesModule` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateConnectedAccountsModule` mutation.""" -input UpdateConnectedAccountsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `DevicesModule` edge in the connection.""" +type DevicesModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `ConnectedAccountsModule` being updated. - """ - connectedAccountsModulePatch: ConnectedAccountsModulePatch! + """The `DevicesModule` at the end of the edge.""" + node: DevicesModule } -""" -Represents an update to a `ConnectedAccountsModule`. Fields that are set will be updated. -""" -input ConnectedAccountsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String +"""Methods to use when ordering `DevicesModule`.""" +enum DevicesModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + USER_DEVICES_TABLE_ID_ASC + USER_DEVICES_TABLE_ID_DESC + DEVICE_SETTINGS_TABLE_ID_ASC + DEVICE_SETTINGS_TABLE_ID_DESC + USER_DEVICES_TABLE_ASC + USER_DEVICES_TABLE_DESC + DEVICE_SETTINGS_TABLE_ASC + DEVICE_SETTINGS_TABLE_DESC } -"""The output of our update `DevicesModule` mutation.""" -type UpdateDevicesModulePayload { +"""A connection to a list of `NodeTypeRegistry` values.""" +type NodeTypeRegistryConnection { + """A list of `NodeTypeRegistry` objects.""" + nodes: [NodeTypeRegistry]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `NodeTypeRegistry` and cursor to aid in pagination. """ - clientMutationId: String + edges: [NodeTypeRegistryEdge]! - """The `DevicesModule` that was updated by this mutation.""" - devicesModule: DevicesModule + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `NodeTypeRegistry` you could get from the connection. """ - query: Query + totalCount: Int! +} - """An edge for our `DevicesModule`. May be used by Relay 1.""" - devicesModuleEdge( - """The method to use when ordering `DevicesModule`.""" - orderBy: [DevicesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DevicesModuleEdge +type NodeTypeRegistry { + name: String! + slug: String! + category: String! + displayName: String + description: String + parameterSchema: JSON! + tags: [String]! } -"""All input for the `updateDevicesModule` mutation.""" -input UpdateDevicesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `NodeTypeRegistry` edge in the connection.""" +type NodeTypeRegistryEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `DevicesModule` being updated. - """ - devicesModulePatch: DevicesModulePatch! + """The `NodeTypeRegistry` at the end of the edge.""" + node: NodeTypeRegistry } """ -Represents an update to a `DevicesModule`. Fields that are set will be updated. +A filter to be used against `NodeTypeRegistry` object types. All fields are combined with a logical ‘and.’ """ -input DevicesModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - userDevicesTableId: UUID - deviceSettingsTableId: UUID - userDevicesTable: String - deviceSettingsTable: String -} - -"""The output of our update `EmailsModule` mutation.""" -type UpdateEmailsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `EmailsModule` that was updated by this mutation.""" - emailsModule: EmailsModule +input NodeTypeRegistryFilter { + """Filter by the object’s `name` field.""" + name: StringFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `slug` field.""" + slug: StringFilter - """An edge for our `EmailsModule`. May be used by Relay 1.""" - emailsModuleEdge( - """The method to use when ordering `EmailsModule`.""" - orderBy: [EmailsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailsModuleEdge -} + """Filter by the object’s `category` field.""" + category: StringFilter -"""All input for the `updateEmailsModule` mutation.""" -input UpdateEmailsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `displayName` field.""" + displayName: StringFilter - """ - An object where the defined keys will be set on the `EmailsModule` being updated. - """ - emailsModulePatch: EmailsModulePatch! -} + """Filter by the object’s `description` field.""" + description: StringFilter -""" -Represents an update to a `EmailsModule`. Fields that are set will be updated. -""" -input EmailsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String -} + """Filter by the object’s `parameterSchema` field.""" + parameterSchema: JSONFilter -"""The output of our update `PhoneNumbersModule` mutation.""" -type UpdatePhoneNumbersModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `tags` field.""" + tags: StringListFilter - """The `PhoneNumbersModule` that was updated by this mutation.""" - phoneNumbersModule: PhoneNumbersModule + """Checks for all expressions in this list.""" + and: [NodeTypeRegistryFilter!] - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Checks for any expressions in this list.""" + or: [NodeTypeRegistryFilter!] - """An edge for our `PhoneNumbersModule`. May be used by Relay 1.""" - phoneNumbersModuleEdge( - """The method to use when ordering `PhoneNumbersModule`.""" - orderBy: [PhoneNumbersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumbersModuleEdge + """Negates the expression.""" + not: NodeTypeRegistryFilter } -"""All input for the `updatePhoneNumbersModule` mutation.""" -input UpdatePhoneNumbersModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `PhoneNumbersModule` being updated. - """ - phoneNumbersModulePatch: PhoneNumbersModulePatch! +"""Methods to use when ordering `NodeTypeRegistry`.""" +enum NodeTypeRegistryOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + NAME_ASC + NAME_DESC + SLUG_ASC + SLUG_DESC + CATEGORY_ASC + CATEGORY_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + PARAMETER_SCHEMA_ASC + PARAMETER_SCHEMA_DESC + TAGS_ASC + TAGS_DESC } -""" -Represents an update to a `PhoneNumbersModule`. Fields that are set will be updated. -""" -input PhoneNumbersModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String -} +"""A connection to a list of `AppLimitDefault` values.""" +type AppLimitDefaultConnection { + """A list of `AppLimitDefault` objects.""" + nodes: [AppLimitDefault]! -"""The output of our update `UsersModule` mutation.""" -type UpdateUsersModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `AppLimitDefault` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AppLimitDefaultEdge]! - """The `UsersModule` that was updated by this mutation.""" - usersModule: UsersModule + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `AppLimitDefault` you could get from the connection. """ - query: Query - - """An edge for our `UsersModule`. May be used by Relay 1.""" - usersModuleEdge( - """The method to use when ordering `UsersModule`.""" - orderBy: [UsersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): UsersModuleEdge + totalCount: Int! } -"""All input for the `updateUsersModule` mutation.""" -input UpdateUsersModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AppLimitDefault` edge in the connection.""" +type AppLimitDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `UsersModule` being updated. - """ - usersModulePatch: UsersModulePatch! + """The `AppLimitDefault` at the end of the edge.""" + node: AppLimitDefault } -""" -Represents an update to a `UsersModule`. Fields that are set will be updated. -""" -input UsersModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - tableId: UUID - tableName: String - typeTableId: UUID - typeTableName: String +"""Methods to use when ordering `AppLimitDefault`.""" +enum AppLimitDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC } -"""The output of our update `WebauthnCredentialsModule` mutation.""" -type UpdateWebauthnCredentialsModulePayload { +"""A connection to a list of `OrgLimitDefault` values.""" +type OrgLimitDefaultConnection { + """A list of `OrgLimitDefault` objects.""" + nodes: [OrgLimitDefault]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgLimitDefault` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgLimitDefaultEdge]! - """The `WebauthnCredentialsModule` that was updated by this mutation.""" - webauthnCredentialsModule: WebauthnCredentialsModule + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgLimitDefault` you could get from the connection. """ - query: Query - - """An edge for our `WebauthnCredentialsModule`. May be used by Relay 1.""" - webauthnCredentialsModuleEdge( - """The method to use when ordering `WebauthnCredentialsModule`.""" - orderBy: [WebauthnCredentialsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialsModuleEdge + totalCount: Int! } -"""All input for the `updateWebauthnCredentialsModule` mutation.""" -input UpdateWebauthnCredentialsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `OrgLimitDefault` edge in the connection.""" +type OrgLimitDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `WebauthnCredentialsModule` being updated. - """ - webauthnCredentialsModulePatch: WebauthnCredentialsModulePatch! + """The `OrgLimitDefault` at the end of the edge.""" + node: OrgLimitDefault } -""" -Represents an update to a `WebauthnCredentialsModule`. Fields that are set will be updated. -""" -input WebauthnCredentialsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - - """ - Private schema that hosts SECURITY DEFINER helpers which write to webauthn_credentials (registration / counter-bump / delete). - """ - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String +"""Methods to use when ordering `OrgLimitDefault`.""" +enum OrgLimitDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + MAX_ASC + MAX_DESC + SOFT_MAX_ASC + SOFT_MAX_DESC } -"""The output of our update `OrgAdminGrant` mutation.""" -type UpdateOrgAdminGrantPayload { +"""A connection to a list of `UserConnectedAccount` values.""" +type UserConnectedAccountConnection { + """A list of `UserConnectedAccount` objects.""" + nodes: [UserConnectedAccount]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `UserConnectedAccount` and cursor to aid in pagination. """ - clientMutationId: String + edges: [UserConnectedAccountEdge]! - """The `OrgAdminGrant` that was updated by this mutation.""" - orgAdminGrant: OrgAdminGrant + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `UserConnectedAccount` you could get from the connection. """ - query: Query + totalCount: Int! +} - """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" - orgAdminGrantEdge( - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgAdminGrantEdge +type UserConnectedAccount { + id: UUID + ownerId: UUID + service: String + identifier: String + details: JSON + isVerified: Boolean + createdAt: Datetime + updatedAt: Datetime } -"""All input for the `updateOrgAdminGrant` mutation.""" -input UpdateOrgAdminGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `UserConnectedAccount` edge in the connection.""" +type UserConnectedAccountEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgAdminGrant` being updated. - """ - orgAdminGrantPatch: OrgAdminGrantPatch! + """The `UserConnectedAccount` at the end of the edge.""" + node: UserConnectedAccount } """ -Represents an update to a `OrgAdminGrant`. Fields that are set will be updated. +A filter to be used against `UserConnectedAccount` object types. All fields are combined with a logical ‘and.’ """ -input OrgAdminGrantPatch { - id: UUID +input UserConnectedAccountFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """True to grant admin, false to revoke admin""" - isGrant: Boolean + """Filter by the object’s `ownerId` field.""" + ownerId: UUIDFilter - """The member receiving or losing the admin grant""" - actorId: UUID + """Filter by the object’s `service` field.""" + service: StringFilter - """The entity (org or group) this admin grant applies to""" - entityId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `identifier` field.""" + identifier: StringFilter -"""The output of our update `OrgOwnerGrant` mutation.""" -type UpdateOrgOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `details` field.""" + details: JSONFilter - """The `OrgOwnerGrant` that was updated by this mutation.""" - orgOwnerGrant: OrgOwnerGrant + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" - orgOwnerGrantEdge( - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantEdge -} + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter -"""All input for the `updateOrgOwnerGrant` mutation.""" -input UpdateOrgOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Checks for all expressions in this list.""" + and: [UserConnectedAccountFilter!] - """ - An object where the defined keys will be set on the `OrgOwnerGrant` being updated. - """ - orgOwnerGrantPatch: OrgOwnerGrantPatch! + """Checks for any expressions in this list.""" + or: [UserConnectedAccountFilter!] + + """Negates the expression.""" + not: UserConnectedAccountFilter +} + +"""Methods to use when ordering `UserConnectedAccount`.""" +enum UserConnectedAccountOrderBy { + NATURAL + ID_ASC + ID_DESC + OWNER_ID_ASC + OWNER_ID_DESC + SERVICE_ASC + SERVICE_DESC + IDENTIFIER_ASC + IDENTIFIER_DESC + DETAILS_ASC + DETAILS_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC } """ -Represents an update to a `OrgOwnerGrant`. Fields that are set will be updated. +A filter to be used against `Object` object types. All fields are combined with a logical ‘and.’ """ -input OrgOwnerGrantPatch { - id: UUID +input ObjectFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """True to grant ownership, false to revoke ownership""" - isGrant: Boolean + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """The member receiving or losing the ownership grant""" - actorId: UUID + """Filter by the object’s `kids` field.""" + kids: UUIDListFilter - """The entity (org or group) this ownership grant applies to""" - entityId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `ktree` field.""" + ktree: StringListFilter -"""The output of our update `NodeTypeRegistry` mutation.""" -type UpdateNodeTypeRegistryPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `data` field.""" + data: JSONFilter - """The `NodeTypeRegistry` that was updated by this mutation.""" - nodeTypeRegistry: NodeTypeRegistry + """Filter by the object’s `frzn` field.""" + frzn: BooleanFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """An edge for our `NodeTypeRegistry`. May be used by Relay 1.""" - nodeTypeRegistryEdge( - """The method to use when ordering `NodeTypeRegistry`.""" - orderBy: [NodeTypeRegistryOrderBy!]! = [PRIMARY_KEY_ASC] - ): NodeTypeRegistryEdge -} + """Checks for all expressions in this list.""" + and: [ObjectFilter!] -"""All input for the `updateNodeTypeRegistry` mutation.""" -input UpdateNodeTypeRegistryInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - name: String! + """Checks for any expressions in this list.""" + or: [ObjectFilter!] - """ - An object where the defined keys will be set on the `NodeTypeRegistry` being updated. - """ - nodeTypeRegistryPatch: NodeTypeRegistryPatch! + """Negates the expression.""" + not: ObjectFilter +} + +"""Methods to use when ordering `Object`.""" +enum ObjectOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + KIDS_ASC + KIDS_DESC + KTREE_ASC + KTREE_DESC + DATA_ASC + DATA_DESC + FRZN_ASC + FRZN_DESC + CREATED_AT_ASC + CREATED_AT_DESC } """ -Represents an update to a `NodeTypeRegistry`. Fields that are set will be updated. +A filter to be used against `AppLevelRequirement` object types. All fields are combined with a logical ‘and.’ """ -input NodeTypeRegistryPatch { - name: String - slug: String - category: String - displayName: String - description: String - parameterSchema: JSON - tags: [String] -} +input AppLevelRequirementFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter -"""The output of our update `AppLimitDefault` mutation.""" -type UpdateAppLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `name` field.""" + name: StringFilter - """The `AppLimitDefault` that was updated by this mutation.""" - appLimitDefault: AppLimitDefault + """Filter by the object’s `level` field.""" + level: StringFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `description` field.""" + description: StringFilter - """An edge for our `AppLimitDefault`. May be used by Relay 1.""" - appLimitDefaultEdge( - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitDefaultEdge -} + """Filter by the object’s `requiredCount` field.""" + requiredCount: IntFilter -"""All input for the `updateAppLimitDefault` mutation.""" -input UpdateAppLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `priority` field.""" + priority: IntFilter - """ - An object where the defined keys will be set on the `AppLimitDefault` being updated. - """ - appLimitDefaultPatch: AppLimitDefaultPatch! -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -""" -Represents an update to a `AppLimitDefault`. Fields that are set will be updated. -""" -input AppLimitDefaultPatch { - id: UUID + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """Name identifier of the limit this default applies to""" - name: String + """Checks for all expressions in this list.""" + and: [AppLevelRequirementFilter!] - """Default maximum usage allowed for this limit""" - max: BigInt + """Checks for any expressions in this list.""" + or: [AppLevelRequirementFilter!] - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Negates the expression.""" + not: AppLevelRequirementFilter } -"""The output of our update `OrgLimitDefault` mutation.""" -type UpdateOrgLimitDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `AppLevelRequirement`.""" +enum AppLevelRequirementOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + LEVEL_ASC + LEVEL_DESC + DESCRIPTION_ASC + DESCRIPTION_DESC + REQUIRED_COUNT_ASC + REQUIRED_COUNT_DESC + PRIORITY_ASC + PRIORITY_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} - """The `OrgLimitDefault` that was updated by this mutation.""" - orgLimitDefault: OrgLimitDefault +"""A connection to a list of `Commit` values.""" +type CommitConnection { + """A list of `Commit` objects.""" + nodes: [Commit]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `Commit` and cursor to aid in pagination. """ - query: Query + edges: [CommitEdge]! - """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" - orgLimitDefaultEdge( - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `Commit` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateOrgLimitDefault` mutation.""" -input UpdateOrgLimitDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""A commit records changes to the repository.""" +type Commit { + """The primary unique identifier for the commit.""" id: UUID! - """ - An object where the defined keys will be set on the `OrgLimitDefault` being updated. - """ - orgLimitDefaultPatch: OrgLimitDefaultPatch! + """The commit message""" + message: String + + """The repository identifier""" + databaseId: UUID! + storeId: UUID! + + """Parent commits""" + parentIds: [UUID] + + """The author of the commit""" + authorId: UUID + + """The committer of the commit""" + committerId: UUID + + """The root of the tree""" + treeId: UUID + date: Datetime! +} + +"""A `Commit` edge in the connection.""" +type CommitEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `Commit` at the end of the edge.""" + node: Commit } """ -Represents an update to a `OrgLimitDefault`. Fields that are set will be updated. +A filter to be used against `Commit` object types. All fields are combined with a logical ‘and.’ """ -input OrgLimitDefaultPatch { - id: UUID +input CommitFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """Name identifier of the limit this default applies to""" - name: String + """Filter by the object’s `message` field.""" + message: StringFilter - """Default maximum usage allowed for this limit""" - max: BigInt + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Default soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt -} + """Filter by the object’s `storeId` field.""" + storeId: UUIDFilter -"""The output of our update `Database` mutation.""" -type UpdateDatabasePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `parentIds` field.""" + parentIds: UUIDListFilter - """The `Database` that was updated by this mutation.""" - database: Database + """Filter by the object’s `authorId` field.""" + authorId: UUIDFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `committerId` field.""" + committerId: UUIDFilter - """An edge for our `Database`. May be used by Relay 1.""" - databaseEdge( - """The method to use when ordering `Database`.""" - orderBy: [DatabaseOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseEdge -} + """Filter by the object’s `treeId` field.""" + treeId: UUIDFilter -"""All input for the `updateDatabase` mutation.""" -input UpdateDatabaseInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `date` field.""" + date: DatetimeFilter - """ - An object where the defined keys will be set on the `Database` being updated. - """ - databasePatch: DatabasePatch! -} + """Checks for all expressions in this list.""" + and: [CommitFilter!] -""" -Represents an update to a `Database`. Fields that are set will be updated. -""" -input DatabasePatch { - id: UUID - ownerId: UUID - schemaHash: String - name: String - label: String - hash: UUID - createdAt: Datetime - updatedAt: Datetime + """Checks for any expressions in this list.""" + or: [CommitFilter!] + + """Negates the expression.""" + not: CommitFilter } -"""The output of our update `CryptoAddressesModule` mutation.""" -type UpdateCryptoAddressesModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `Commit`.""" +enum CommitOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + MESSAGE_ASC + MESSAGE_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + STORE_ID_ASC + STORE_ID_DESC + PARENT_IDS_ASC + PARENT_IDS_DESC + AUTHOR_ID_ASC + AUTHOR_ID_DESC + COMMITTER_ID_ASC + COMMITTER_ID_DESC + TREE_ID_ASC + TREE_ID_DESC + DATE_ASC + DATE_DESC +} - """The `CryptoAddressesModule` that was updated by this mutation.""" - cryptoAddressesModule: CryptoAddressesModule +"""A connection to a list of `PubkeySetting` values.""" +type PubkeySettingConnection { + """A list of `PubkeySetting` objects.""" + nodes: [PubkeySetting]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `PubkeySetting` and cursor to aid in pagination. """ - query: Query + edges: [PubkeySettingEdge]! - """An edge for our `CryptoAddressesModule`. May be used by Relay 1.""" - cryptoAddressesModuleEdge( - """The method to use when ordering `CryptoAddressesModule`.""" - orderBy: [CryptoAddressesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressesModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `PubkeySetting` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateCryptoAddressesModule` mutation.""" -input UpdateCryptoAddressesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `PubkeySetting` edge in the connection.""" +type PubkeySettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `CryptoAddressesModule` being updated. - """ - cryptoAddressesModulePatch: CryptoAddressesModulePatch! + """The `PubkeySetting` at the end of the edge.""" + node: PubkeySetting } -""" -Represents an update to a `CryptoAddressesModule`. Fields that are set will be updated. -""" -input CryptoAddressesModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - ownerTableId: UUID - tableName: String - cryptoNetwork: String +"""Methods to use when ordering `PubkeySetting`.""" +enum PubkeySettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + CRYPTO_NETWORK_ASC + CRYPTO_NETWORK_DESC + USER_FIELD_ASC + USER_FIELD_DESC + SIGN_UP_WITH_KEY_FUNCTION_ID_ASC + SIGN_UP_WITH_KEY_FUNCTION_ID_DESC + SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_ASC + SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_DESC + SIGN_IN_RECORD_FAILURE_FUNCTION_ID_ASC + SIGN_IN_RECORD_FAILURE_FUNCTION_ID_DESC + SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_ASC + SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_DESC } -"""The output of our update `CryptoAddress` mutation.""" -type UpdateCryptoAddressPayload { +"""A connection to a list of `RateLimitsModule` values.""" +type RateLimitsModuleConnection { + """A list of `RateLimitsModule` objects.""" + nodes: [RateLimitsModule]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `RateLimitsModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [RateLimitsModuleEdge]! - """The `CryptoAddress` that was updated by this mutation.""" - cryptoAddress: CryptoAddress + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `RateLimitsModule` you could get from the connection. """ - query: Query + totalCount: Int! +} - """An edge for our `CryptoAddress`. May be used by Relay 1.""" - cryptoAddressEdge( - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressEdge +"""A `RateLimitsModule` edge in the connection.""" +type RateLimitsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `RateLimitsModule` at the end of the edge.""" + node: RateLimitsModule } -"""All input for the `updateCryptoAddress` mutation.""" -input UpdateCryptoAddressInput { +"""Methods to use when ordering `RateLimitsModule`.""" +enum RateLimitsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + RATE_LIMIT_SETTINGS_TABLE_ID_ASC + RATE_LIMIT_SETTINGS_TABLE_ID_DESC + IP_RATE_LIMITS_TABLE_ID_ASC + IP_RATE_LIMITS_TABLE_ID_DESC + RATE_LIMITS_TABLE_ID_ASC + RATE_LIMITS_TABLE_ID_DESC + RATE_LIMIT_SETTINGS_TABLE_ASC + RATE_LIMIT_SETTINGS_TABLE_DESC + IP_RATE_LIMITS_TABLE_ASC + IP_RATE_LIMITS_TABLE_DESC + RATE_LIMITS_TABLE_ASC + RATE_LIMITS_TABLE_DESC +} + +"""A connection to a list of `AppMembershipDefault` values.""" +type AppMembershipDefaultConnection { + """A list of `AppMembershipDefault` objects.""" + nodes: [AppMembershipDefault]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `AppMembershipDefault` and cursor to aid in pagination. """ - clientMutationId: String - id: UUID! + edges: [AppMembershipDefaultEdge]! + + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `CryptoAddress` being updated. + The count of *all* `AppMembershipDefault` you could get from the connection. """ - cryptoAddressPatch: CryptoAddressPatch! + totalCount: Int! } """ -Represents an update to a `CryptoAddress`. Fields that are set will be updated. +Default membership settings per entity, controlling initial approval and verification state for new members """ -input CryptoAddressPatch { - id: UUID - ownerId: UUID +type AppMembershipDefault { + id: UUID! + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """ - The cryptocurrency wallet address, validated against network-specific patterns - """ - address: String + """Whether new members are automatically approved upon joining""" + isApproved: Boolean! - """Whether ownership of this address has been cryptographically verified""" - isVerified: Boolean + """Whether new members are automatically verified upon joining""" + isVerified: Boolean! +} - """Whether this is the user's primary cryptocurrency address""" - isPrimary: Boolean +"""A `AppMembershipDefault` edge in the connection.""" +type AppMembershipDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). - """ - name: String - createdAt: Datetime - updatedAt: Datetime + """The `AppMembershipDefault` at the end of the edge.""" + node: AppMembershipDefault } -"""The output of our update `AgentMessage` mutation.""" -type UpdateAgentMessagePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AgentMessage` that was updated by this mutation.""" - agentMessage: AgentMessage - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +""" +A filter to be used against `AppMembershipDefault` object types. All fields are combined with a logical ‘and.’ +""" +input AppMembershipDefaultFilter { + """Filter by the object’s `id` field.""" + id: UUIDFilter - """An edge for our `AgentMessage`. May be used by Relay 1.""" - agentMessageEdge( - """The method to use when ordering `AgentMessage`.""" - orderBy: [AgentMessageOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentMessageEdge -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""All input for the `updateAgentMessage` mutation.""" -input UpdateAgentMessageInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `updatedAt` field.""" + updatedAt: DatetimeFilter - """ - An object where the defined keys will be set on the `AgentMessage` being updated. - """ - agentMessagePatch: AgentMessagePatch! -} + """Filter by the object’s `createdBy` field.""" + createdBy: UUIDFilter -""" -Represents an update to a `AgentMessage`. Fields that are set will be updated. -""" -input AgentMessagePatch { - """ - Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. - """ - threadId: UUID + """Filter by the object’s `updatedBy` field.""" + updatedBy: UUIDFilter - """ - Entity (org/group/personal-org id) this message is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger, which copies it from agent_thread.entity_id via thread_id; the application never sets this column directly. Used for org-scoped grouping queries (e.g. 'all my messages in org X'), NOT for RLS — RLS is owner-only. - """ - entityId: UUID + """Filter by the object’s `isApproved` field.""" + isApproved: BooleanFilter - """ - Who authored this message: 'user' or 'assistant'. Stored as free-text (no CHECK) so additional roles can be introduced without migration. Tool inputs/outputs do NOT get their own role — they appear as ToolPart entries inside the assistant message's `parts` array. - """ - authorRole: String - id: UUID + """Filter by the object’s `isVerified` field.""" + isVerified: BooleanFilter - """Timestamp when this record was created""" - createdAt: Datetime + """Checks for all expressions in this list.""" + and: [AppMembershipDefaultFilter!] - """Timestamp when this record was last updated""" - updatedAt: Datetime + """Checks for any expressions in this list.""" + or: [AppMembershipDefaultFilter!] - """User who owns this record""" - ownerId: UUID + """Negates the expression.""" + not: AppMembershipDefaultFilter +} - """JSON metadata for extensible key-value storage""" - parts: JSON +"""Methods to use when ordering `AppMembershipDefault`.""" +enum AppMembershipDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC } -"""The output of our update `Object` mutation.""" -type UpdateObjectPayload { +"""A connection to a list of `OrgMembershipDefault` values.""" +type OrgMembershipDefaultConnection { + """A list of `OrgMembershipDefault` objects.""" + nodes: [OrgMembershipDefault]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `OrgMembershipDefault` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgMembershipDefaultEdge]! - """The `Object` that was updated by this mutation.""" - object: Object + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `OrgMembershipDefault` you could get from the connection. """ - query: Query - - """An edge for our `Object`. May be used by Relay 1.""" - objectEdge( - """The method to use when ordering `Object`.""" - orderBy: [ObjectOrderBy!]! = [PRIMARY_KEY_ASC] - ): ObjectEdge + totalCount: Int! } -"""All input for the `updateObject` mutation.""" -input UpdateObjectInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - databaseId: UUID! +"""A `OrgMembershipDefault` edge in the connection.""" +type OrgMembershipDefaultEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `Object` being updated. - """ - objectPatch: ObjectPatch! + """The `OrgMembershipDefault` at the end of the edge.""" + node: OrgMembershipDefault } -""" -Represents an update to a `Object`. Fields that are set will be updated. -""" -input ObjectPatch { - id: UUID - databaseId: UUID - kids: [UUID] - ktree: [String] - data: JSON - frzn: Boolean - createdAt: Datetime +"""Methods to use when ordering `OrgMembershipDefault`.""" +enum OrgMembershipDefaultOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC } -"""The output of our update `SiteMetadatum` mutation.""" -type UpdateSiteMetadatumPayload { +"""A connection to a list of `RlsSetting` values.""" +type RlsSettingConnection { + """A list of `RlsSetting` objects.""" + nodes: [RlsSetting]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `RlsSetting` and cursor to aid in pagination. """ - clientMutationId: String + edges: [RlsSettingEdge]! - """The `SiteMetadatum` that was updated by this mutation.""" - siteMetadatum: SiteMetadatum + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The count of *all* `RlsSetting` you could get from the connection.""" + totalCount: Int! +} - """An edge for our `SiteMetadatum`. May be used by Relay 1.""" - siteMetadatumEdge( - """The method to use when ordering `SiteMetadatum`.""" - orderBy: [SiteMetadatumOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteMetadatumEdge +"""A `RlsSetting` edge in the connection.""" +type RlsSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `RlsSetting` at the end of the edge.""" + node: RlsSetting } -"""All input for the `updateSiteMetadatum` mutation.""" -input UpdateSiteMetadatumInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +"""Methods to use when ordering `RlsSetting`.""" +enum RlsSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + AUTHENTICATE_SCHEMA_ID_ASC + AUTHENTICATE_SCHEMA_ID_DESC + ROLE_SCHEMA_ID_ASC + ROLE_SCHEMA_ID_DESC + AUTHENTICATE_FUNCTION_ID_ASC + AUTHENTICATE_FUNCTION_ID_DESC + AUTHENTICATE_STRICT_FUNCTION_ID_ASC + AUTHENTICATE_STRICT_FUNCTION_ID_DESC + CURRENT_ROLE_FUNCTION_ID_ASC + CURRENT_ROLE_FUNCTION_ID_DESC + CURRENT_ROLE_ID_FUNCTION_ID_ASC + CURRENT_ROLE_ID_FUNCTION_ID_DESC + CURRENT_USER_AGENT_FUNCTION_ID_ASC + CURRENT_USER_AGENT_FUNCTION_ID_DESC + CURRENT_IP_ADDRESS_FUNCTION_ID_ASC + CURRENT_IP_ADDRESS_FUNCTION_ID_DESC +} - """Unique identifier for this metadata record""" - id: UUID! +"""A connection to a list of `AppLimitEvent` values.""" +type AppLimitEventConnection { + """A list of `AppLimitEvent` objects.""" + nodes: [AppLimitEvent]! """ - An object where the defined keys will be set on the `SiteMetadatum` being updated. + A list of edges which contains the `AppLimitEvent` and cursor to aid in pagination. """ - siteMetadatumPatch: SiteMetadatumPatch! -} + edges: [AppLimitEventEdge]! -""" -Represents an update to a `SiteMetadatum`. Fields that are set will be updated. -""" -input SiteMetadatumPatch { - """Unique identifier for this metadata record""" - id: UUID + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Reference to the metaschema database""" - databaseId: UUID + """The count of *all* `AppLimitEvent` you could get from the connection.""" + totalCount: Int! +} - """Site this metadata belongs to""" - siteId: UUID +"""Append-only log of limit events for historical reporting and audit""" +type AppLimitEvent { + """Limit name this event applies to""" + name: String - """Page title for SEO (max 120 characters)""" - title: String + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID - """Meta description for SEO and social sharing (max 120 characters)""" - description: String + """Entity this event applies to; NULL for app-level events""" + entityId: UUID - """Open Graph image for social media previews""" - ogImage: ConstructiveInternalTypeImage + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String - """Upload for Open Graph image for social media previews""" - ogImageUpload: Upload -} + """Change amount: positive for increment, negative for decrement""" + delta: BigInt -"""The `Upload` scalar type represents a file upload.""" -scalar Upload + """Usage count before this event""" + numBefore: BigInt -"""The output of our update `AppLevelRequirement` mutation.""" -type UpdateAppLevelRequirementPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Usage count after this event""" + numAfter: BigInt - """The `AppLevelRequirement` that was updated by this mutation.""" - appLevelRequirement: AppLevelRequirement + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional reason or source: achievement, invite, plan_change, purchase, etc. """ - query: Query - - """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" - appLevelRequirementEdge( - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelRequirementEdge + reason: String } -"""All input for the `updateAppLevelRequirement` mutation.""" -input UpdateAppLevelRequirementInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AppLimitEvent` edge in the connection.""" +type AppLimitEventEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `AppLevelRequirement` being updated. - """ - appLevelRequirementPatch: AppLevelRequirementPatch! + """The `AppLimitEvent` at the end of the edge.""" + node: AppLimitEvent } """ -Represents an update to a `AppLevelRequirement`. Fields that are set will be updated. +A filter to be used against `AppLimitEvent` object types. All fields are combined with a logical ‘and.’ """ -input AppLevelRequirementPatch { - id: UUID +input AppLimitEventFilter { + """Filter by the object’s `name` field.""" + name: StringFilter - """Name identifier of the requirement (matches step names)""" - name: String + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Name of the level this requirement belongs to""" - level: String + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """Human-readable description of what this requirement entails""" - description: String + """Filter by the object’s `eventType` field.""" + eventType: StringFilter - """Number of steps needed to satisfy this requirement""" - requiredCount: Int + """Filter by the object’s `delta` field.""" + delta: BigIntFilter - """Display ordering priority; lower values appear first""" - priority: Int - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `numBefore` field.""" + numBefore: BigIntFilter -"""The output of our update `FullTextSearch` mutation.""" -type UpdateFullTextSearchPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `numAfter` field.""" + numAfter: BigIntFilter - """The `FullTextSearch` that was updated by this mutation.""" - fullTextSearch: FullTextSearch + """Filter by the object’s `maxAtEvent` field.""" + maxAtEvent: BigIntFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `reason` field.""" + reason: StringFilter - """An edge for our `FullTextSearch`. May be used by Relay 1.""" - fullTextSearchEdge( - """The method to use when ordering `FullTextSearch`.""" - orderBy: [FullTextSearchOrderBy!]! = [PRIMARY_KEY_ASC] - ): FullTextSearchEdge -} + """Checks for all expressions in this list.""" + and: [AppLimitEventFilter!] -"""All input for the `updateFullTextSearch` mutation.""" -input UpdateFullTextSearchInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Checks for any expressions in this list.""" + or: [AppLimitEventFilter!] - """ - An object where the defined keys will be set on the `FullTextSearch` being updated. - """ - fullTextSearchPatch: FullTextSearchPatch! + """Negates the expression.""" + not: AppLimitEventFilter } -""" -Represents an update to a `FullTextSearch`. Fields that are set will be updated. -""" -input FullTextSearchPatch { - id: UUID - databaseId: UUID - tableId: UUID - fieldId: UUID - fieldIds: [UUID] - weights: [String] - langs: [String] - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `AppLimitEvent`.""" +enum AppLimitEventOrderBy { + NATURAL + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + EVENT_TYPE_ASC + EVENT_TYPE_DESC + DELTA_ASC + DELTA_DESC + NUM_BEFORE_ASC + NUM_BEFORE_DESC + NUM_AFTER_ASC + NUM_AFTER_DESC + MAX_AT_EVENT_ASC + MAX_AT_EVENT_DESC + REASON_ASC + REASON_DESC } -"""The output of our update `TableGrant` mutation.""" -type UpdateTableGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `TableGrant` that was updated by this mutation.""" - tableGrant: TableGrant +"""A connection to a list of `OrgLimitEvent` values.""" +type OrgLimitEventConnection { + """A list of `OrgLimitEvent` objects.""" + nodes: [OrgLimitEvent]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `OrgLimitEvent` and cursor to aid in pagination. """ - query: Query + edges: [OrgLimitEventEdge]! - """An edge for our `TableGrant`. May be used by Relay 1.""" - tableGrantEdge( - """The method to use when ordering `TableGrant`.""" - orderBy: [TableGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): TableGrantEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `OrgLimitEvent` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateTableGrant` mutation.""" -input UpdateTableGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Append-only log of limit events for historical reporting and audit""" +type OrgLimitEvent { + """Limit name this event applies to""" + name: String - """ - An object where the defined keys will be set on the `TableGrant` being updated. - """ - tableGrantPatch: TableGrantPatch! -} + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID -""" -Represents an update to a `TableGrant`. Fields that are set will be updated. -""" -input TableGrantPatch { - id: UUID - databaseId: UUID - tableId: UUID - privilege: String - granteeName: String - fieldIds: [UUID] - isGrant: Boolean - createdAt: Datetime - updatedAt: Datetime -} + """Entity this event applies to; NULL for app-level events""" + entityId: UUID -"""The output of our update `Commit` mutation.""" -type UpdateCommitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String - """The `Commit` that was updated by this mutation.""" - commit: Commit + """Change amount: positive for increment, negative for decrement""" + delta: BigInt + + """Usage count before this event""" + numBefore: BigInt + + """Usage count after this event""" + numAfter: BigInt + + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt """ - Our root query field type. Allows us to run any query from our mutation payload. + Optional reason or source: achievement, invite, plan_change, purchase, etc. """ - query: Query + reason: String +} - """An edge for our `Commit`. May be used by Relay 1.""" - commitEdge( - """The method to use when ordering `Commit`.""" - orderBy: [CommitOrderBy!]! = [PRIMARY_KEY_ASC] - ): CommitEdge +"""A `OrgLimitEvent` edge in the connection.""" +type OrgLimitEventEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `OrgLimitEvent` at the end of the edge.""" + node: OrgLimitEvent } -"""All input for the `updateCommit` mutation.""" -input UpdateCommitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +A filter to be used against `OrgLimitEvent` object types. All fields are combined with a logical ‘and.’ +""" +input OrgLimitEventFilter { + """Filter by the object’s `name` field.""" + name: StringFilter - """The primary unique identifier for the commit.""" - id: UUID! + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """The repository identifier""" - databaseId: UUID! + """Filter by the object’s `entityId` field.""" + entityId: UUIDFilter - """ - An object where the defined keys will be set on the `Commit` being updated. - """ - commitPatch: CommitPatch! -} + """Filter by the object’s `eventType` field.""" + eventType: StringFilter -""" -Represents an update to a `Commit`. Fields that are set will be updated. -""" -input CommitPatch { - """The primary unique identifier for the commit.""" - id: UUID + """Filter by the object’s `delta` field.""" + delta: BigIntFilter - """The commit message""" - message: String + """Filter by the object’s `numBefore` field.""" + numBefore: BigIntFilter - """The repository identifier""" - databaseId: UUID - storeId: UUID + """Filter by the object’s `numAfter` field.""" + numAfter: BigIntFilter - """Parent commits""" - parentIds: [UUID] + """Filter by the object’s `maxAtEvent` field.""" + maxAtEvent: BigIntFilter - """The author of the commit""" - authorId: UUID + """Filter by the object’s `reason` field.""" + reason: StringFilter - """The committer of the commit""" - committerId: UUID + """Checks for all expressions in this list.""" + and: [OrgLimitEventFilter!] - """The root of the tree""" - treeId: UUID - date: Datetime + """Checks for any expressions in this list.""" + or: [OrgLimitEventFilter!] + + """Negates the expression.""" + not: OrgLimitEventFilter } -"""The output of our update `RateLimitsModule` mutation.""" -type UpdateRateLimitsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgLimitEvent`.""" +enum OrgLimitEventOrderBy { + NATURAL + NAME_ASC + NAME_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + EVENT_TYPE_ASC + EVENT_TYPE_DESC + DELTA_ASC + DELTA_DESC + NUM_BEFORE_ASC + NUM_BEFORE_DESC + NUM_AFTER_ASC + NUM_AFTER_DESC + MAX_AT_EVENT_ASC + MAX_AT_EVENT_DESC + REASON_ASC + REASON_DESC +} - """The `RateLimitsModule` that was updated by this mutation.""" - rateLimitsModule: RateLimitsModule +"""A connection to a list of `RlsModule` values.""" +type RlsModuleConnection { + """A list of `RlsModule` objects.""" + nodes: [RlsModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `RlsModule` and cursor to aid in pagination. """ - query: Query + edges: [RlsModuleEdge]! - """An edge for our `RateLimitsModule`. May be used by Relay 1.""" - rateLimitsModuleEdge( - """The method to use when ordering `RateLimitsModule`.""" - orderBy: [RateLimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): RateLimitsModuleEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `RlsModule` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateRateLimitsModule` mutation.""" -input UpdateRateLimitsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `RlsModule` edge in the connection.""" +type RlsModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `RateLimitsModule` being updated. - """ - rateLimitsModulePatch: RateLimitsModulePatch! + """The `RlsModule` at the end of the edge.""" + node: RlsModule } -""" -Represents an update to a `RateLimitsModule`. Fields that are set will be updated. -""" -input RateLimitsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - rateLimitSettingsTableId: UUID - ipRateLimitsTableId: UUID - rateLimitsTableId: UUID - rateLimitSettingsTable: String - ipRateLimitsTable: String - rateLimitsTable: String +"""Methods to use when ordering `RlsModule`.""" +enum RlsModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + SESSION_CREDENTIALS_TABLE_ID_ASC + SESSION_CREDENTIALS_TABLE_ID_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + AUTHENTICATE_ASC + AUTHENTICATE_DESC + AUTHENTICATE_STRICT_ASC + AUTHENTICATE_STRICT_DESC + CURRENT_ROLE_ASC + CURRENT_ROLE_DESC + CURRENT_ROLE_ID_ASC + CURRENT_ROLE_ID_DESC } -"""The output of our update `OrgChartEdgeGrant` mutation.""" -type UpdateOrgChartEdgeGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `OrgChartEdgeGrant` that was updated by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrant +"""A connection to a list of `DatabaseSetting` values.""" +type DatabaseSettingConnection { + """A list of `DatabaseSetting` objects.""" + nodes: [DatabaseSetting]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `DatabaseSetting` and cursor to aid in pagination. """ - query: Query - - """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" - orgChartEdgeGrantEdge( - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantEdge -} + edges: [DatabaseSettingEdge]! -"""All input for the `updateOrgChartEdgeGrant` mutation.""" -input UpdateOrgChartEdgeGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `OrgChartEdgeGrant` being updated. + The count of *all* `DatabaseSetting` you could get from the connection. """ - orgChartEdgeGrantPatch: OrgChartEdgeGrantPatch! + totalCount: Int! } -""" -Represents an update to a `OrgChartEdgeGrant`. Fields that are set will be updated. -""" -input OrgChartEdgeGrantPatch { - id: UUID +"""A `DatabaseSetting` edge in the connection.""" +type DatabaseSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Organization this grant applies to""" - entityId: UUID + """The `DatabaseSetting` at the end of the edge.""" + node: DatabaseSetting +} - """User ID of the subordinate being placed in the hierarchy""" - childId: UUID +"""Methods to use when ordering `DatabaseSetting`.""" +enum DatabaseSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + ENABLE_AGGREGATES_ASC + ENABLE_AGGREGATES_DESC + ENABLE_POSTGIS_ASC + ENABLE_POSTGIS_DESC + ENABLE_SEARCH_ASC + ENABLE_SEARCH_DESC + ENABLE_DIRECT_UPLOADS_ASC + ENABLE_DIRECT_UPLOADS_DESC + ENABLE_PRESIGNED_UPLOADS_ASC + ENABLE_PRESIGNED_UPLOADS_DESC + ENABLE_MANY_TO_MANY_ASC + ENABLE_MANY_TO_MANY_DESC + ENABLE_CONNECTION_FILTER_ASC + ENABLE_CONNECTION_FILTER_DESC + ENABLE_LTREE_ASC + ENABLE_LTREE_DESC + ENABLE_LLM_ASC + ENABLE_LLM_DESC + OPTIONS_ASC + OPTIONS_DESC +} - """User ID of the manager being assigned; NULL for top-level positions""" - parentId: UUID +"""A connection to a list of `PlansModule` values.""" +type PlansModuleConnection { + """A list of `PlansModule` objects.""" + nodes: [PlansModule]! """ - User ID of the admin who performed this grant or revocation; NULL if grantor was deleted + A list of edges which contains the `PlansModule` and cursor to aid in pagination. """ - grantorId: UUID + edges: [PlansModuleEdge]! - """TRUE to add/update the edge, FALSE to remove it""" - isGrant: Boolean + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Job title or role name being assigned in this grant""" - positionTitle: String + """The count of *all* `PlansModule` you could get from the connection.""" + totalCount: Int! +} - """Numeric seniority level being assigned in this grant""" - positionLevel: Int +"""A `PlansModule` edge in the connection.""" +type PlansModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Timestamp when this grant or revocation was recorded""" - createdAt: Datetime + """The `PlansModule` at the end of the edge.""" + node: PlansModule } -"""The output of our update `PhoneNumber` mutation.""" -type UpdatePhoneNumberPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `PlansModule`.""" +enum PlansModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + PLANS_TABLE_ID_ASC + PLANS_TABLE_ID_DESC + PLANS_TABLE_NAME_ASC + PLANS_TABLE_NAME_DESC + PLAN_LIMITS_TABLE_ID_ASC + PLAN_LIMITS_TABLE_ID_DESC + PLAN_LIMITS_TABLE_NAME_ASC + PLAN_LIMITS_TABLE_NAME_DESC + PLAN_PRICING_TABLE_ID_ASC + PLAN_PRICING_TABLE_ID_DESC + PLAN_OVERRIDES_TABLE_ID_ASC + PLAN_OVERRIDES_TABLE_ID_DESC + APPLY_PLAN_FUNCTION_ASC + APPLY_PLAN_FUNCTION_DESC + APPLY_PLAN_AGGREGATE_FUNCTION_ASC + APPLY_PLAN_AGGREGATE_FUNCTION_DESC + PREFIX_ASC + PREFIX_DESC +} - """The `PhoneNumber` that was updated by this mutation.""" - phoneNumber: PhoneNumber +"""A connection to a list of `SqlAction` values.""" +type SqlActionConnection { + """A list of `SqlAction` objects.""" + nodes: [SqlAction]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `SqlAction` and cursor to aid in pagination. """ - query: Query + edges: [SqlActionEdge]! - """An edge for our `PhoneNumber`. May be used by Relay 1.""" - phoneNumberEdge( - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumberEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `SqlAction` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updatePhoneNumber` mutation.""" -input UpdatePhoneNumberInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +type SqlAction { + id: Int + name: String + databaseId: UUID + deploy: String + deps: [String] + payload: JSON + content: String + revert: String + verify: String + createdAt: Datetime + action: String + actionId: UUID + actorId: UUID +} - """ - An object where the defined keys will be set on the `PhoneNumber` being updated. - """ - phoneNumberPatch: PhoneNumberPatch! +"""A `SqlAction` edge in the connection.""" +type SqlActionEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `SqlAction` at the end of the edge.""" + node: SqlAction } """ -Represents an update to a `PhoneNumber`. Fields that are set will be updated. +A filter to be used against `SqlAction` object types. All fields are combined with a logical ‘and.’ """ -input PhoneNumberPatch { - id: UUID - ownerId: UUID - - """Country calling code (e.g. +1, +44)""" - cc: String +input SqlActionFilter { + """Filter by the object’s `id` field.""" + id: IntFilter - """The phone number without country code""" - number: String + """Filter by the object’s `name` field.""" + name: StringFilter - """Whether the phone number has been verified via SMS code""" - isVerified: Boolean + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """Whether this is the user's primary phone number""" - isPrimary: Boolean + """Filter by the object’s `deploy` field.""" + deploy: StringFilter - """ - Optional user-provided label for this phone number (e.g. "Mobile", "Work"). - """ - name: String - createdAt: Datetime - updatedAt: Datetime -} + """Filter by the object’s `deps` field.""" + deps: StringListFilter -"""The output of our update `AppClaimedInvite` mutation.""" -type UpdateAppClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `content` field.""" + content: StringFilter - """The `AppClaimedInvite` that was updated by this mutation.""" - appClaimedInvite: AppClaimedInvite + """Filter by the object’s `revert` field.""" + revert: StringFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `verify` field.""" + verify: StringFilter - """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" - appClaimedInviteEdge( - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppClaimedInviteEdge -} + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter -"""All input for the `updateAppClaimedInvite` mutation.""" -input UpdateAppClaimedInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `action` field.""" + action: StringFilter - """ - An object where the defined keys will be set on the `AppClaimedInvite` being updated. - """ - appClaimedInvitePatch: AppClaimedInvitePatch! -} + """Filter by the object’s `actionId` field.""" + actionId: UUIDFilter -""" -Represents an update to a `AppClaimedInvite`. Fields that are set will be updated. -""" -input AppClaimedInvitePatch { - id: UUID + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON + """Checks for all expressions in this list.""" + and: [SqlActionFilter!] - """User ID of the original invitation sender""" - senderId: UUID + """Checks for any expressions in this list.""" + or: [SqlActionFilter!] - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime + """Negates the expression.""" + not: SqlActionFilter } -"""The output of our update `AppMembershipDefault` mutation.""" -type UpdateAppMembershipDefaultPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `SqlAction`.""" +enum SqlActionOrderBy { + NATURAL + ID_ASC + ID_DESC + NAME_ASC + NAME_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + DEPLOY_ASC + DEPLOY_DESC + DEPS_ASC + DEPS_DESC + PAYLOAD_ASC + PAYLOAD_DESC + CONTENT_ASC + CONTENT_DESC + REVERT_ASC + REVERT_DESC + VERIFY_ASC + VERIFY_DESC + CREATED_AT_ASC + CREATED_AT_DESC + ACTION_ASC + ACTION_DESC + ACTION_ID_ASC + ACTION_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC +} - """The `AppMembershipDefault` that was updated by this mutation.""" - appMembershipDefault: AppMembershipDefault +"""A connection to a list of `BillingModule` values.""" +type BillingModuleConnection { + """A list of `BillingModule` objects.""" + nodes: [BillingModule]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `BillingModule` and cursor to aid in pagination. """ - query: Query + edges: [BillingModuleEdge]! - """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" - appMembershipDefaultEdge( - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultEdge + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """The count of *all* `BillingModule` you could get from the connection.""" + totalCount: Int! } -"""All input for the `updateAppMembershipDefault` mutation.""" -input UpdateAppMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `BillingModule` edge in the connection.""" +type BillingModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `AppMembershipDefault` being updated. - """ - appMembershipDefaultPatch: AppMembershipDefaultPatch! + """The `BillingModule` at the end of the edge.""" + node: BillingModule } -""" -Represents an update to a `AppMembershipDefault`. Fields that are set will be updated. -""" -input AppMembershipDefaultPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID - - """Whether new members are automatically approved upon joining""" - isApproved: Boolean - - """Whether new members are automatically verified upon joining""" - isVerified: Boolean +"""Methods to use when ordering `BillingModule`.""" +enum BillingModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + METERS_TABLE_ID_ASC + METERS_TABLE_ID_DESC + METERS_TABLE_NAME_ASC + METERS_TABLE_NAME_DESC + PLAN_SUBSCRIPTIONS_TABLE_ID_ASC + PLAN_SUBSCRIPTIONS_TABLE_ID_DESC + PLAN_SUBSCRIPTIONS_TABLE_NAME_ASC + PLAN_SUBSCRIPTIONS_TABLE_NAME_DESC + LEDGER_TABLE_ID_ASC + LEDGER_TABLE_ID_DESC + LEDGER_TABLE_NAME_ASC + LEDGER_TABLE_NAME_DESC + BALANCES_TABLE_ID_ASC + BALANCES_TABLE_ID_DESC + BALANCES_TABLE_NAME_ASC + BALANCES_TABLE_NAME_DESC + RECORD_USAGE_FUNCTION_ASC + RECORD_USAGE_FUNCTION_DESC + PREFIX_ASC + PREFIX_DESC } -"""The output of our update `OrgMembershipDefault` mutation.""" -type UpdateOrgMembershipDefaultPayload { +"""A connection to a list of `AstMigration` values.""" +type AstMigrationConnection { + """A list of `AstMigration` objects.""" + nodes: [AstMigration]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `AstMigration` and cursor to aid in pagination. """ - clientMutationId: String + edges: [AstMigrationEdge]! - """The `OrgMembershipDefault` that was updated by this mutation.""" - orgMembershipDefault: OrgMembershipDefault + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The count of *all* `AstMigration` you could get from the connection.""" + totalCount: Int! +} - """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" - orgMembershipDefaultEdge( - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultEdge +type AstMigration { + id: Int + databaseId: UUID + name: String + requires: [String] + payload: JSON + deploys: String + deploy: JSON + revert: JSON + verify: JSON + createdAt: Datetime + action: String + actionId: UUID + actorId: UUID } -"""All input for the `updateOrgMembershipDefault` mutation.""" -input UpdateOrgMembershipDefaultInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `AstMigration` edge in the connection.""" +type AstMigrationEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `OrgMembershipDefault` being updated. - """ - orgMembershipDefaultPatch: OrgMembershipDefaultPatch! + """The `AstMigration` at the end of the edge.""" + node: AstMigration } """ -Represents an update to a `OrgMembershipDefault`. Fields that are set will be updated. +A filter to be used against `AstMigration` object types. All fields are combined with a logical ‘and.’ """ -input OrgMembershipDefaultPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID +input AstMigrationFilter { + """Filter by the object’s `id` field.""" + id: IntFilter - """Whether new members are automatically approved upon joining""" - isApproved: Boolean + """Filter by the object’s `databaseId` field.""" + databaseId: UUIDFilter - """References the entity these membership defaults apply to""" - entityId: UUID -} + """Filter by the object’s `name` field.""" + name: StringFilter -"""The output of our update `AuditLog` mutation.""" -type UpdateAuditLogPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Filter by the object’s `requires` field.""" + requires: StringListFilter - """The `AuditLog` that was updated by this mutation.""" - auditLog: AuditLog + """Filter by the object’s `payload` field.""" + payload: JSONFilter - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Filter by the object’s `deploys` field.""" + deploys: StringFilter - """An edge for our `AuditLog`. May be used by Relay 1.""" - auditLogEdge( - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] - ): AuditLogEdge -} + """Filter by the object’s `deploy` field.""" + deploy: JSONFilter -"""All input for the `updateAuditLog` mutation.""" -input UpdateAuditLogInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Filter by the object’s `revert` field.""" + revert: JSONFilter - """ - An object where the defined keys will be set on the `AuditLog` being updated. - """ - auditLogPatch: AuditLogPatch! -} + """Filter by the object’s `verify` field.""" + verify: JSONFilter -""" -Represents an update to a `AuditLog`. Fields that are set will be updated. -""" -input AuditLogPatch { - id: UUID + """Filter by the object’s `createdAt` field.""" + createdAt: DatetimeFilter - """ - Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) - """ - event: String + """Filter by the object’s `action` field.""" + action: StringFilter - """User who performed the authentication action; NULL if user was deleted""" - actorId: UUID + """Filter by the object’s `actionId` field.""" + actionId: UUIDFilter - """Request origin (domain) where the auth event occurred""" - origin: ConstructiveInternalTypeOrigin + """Filter by the object’s `actorId` field.""" + actorId: UUIDFilter - """Browser or client user-agent string from the request""" - userAgent: String + """Checks for all expressions in this list.""" + and: [AstMigrationFilter!] - """IP address of the client that initiated the auth event""" - ipAddress: InternetAddress + """Checks for any expressions in this list.""" + or: [AstMigrationFilter!] - """Whether the authentication attempt succeeded""" - success: Boolean + """Negates the expression.""" + not: AstMigrationFilter +} - """Timestamp when the audit event was recorded""" - createdAt: Datetime +"""Methods to use when ordering `AstMigration`.""" +enum AstMigrationOrderBy { + NATURAL + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + NAME_ASC + NAME_DESC + REQUIRES_ASC + REQUIRES_DESC + PAYLOAD_ASC + PAYLOAD_DESC + DEPLOYS_ASC + DEPLOYS_DESC + DEPLOY_ASC + DEPLOY_DESC + REVERT_ASC + REVERT_DESC + VERIFY_ASC + VERIFY_DESC + CREATED_AT_ASC + CREATED_AT_DESC + ACTION_ASC + ACTION_DESC + ACTION_ID_ASC + ACTION_ID_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC } -"""The output of our update `Domain` mutation.""" -type UpdateDomainPayload { +"""A connection to a list of `User` values.""" +type UserConnection { + """A list of `User` objects.""" + nodes: [User]! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `User` and cursor to aid in pagination. """ - clientMutationId: String + edges: [UserEdge]! - """The `Domain` that was updated by this mutation.""" - domain: Domain + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The count of *all* `User` you could get from the connection.""" + totalCount: Int! +} - """An edge for our `Domain`. May be used by Relay 1.""" - domainEdge( - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!]! = [PRIMARY_KEY_ASC] - ): DomainEdge +"""A `User` edge in the connection.""" +type UserEdge { + """A cursor for use in pagination.""" + cursor: Cursor + + """The `User` at the end of the edge.""" + node: User } -"""All input for the `updateDomain` mutation.""" -input UpdateDomainInput { +"""Methods to use when ordering `User`.""" +enum UserOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + USERNAME_ASC + USERNAME_DESC + DISPLAY_NAME_ASC + DISPLAY_NAME_DESC + PROFILE_PICTURE_ASC + PROFILE_PICTURE_DESC + SEARCH_TSV_ASC + SEARCH_TSV_DESC + TYPE_ASC + TYPE_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + SEARCH_TSV_RANK_ASC + SEARCH_TSV_RANK_DESC + DISPLAY_NAME_TRGM_SIMILARITY_ASC + DISPLAY_NAME_TRGM_SIMILARITY_DESC + SEARCH_SCORE_ASC + SEARCH_SCORE_DESC +} + +"""A connection to a list of `OrgMembershipSetting` values.""" +type OrgMembershipSettingConnection { + """A list of `OrgMembershipSetting` objects.""" + nodes: [OrgMembershipSetting]! + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + A list of edges which contains the `OrgMembershipSetting` and cursor to aid in pagination. """ - clientMutationId: String + edges: [OrgMembershipSettingEdge]! - """Unique identifier for this domain record""" - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `Domain` being updated. + The count of *all* `OrgMembershipSetting` you could get from the connection. """ - domainPatch: DomainPatch! + totalCount: Int! } -""" -Represents an update to a `Domain`. Fields that are set will be updated. -""" -input DomainPatch { - """Unique identifier for this domain record""" - id: UUID - - """Reference to the metaschema database this domain belongs to""" - databaseId: UUID - - """API endpoint this domain routes to (mutually exclusive with site_id)""" - apiId: UUID - - """Site this domain routes to (mutually exclusive with api_id)""" - siteId: UUID - - """Subdomain portion of the hostname""" - subdomain: ConstructiveInternalTypeHostname +"""A `OrgMembershipSetting` edge in the connection.""" +type OrgMembershipSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Root domain of the hostname""" - domain: ConstructiveInternalTypeHostname + """The `OrgMembershipSetting` at the end of the edge.""" + node: OrgMembershipSetting } -"""The output of our update `AgentTask` mutation.""" -type UpdateAgentTaskPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Methods to use when ordering `OrgMembershipSetting`.""" +enum OrgMembershipSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + ENTITY_ID_ASC + ENTITY_ID_DESC + DELETE_MEMBER_CASCADE_CHILDREN_ASC + DELETE_MEMBER_CASCADE_CHILDREN_DESC + CREATE_CHILD_CASCADE_OWNERS_ASC + CREATE_CHILD_CASCADE_OWNERS_DESC + CREATE_CHILD_CASCADE_ADMINS_ASC + CREATE_CHILD_CASCADE_ADMINS_DESC + CREATE_CHILD_CASCADE_MEMBERS_ASC + CREATE_CHILD_CASCADE_MEMBERS_DESC + ALLOW_EXTERNAL_MEMBERS_ASC + ALLOW_EXTERNAL_MEMBERS_DESC + INVITE_PROFILE_ASSIGNMENT_MODE_ASC + INVITE_PROFILE_ASSIGNMENT_MODE_DESC + POPULATE_MEMBER_EMAIL_ASC + POPULATE_MEMBER_EMAIL_DESC + LIMIT_ALLOCATION_MODE_ASC + LIMIT_ALLOCATION_MODE_DESC +} - """The `AgentTask` that was updated by this mutation.""" - agentTask: AgentTask +"""A connection to a list of `WebauthnSetting` values.""" +type WebauthnSettingConnection { + """A list of `WebauthnSetting` objects.""" + nodes: [WebauthnSetting]! """ - Our root query field type. Allows us to run any query from our mutation payload. + A list of edges which contains the `WebauthnSetting` and cursor to aid in pagination. """ - query: Query + edges: [WebauthnSettingEdge]! - """An edge for our `AgentTask`. May be used by Relay 1.""" - agentTaskEdge( - """The method to use when ordering `AgentTask`.""" - orderBy: [AgentTaskOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentTaskEdge -} - -"""All input for the `updateAgentTask` mutation.""" -input UpdateAgentTaskInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - An object where the defined keys will be set on the `AgentTask` being updated. + The count of *all* `WebauthnSetting` you could get from the connection. """ - agentTaskPatch: AgentTaskPatch! + totalCount: Int! } -""" -Represents an update to a `AgentTask`. Fields that are set will be updated. -""" -input AgentTaskPatch { - """ - Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. - """ - threadId: UUID +"""A `WebauthnSetting` edge in the connection.""" +type WebauthnSettingEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - Entity (org/group/personal-org id) this task is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger from agent_thread.entity_id via thread_id; the application never sets this column directly. - """ - entityId: UUID + """The `WebauthnSetting` at the end of the edge.""" + node: WebauthnSetting +} - """Natural-language description of the work to do. Required.""" - description: String +"""Methods to use when ordering `WebauthnSetting`.""" +enum WebauthnSettingOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + CREDENTIALS_SCHEMA_ID_ASC + CREDENTIALS_SCHEMA_ID_DESC + SESSIONS_SCHEMA_ID_ASC + SESSIONS_SCHEMA_ID_DESC + SESSION_SECRETS_SCHEMA_ID_ASC + SESSION_SECRETS_SCHEMA_ID_DESC + CREDENTIALS_TABLE_ID_ASC + CREDENTIALS_TABLE_ID_DESC + SESSIONS_TABLE_ID_ASC + SESSIONS_TABLE_ID_DESC + SESSION_CREDENTIALS_TABLE_ID_ASC + SESSION_CREDENTIALS_TABLE_ID_DESC + SESSION_SECRETS_TABLE_ID_ASC + SESSION_SECRETS_TABLE_ID_DESC + USER_FIELD_ID_ASC + USER_FIELD_ID_DESC + RP_ID_ASC + RP_ID_DESC + RP_NAME_ASC + RP_NAME_DESC + ORIGIN_ALLOWLIST_ASC + ORIGIN_ALLOWLIST_DESC + ATTESTATION_TYPE_ASC + ATTESTATION_TYPE_DESC + REQUIRE_USER_VERIFICATION_ASC + REQUIRE_USER_VERIFICATION_DESC + RESIDENT_KEY_ASC + RESIDENT_KEY_DESC + CHALLENGE_EXPIRY_SECONDS_ASC + CHALLENGE_EXPIRY_SECONDS_DESC +} - """ - Who created the task: 'agent' (added by the LLM during planning) or 'user' (added manually by the human). Stored as free-text (no CHECK) so additional sources can be introduced later. - """ - source: String +"""A connection to a list of `AppMembership` values.""" +type AppMembershipConnection { + """A list of `AppMembership` objects.""" + nodes: [AppMembership]! """ - Error message captured when the task transitioned to 'failed'. NULL while the task is still pending/in-progress, or when it completed successfully. + A list of edges which contains the `AppMembership` and cursor to aid in pagination. """ - error: String - id: UUID + edges: [AppMembershipEdge]! - """Timestamp when this record was created""" - createdAt: Datetime + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Timestamp when this record was last updated""" - updatedAt: Datetime + """The count of *all* `AppMembership` you could get from the connection.""" + totalCount: Int! +} - """User who owns this record""" - ownerId: UUID +"""A `AppMembership` edge in the connection.""" +type AppMembershipEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """Current status of this record""" - status: String + """The `AppMembership` at the end of the edge.""" + node: AppMembership } -"""The output of our update `AgentThread` mutation.""" -type UpdateAgentThreadPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AgentThread` that was updated by this mutation.""" - agentThread: AgentThread - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `AgentThread`. May be used by Relay 1.""" - agentThreadEdge( - """The method to use when ordering `AgentThread`.""" - orderBy: [AgentThreadOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentThreadEdge -} - -"""All input for the `updateAgentThread` mutation.""" -input UpdateAgentThreadInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `AgentThread` being updated. - """ - agentThreadPatch: AgentThreadPatch! +"""Methods to use when ordering `AppMembership`.""" +enum AppMembershipOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC + CREATED_BY_ASC + CREATED_BY_DESC + UPDATED_BY_ASC + UPDATED_BY_DESC + IS_APPROVED_ASC + IS_APPROVED_DESC + IS_BANNED_ASC + IS_BANNED_DESC + IS_DISABLED_ASC + IS_DISABLED_DESC + IS_VERIFIED_ASC + IS_VERIFIED_DESC + IS_ACTIVE_ASC + IS_ACTIVE_DESC + IS_OWNER_ASC + IS_OWNER_DESC + IS_ADMIN_ASC + IS_ADMIN_DESC + PERMISSIONS_ASC + PERMISSIONS_DESC + GRANTED_ASC + GRANTED_DESC + ACTOR_ID_ASC + ACTOR_ID_DESC + PROFILE_ID_ASC + PROFILE_ID_DESC } -""" -Represents an update to a `AgentThread`. Fields that are set will be updated. -""" -input AgentThreadPatch { - """ - Human-readable conversation title. Typically auto-generated from the first user message and editable by the user. NULL until a title has been computed. - """ - title: String +"""A connection to a list of `BillingProviderModule` values.""" +type BillingProviderModuleConnection { + """A list of `BillingProviderModule` objects.""" + nodes: [BillingProviderModule]! """ - Conversation mode: 'ask' for plain Q&A (no tool execution) or 'agent' for tool-enabled execution. Stored as free-text (no CHECK) so new modes can be added without migration. + A list of edges which contains the `BillingProviderModule` and cursor to aid in pagination. """ - mode: String + edges: [BillingProviderModuleEdge]! - """ - Snapshot of the LLM model id this thread is bound to (e.g. 'gpt-5', 'claude-sonnet-4'). Captured on creation so a resumed conversation stays on the same model even if app defaults change. NULL means use the app default at request time. - """ - model: String + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Snapshot of the system prompt active for this thread. Stored on the thread (rather than referenced from a registry) so the conversation remains reproducible even if a future system_prompt registry changes its canonical text. NULL means use the app default at request time. + The count of *all* `BillingProviderModule` you could get from the connection. """ - systemPrompt: String - id: UUID - - """Timestamp when this record was created""" - createdAt: Datetime - - """Timestamp when this record was last updated""" - updatedAt: Datetime - - """User who owns this record within the entity""" - ownerId: UUID - - """Entity this record belongs to""" - entityId: UUID - - """Current status of this record""" - status: String + totalCount: Int! } -"""The output of our update `Email` mutation.""" -type UpdateEmailPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `Email` that was updated by this mutation.""" - email: Email - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A `BillingProviderModule` edge in the connection.""" +type BillingProviderModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """An edge for our `Email`. May be used by Relay 1.""" - emailEdge( - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailEdge + """The `BillingProviderModule` at the end of the edge.""" + node: BillingProviderModule } -"""All input for the `updateEmail` mutation.""" -input UpdateEmailInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `Email` being updated. - """ - emailPatch: EmailPatch! +"""Methods to use when ordering `BillingProviderModule`.""" +enum BillingProviderModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + PROVIDER_ASC + PROVIDER_DESC + PRODUCTS_TABLE_ID_ASC + PRODUCTS_TABLE_ID_DESC + PRICES_TABLE_ID_ASC + PRICES_TABLE_ID_DESC + SUBSCRIPTIONS_TABLE_ID_ASC + SUBSCRIPTIONS_TABLE_ID_DESC + BILLING_CUSTOMERS_TABLE_ID_ASC + BILLING_CUSTOMERS_TABLE_ID_DESC + BILLING_CUSTOMERS_TABLE_NAME_ASC + BILLING_CUSTOMERS_TABLE_NAME_DESC + BILLING_PRODUCTS_TABLE_ID_ASC + BILLING_PRODUCTS_TABLE_ID_DESC + BILLING_PRODUCTS_TABLE_NAME_ASC + BILLING_PRODUCTS_TABLE_NAME_DESC + BILLING_PRICES_TABLE_ID_ASC + BILLING_PRICES_TABLE_ID_DESC + BILLING_PRICES_TABLE_NAME_ASC + BILLING_PRICES_TABLE_NAME_DESC + BILLING_SUBSCRIPTIONS_TABLE_ID_ASC + BILLING_SUBSCRIPTIONS_TABLE_ID_DESC + BILLING_SUBSCRIPTIONS_TABLE_NAME_ASC + BILLING_SUBSCRIPTIONS_TABLE_NAME_DESC + BILLING_WEBHOOK_EVENTS_TABLE_ID_ASC + BILLING_WEBHOOK_EVENTS_TABLE_ID_DESC + BILLING_WEBHOOK_EVENTS_TABLE_NAME_ASC + BILLING_WEBHOOK_EVENTS_TABLE_NAME_DESC + PROCESS_BILLING_EVENT_FUNCTION_ASC + PROCESS_BILLING_EVENT_FUNCTION_DESC + PREFIX_ASC + PREFIX_DESC } -""" -Represents an update to a `Email`. Fields that are set will be updated. -""" -input EmailPatch { - id: UUID - ownerId: UUID - - """The email address""" - email: ConstructiveInternalTypeEmail - - """Whether the email address has been verified via confirmation link""" - isVerified: Boolean - - """Whether this is the user's primary email address""" - isPrimary: Boolean - - """Optional user-provided label for this email (e.g. "Work", "Personal").""" - name: String - createdAt: Datetime - updatedAt: Datetime -} +"""A connection to a list of `HierarchyModule` values.""" +type HierarchyModuleConnection { + """A list of `HierarchyModule` objects.""" + nodes: [HierarchyModule]! -"""The output of our update `AppGrant` mutation.""" -type UpdateAppGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + A list of edges which contains the `HierarchyModule` and cursor to aid in pagination. """ - clientMutationId: String + edges: [HierarchyModuleEdge]! - """The `AppGrant` that was updated by this mutation.""" - appGrant: AppGrant + """Information to aid in pagination.""" + pageInfo: PageInfo! """ - Our root query field type. Allows us to run any query from our mutation payload. + The count of *all* `HierarchyModule` you could get from the connection. """ - query: Query - - """An edge for our `AppGrant`. May be used by Relay 1.""" - appGrantEdge( - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppGrantEdge + totalCount: Int! } -"""All input for the `updateAppGrant` mutation.""" -input UpdateAppGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""A `HierarchyModule` edge in the connection.""" +type HierarchyModuleEdge { + """A cursor for use in pagination.""" + cursor: Cursor - """ - An object where the defined keys will be set on the `AppGrant` being updated. - """ - appGrantPatch: AppGrantPatch! + """The `HierarchyModule` at the end of the edge.""" + node: HierarchyModule } -""" -Represents an update to a `AppGrant`. Fields that are set will be updated. -""" -input AppGrantPatch { - id: UUID - - """Bitmask of permissions being granted or revoked""" - permissions: BitString - - """True to grant the permissions, false to revoke them""" - isGrant: Boolean - - """The member receiving or losing the permission grant""" - actorId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime +"""Methods to use when ordering `HierarchyModule`.""" +enum HierarchyModuleOrderBy { + NATURAL + PRIMARY_KEY_ASC + PRIMARY_KEY_DESC + ID_ASC + ID_DESC + DATABASE_ID_ASC + DATABASE_ID_DESC + SCHEMA_ID_ASC + SCHEMA_ID_DESC + PRIVATE_SCHEMA_ID_ASC + PRIVATE_SCHEMA_ID_DESC + CHART_EDGES_TABLE_ID_ASC + CHART_EDGES_TABLE_ID_DESC + CHART_EDGES_TABLE_NAME_ASC + CHART_EDGES_TABLE_NAME_DESC + HIERARCHY_SPRT_TABLE_ID_ASC + HIERARCHY_SPRT_TABLE_ID_DESC + HIERARCHY_SPRT_TABLE_NAME_ASC + HIERARCHY_SPRT_TABLE_NAME_DESC + CHART_EDGE_GRANTS_TABLE_ID_ASC + CHART_EDGE_GRANTS_TABLE_ID_DESC + CHART_EDGE_GRANTS_TABLE_NAME_ASC + CHART_EDGE_GRANTS_TABLE_NAME_DESC + ENTITY_TABLE_ID_ASC + ENTITY_TABLE_ID_DESC + USERS_TABLE_ID_ASC + USERS_TABLE_ID_DESC + PREFIX_ASC + PREFIX_DESC + PRIVATE_SCHEMA_NAME_ASC + PRIVATE_SCHEMA_NAME_DESC + SPRT_TABLE_NAME_ASC + SPRT_TABLE_NAME_DESC + REBUILD_HIERARCHY_FUNCTION_ASC + REBUILD_HIERARCHY_FUNCTION_DESC + GET_SUBORDINATES_FUNCTION_ASC + GET_SUBORDINATES_FUNCTION_DESC + GET_MANAGERS_FUNCTION_ASC + GET_MANAGERS_FUNCTION_DESC + IS_MANAGER_OF_FUNCTION_ASC + IS_MANAGER_OF_FUNCTION_DESC + CREATED_AT_ASC + CREATED_AT_DESC } -"""The output of our update `OrgClaimedInvite` mutation.""" -type UpdateOrgClaimedInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Root meta schema type""" +type MetaSchema { + tables: [MetaTable!]! +} - """The `OrgClaimedInvite` that was updated by this mutation.""" - orgClaimedInvite: OrgClaimedInvite +"""Information about a database table""" +type MetaTable { + name: String! + schemaName: String! + fields: [MetaField!]! + indexes: [MetaIndex!]! + constraints: MetaConstraints! + foreignKeyConstraints: [MetaForeignKeyConstraint!]! + primaryKeyConstraints: [MetaPrimaryKeyConstraint!]! + uniqueConstraints: [MetaUniqueConstraint!]! + relations: MetaRelations! + inflection: MetaInflection! + query: MetaQuery! +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""Information about a table field/column""" +type MetaField { + name: String! + type: MetaType! + isNotNull: Boolean! + hasDefault: Boolean! + isPrimaryKey: Boolean! + isForeignKey: Boolean! + description: String +} - """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" - orgClaimedInviteEdge( - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteEdge +"""Information about a PostgreSQL type""" +type MetaType { + pgType: String! + gqlType: String! + isArray: Boolean! + isNotNull: Boolean + hasDefault: Boolean + subtype: String } -"""All input for the `updateOrgClaimedInvite` mutation.""" -input UpdateOrgClaimedInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Information about a database index""" +type MetaIndex { + name: String! + isUnique: Boolean! + isPrimary: Boolean! + columns: [String!]! + fields: [MetaField!] +} - """ - An object where the defined keys will be set on the `OrgClaimedInvite` being updated. - """ - orgClaimedInvitePatch: OrgClaimedInvitePatch! +"""Table constraints""" +type MetaConstraints { + primaryKey: MetaPrimaryKeyConstraint + unique: [MetaUniqueConstraint!]! + foreignKey: [MetaForeignKeyConstraint!]! } -""" -Represents an update to a `OrgClaimedInvite`. Fields that are set will be updated. -""" -input OrgClaimedInvitePatch { - id: UUID +"""Information about a primary key constraint""" +type MetaPrimaryKeyConstraint { + name: String! + fields: [MetaField!]! +} - """Optional JSON payload captured at the time the invite was claimed""" - data: JSON +"""Information about a unique constraint""" +type MetaUniqueConstraint { + name: String! + fields: [MetaField!]! +} - """User ID of the original invitation sender""" - senderId: UUID +"""Information about a foreign key constraint""" +type MetaForeignKeyConstraint { + name: String! + fields: [MetaField!]! + referencedTable: String! + referencedFields: [String!]! + refFields: [MetaField!] + refTable: MetaRefTable +} - """User ID of the person who claimed and redeemed the invitation""" - receiverId: UUID - createdAt: Datetime - updatedAt: Datetime - entityId: UUID +"""Reference to a related table""" +type MetaRefTable { + name: String! } -"""The output of our update `OrgChartEdge` mutation.""" -type UpdateOrgChartEdgePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String +"""Table relations""" +type MetaRelations { + belongsTo: [MetaBelongsToRelation!]! + has: [MetaHasRelation!]! + hasOne: [MetaHasRelation!]! + hasMany: [MetaHasRelation!]! + manyToMany: [MetaManyToManyRelation!]! +} - """The `OrgChartEdge` that was updated by this mutation.""" - orgChartEdge: OrgChartEdge +"""A belongs-to (forward FK) relation""" +type MetaBelongsToRelation { + fieldName: String + isUnique: Boolean! + type: String + keys: [MetaField!]! + references: MetaRefTable! +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +"""A has-one or has-many (reverse FK) relation""" +type MetaHasRelation { + fieldName: String + isUnique: Boolean! + type: String + keys: [MetaField!]! + referencedBy: MetaRefTable! +} - """An edge for our `OrgChartEdge`. May be used by Relay 1.""" - orgChartEdgeEdge( - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeEdge +"""A many-to-many relation via junction table""" +type MetaManyToManyRelation { + fieldName: String + type: String + junctionTable: MetaRefTable! + junctionLeftConstraint: MetaForeignKeyConstraint! + junctionLeftKeyAttributes: [MetaField!]! + junctionRightConstraint: MetaForeignKeyConstraint! + junctionRightKeyAttributes: [MetaField!]! + leftKeyAttributes: [MetaField!]! + rightKeyAttributes: [MetaField!]! + rightTable: MetaRefTable! } -"""All input for the `updateOrgChartEdge` mutation.""" -input UpdateOrgChartEdgeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +"""Table inflection names""" +type MetaInflection { + tableType: String! + allRows: String! + connection: String! + edge: String! + filterType: String + orderByType: String! + conditionType: String! + patchType: String + createInputType: String! + createPayloadType: String! + updatePayloadType: String + deletePayloadType: String! +} - """ - An object where the defined keys will be set on the `OrgChartEdge` being updated. - """ - orgChartEdgePatch: OrgChartEdgePatch! +"""Table query/mutation names""" +type MetaQuery { + all: String! + one: String + create: String + update: String + delete: String } """ -Represents an update to a `OrgChartEdge`. Fields that are set will be updated. +The root mutation type which contains root level fields which mutate data. """ -input OrgChartEdgePatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - - """Organization this hierarchy edge belongs to""" - entityId: UUID - - """User ID of the subordinate (employee) in this reporting relationship""" - childId: UUID - - """ - User ID of the manager; NULL indicates a top-level position with no direct report - """ - parentId: UUID - - """Job title or role name for this position in the org chart""" - positionTitle: String - - """Numeric seniority level for this position (higher = more senior)""" - positionLevel: Int -} - -"""The output of our update `AppLimit` mutation.""" -type UpdateAppLimitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppLimit` that was updated by this mutation.""" - appLimit: AppLimit +type Mutation { + sendAccountDeletionEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SendAccountDeletionEmailInput! + ): SendAccountDeletionEmailPayload + signOut( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignOutInput! + ): SignOutPayload + acceptDatabaseTransfer( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: AcceptDatabaseTransferInput! + ): AcceptDatabaseTransferPayload + cancelDatabaseTransfer( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CancelDatabaseTransferInput! + ): CancelDatabaseTransferPayload + rejectDatabaseTransfer( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RejectDatabaseTransferInput! + ): RejectDatabaseTransferPayload + disconnectAccount( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DisconnectAccountInput! + ): DisconnectAccountPayload + revokeApiKey( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RevokeApiKeyInput! + ): RevokeApiKeyPayload + revokeSession( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RevokeSessionInput! + ): RevokeSessionPayload + verifyPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: VerifyPasswordInput! + ): VerifyPasswordPayload + verifyTotp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: VerifyTotpInput! + ): VerifyTotpPayload + submitAppInviteCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SubmitAppInviteCodeInput! + ): SubmitAppInviteCodePayload + submitOrgInviteCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SubmitOrgInviteCodeInput! + ): SubmitOrgInviteCodePayload + checkPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CheckPasswordInput! + ): CheckPasswordPayload + confirmDeleteAccount( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ConfirmDeleteAccountInput! + ): ConfirmDeleteAccountPayload + setPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetPasswordInput! + ): SetPasswordPayload + verifyEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: VerifyEmailInput! + ): VerifyEmailPayload + freezeObjects( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: FreezeObjectsInput! + ): FreezeObjectsPayload + initEmptyRepo( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: InitEmptyRepoInput! + ): InitEmptyRepoPayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Executes a blueprint definition by delegating to provision_* procedures. Creates a blueprint_construction record to track the attempt. Six phases: (0) entity_type_provision for each membership_type entry — provisions entity tables, membership modules, and security, (1) provision_table() for each table with nodes[], fields[], policies[], and grants (table-level indexes/fts/unique_constraints are deferred), (2) provision_relation() for each relation, (3) provision_index() for top-level + deferred indexes, (4) provision_full_text_search() for top-level + deferred FTS, (5) provision_unique_constraint() for top-level + deferred unique constraints. Phase 0 entity tables are added to the table_map so subsequent phases can reference them by name. Table-level indexes/fts/unique_constraints are deferred to phases 3-5 so they can reference columns created by relations in phase 2. Returns the construction record ID on success, NULL on failure. """ - query: Query - - """An edge for our `AppLimit`. May be used by Relay 1.""" - appLimitEdge( - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitEdge -} + constructBlueprint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ConstructBlueprintInput! + ): ConstructBlueprintPayload + provisionNewUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionNewUserInput! + ): ProvisionNewUserPayload + resetPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ResetPasswordInput! + ): ResetPasswordPayload + removeNodeAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RemoveNodeAtPathInput! + ): RemoveNodeAtPathPayload -"""All input for the `updateAppLimit` mutation.""" -input UpdateAppLimitInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Creates a new blueprint by copying a template definition. Checks visibility: owners can always copy their own templates, others require public visibility. Increments the template copy_count. Returns the new blueprint ID. """ - clientMutationId: String - id: UUID! + copyTemplateToBlueprint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CopyTemplateToBlueprintInput! + ): CopyTemplateToBlueprintPayload """ - An object where the defined keys will be set on the `AppLimit` being updated. + Idempotent provisioner for metaschema_public.spatial_relation. Inserts a row declaring a spatial predicate between two geometry/geography columns (owner and target). Called from construct_blueprint when a relation entry has $type=RelationSpatial. Graceful: re-running with the same (source_table_id, name) returns the existing id without modifying the row. Operator whitelist and st_dwithin ↔ param_name pairing are enforced by the spatial_relation table CHECKs. Both fields must already exist — this is a metadata-only insert. """ - appLimitPatch: AppLimitPatch! -} - -""" -Represents an update to a `AppLimit`. Fields that are set will be updated. -""" -input AppLimitPatch { - id: UUID - - """Name identifier of the limit being tracked""" - name: String - - """User whose usage is being tracked against this limit""" - actorId: UUID - - """Current usage count for this actor and limit""" - num: BigInt + provisionSpatialRelation( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionSpatialRelationInput! + ): ProvisionSpatialRelationPayload + bootstrapUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: BootstrapUserInput! + ): BootstrapUserPayload + setFieldOrder( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetFieldOrderInput! + ): SetFieldOrderPayload + appendSmartTags( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: AppendSmartTagsInput! + ): AppendSmartTagsPayload """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. """ - max: BigInt + provisionUniqueConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionUniqueConstraintInput! + ): ProvisionUniqueConstraintPayload """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + Creates a full-text search configuration on a table. Accepts a jsonb definition with field (tsvector column name) and sources (array of {field, weight, lang}). Graceful: skips if FTS config already exists for the same (table_id, field_id). Returns the fts_id. """ - softMax: BigInt - - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + provisionFullTextSearch( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionFullTextSearchInput! + ): ProvisionFullTextSearchPayload """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + Creates an index on a table. Accepts a jsonb definition with columns (array of names or single column string), access_method (default BTREE), is_unique, op_classes, options, and name (auto-generated if omitted). Graceful: skips if an index with the same (table_id, field_ids, access_method) already exists. Returns the index_id. """ - windowDuration: IntervalInput -} + provisionIndex( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionIndexInput! + ): ProvisionIndexPayload + setDataAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetDataAtPathInput! + ): SetDataAtPathPayload + setPropsAndCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetPropsAndCommitInput! + ): SetPropsAndCommitPayload + provisionDatabaseWithUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionDatabaseWithUserInput! + ): ProvisionDatabaseWithUserPayload + insertNodeAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: InsertNodeAtPathInput! + ): InsertNodeAtPathPayload + updateNodeAtPath( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateNodeAtPathInput! + ): UpdateNodeAtPathPayload + setAndCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SetAndCommitInput! + ): SetAndCommitPayload -"""The output of our update `OrgLimitAggregate` mutation.""" -type UpdateOrgLimitAggregatePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Composable relation provisioning: creates FK fields, indexes, unique constraints, and junction tables depending on the relation_type. Supports RelationBelongsTo, RelationHasOne, RelationHasMany, and RelationManyToMany. ManyToMany uses provision_table() internally for junction table creation with full node/grant/policy support. All operations are graceful (skip existing). Returns (out_field_id, out_junction_table_id, out_source_field_id, out_target_field_id). """ - clientMutationId: String + provisionRelation( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionRelationInput! + ): ProvisionRelationPayload + applyRls( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ApplyRlsInput! + ): ApplyRlsPayload + signInCrossOrigin( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignInCrossOriginInput! + ): SignInCrossOriginPayload - """The `OrgLimitAggregate` that was updated by this mutation.""" - orgLimitAggregate: OrgLimitAggregate + "Creates a new user database with all required modules, permissions, and RLS policies.\n\nParameters:\n - database_name: Name for the new database (required)\n - owner_id: UUID of the owner user (required)\n - include_invites: Include invite system (default: true)\n - include_groups: Include group-level memberships (default: false)\n - include_levels: Include levels/achievements (default: false)\n - bitlen: Bit length for permission masks (default: 64)\n - tokens_expiration: Token expiration interval (default: 30 days)\n\nReturns the database_id UUID of the newly created database.\n\nExample usage:\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid);\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid, true, true); -- with invites and groups\n" + createUserDatabase( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUserDatabaseInput! + ): CreateUserDatabasePayload + extendTokenExpires( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ExtendTokenExpiresInput! + ): ExtendTokenExpiresPayload + createApiKey( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateApiKeyInput! + ): CreateApiKeyPayload + sendVerificationEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SendVerificationEmailInput! + ): SendVerificationEmailPayload + forgotPassword( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ForgotPasswordInput! + ): ForgotPasswordPayload + signUp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignUpInput! + ): SignUpPayload + requestCrossOriginToken( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RequestCrossOriginTokenInput! + ): RequestCrossOriginTokenPayload + signIn( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: SignInInput! + ): SignInPayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Composable table provisioning: creates or finds a table, then creates fields (so Data* modules can reference them), applies N nodes (Data* modules), enables RLS, creates grants, creates N policies, and optionally creates table-level indexes/full_text_searches/unique_constraints. All operations are graceful (skip existing). Accepts multiple nodes and multiple policies per call, unlike secure_table_provision which is limited to one of each. Returns (out_table_id, out_fields). """ - query: Query + provisionTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionTableInput! + ): ProvisionTablePayload - """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" - orgLimitAggregateEdge( - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateEdge -} + """Creates a single `DefaultIdsModule`.""" + createDefaultIdsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDefaultIdsModuleInput! + ): CreateDefaultIdsModulePayload -"""All input for the `updateOrgLimitAggregate` mutation.""" -input UpdateOrgLimitAggregateInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `RoleType`.""" + createRoleType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRoleTypeInput! + ): CreateRoleTypePayload - """ - An object where the defined keys will be set on the `OrgLimitAggregate` being updated. - """ - orgLimitAggregatePatch: OrgLimitAggregatePatch! -} + """Creates a single `AppLimitCreditRedemption`.""" + createAppLimitCreditRedemption( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditRedemptionInput! + ): CreateAppLimitCreditRedemptionPayload -""" -Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. -""" -input OrgLimitAggregatePatch { - id: UUID + """Creates a single `Function`.""" + createFunction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateFunctionInput! + ): CreateFunctionPayload - """Name identifier of the aggregate limit being tracked""" - name: String + """Creates a single `ViewTable`.""" + createViewTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateViewTableInput! + ): CreateViewTablePayload - """Entity (org) whose aggregate usage is being tracked""" - entityId: UUID + """Creates a single `ApiSchema`.""" + createApiSchema( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateApiSchemaInput! + ): CreateApiSchemaPayload - """Current aggregate usage count for this entity and limit""" - num: BigInt + """Creates a single `CorsSetting`.""" + createCorsSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCorsSettingInput! + ): CreateCorsSettingPayload - """Maximum allowed aggregate usage; negative means unlimited""" - max: BigInt + """Creates a single `OrgMember`.""" + createOrgMember( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMemberInput! + ): CreateOrgMemberPayload - """Soft limit threshold for warnings; NULL means no soft limit""" - softMax: BigInt + """Creates a single `SiteTheme`.""" + createSiteTheme( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSiteThemeInput! + ): CreateSiteThemePayload - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Creates a single `IdentityProvider`.""" + createIdentityProvider( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateIdentityProviderInput! + ): CreateIdentityProviderPayload - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput -} + """Creates a single `Ref`.""" + createRef( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRefInput! + ): CreateRefPayload -"""The output of our update `BlueprintConstruction` mutation.""" -type UpdateBlueprintConstructionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `Store`.""" + createStore( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateStoreInput! + ): CreateStorePayload - """The `BlueprintConstruction` that was updated by this mutation.""" - blueprintConstruction: BlueprintConstruction + """Creates a single `EncryptedSecretsModule`.""" + createEncryptedSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEncryptedSecretsModuleInput! + ): CreateEncryptedSecretsModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `MembershipTypesModule`.""" + createMembershipTypesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateMembershipTypesModuleInput! + ): CreateMembershipTypesModulePayload - """An edge for our `BlueprintConstruction`. May be used by Relay 1.""" - blueprintConstructionEdge( - """The method to use when ordering `BlueprintConstruction`.""" - orderBy: [BlueprintConstructionOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintConstructionEdge -} + """Creates a single `SecretsModule`.""" + createSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSecretsModuleInput! + ): CreateSecretsModulePayload -"""All input for the `updateBlueprintConstruction` mutation.""" -input UpdateBlueprintConstructionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """Unique identifier for this construction attempt.""" - id: UUID! - - """ - An object where the defined keys will be set on the `BlueprintConstruction` being updated. - """ - blueprintConstructionPatch: BlueprintConstructionPatch! -} + """Creates a single `AppPermissionDefault`.""" + createAppPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppPermissionDefaultInput! + ): CreateAppPermissionDefaultPayload -""" -Represents an update to a `BlueprintConstruction`. Fields that are set will be updated. -""" -input BlueprintConstructionPatch { - """Unique identifier for this construction attempt.""" - id: UUID + """Creates a single `ApiModule`.""" + createApiModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateApiModuleInput! + ): CreateApiModulePayload - """The blueprint that was constructed.""" - blueprintId: UUID + """Creates a single `SiteModule`.""" + createSiteModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSiteModuleInput! + ): CreateSiteModulePayload - """The database the blueprint was constructed into.""" - databaseId: UUID + """Creates a single `AppLimitCreditCode`.""" + createAppLimitCreditCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditCodeInput! + ): CreateAppLimitCreditCodePayload - """ - The default schema used for tables that did not specify an explicit schema_name. NULL if not yet resolved. - """ - schemaId: UUID + """Creates a single `SchemaGrant`.""" + createSchemaGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSchemaGrantInput! + ): CreateSchemaGrantPayload - """ - Execution state of this construction attempt. pending: created but not yet started. constructing: currently executing. constructed: successfully completed. failed: execution failed (see error_details). - """ - status: String + """Creates a single `TriggerFunction`.""" + createTriggerFunction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateTriggerFunctionInput! + ): CreateTriggerFunctionPayload - """ - Error message from a failed construction attempt. NULL unless status is failed. - """ - errorDetails: String + """Creates a single `ViewRule`.""" + createViewRule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateViewRuleInput! + ): CreateViewRulePayload - """ - Mapping of table names to created table UUIDs, populated after successful construction. Format: {"products": "uuid", "categories": "uuid", ...}. Defaults to empty object. - """ - tableMap: JSON + """Creates a single `IdentityProvidersModule`.""" + createIdentityProvidersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateIdentityProvidersModuleInput! + ): CreateIdentityProvidersModulePayload - """ - Immutable snapshot of the definition at construct-time. Preserved so the exact definition that was executed is recorded even if the user later modifies the blueprint definition. - """ - constructedDefinition: JSON + """Creates a single `SessionSecretsModule`.""" + createSessionSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSessionSecretsModuleInput! + ): CreateSessionSecretsModulePayload - """ - Timestamp when construction successfully completed. NULL until constructed. - """ - constructedAt: Datetime + """Creates a single `AppAdminGrant`.""" + createAppAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppAdminGrantInput! + ): CreateAppAdminGrantPayload - """Timestamp when this construction attempt was created.""" - createdAt: Datetime + """Creates a single `AppOwnerGrant`.""" + createAppOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppOwnerGrantInput! + ): CreateAppOwnerGrantPayload - """Timestamp when this construction attempt was last modified.""" - updatedAt: Datetime -} + """Creates a single `AppAchievement`.""" + createAppAchievement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppAchievementInput! + ): CreateAppAchievementPayload -"""The output of our update `PlansModule` mutation.""" -type UpdatePlansModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppStep`.""" + createAppStep( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppStepInput! + ): CreateAppStepPayload - """The `PlansModule` that was updated by this mutation.""" - plansModule: PlansModule + """Creates a single `OrgPermissionDefault`.""" + createOrgPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgPermissionDefaultInput! + ): CreateOrgPermissionDefaultPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `AppPermission`.""" + createAppPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppPermissionInput! + ): CreateAppPermissionPayload - """An edge for our `PlansModule`. May be used by Relay 1.""" - plansModuleEdge( - """The method to use when ordering `PlansModule`.""" - orderBy: [PlansModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PlansModuleEdge -} + """Creates a single `OrgPermission`.""" + createOrgPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgPermissionInput! + ): CreateOrgPermissionPayload -"""All input for the `updatePlansModule` mutation.""" -input UpdatePlansModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `AppLimitCapsDefault`.""" + createAppLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCapsDefaultInput! + ): CreateAppLimitCapsDefaultPayload - """ - An object where the defined keys will be set on the `PlansModule` being updated. - """ - plansModulePatch: PlansModulePatch! -} + """Creates a single `OrgLimitCapsDefault`.""" + createOrgLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitCapsDefaultInput! + ): CreateOrgLimitCapsDefaultPayload -""" -Represents an update to a `PlansModule`. Fields that are set will be updated. -""" -input PlansModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - plansTableId: UUID - plansTableName: String - planLimitsTableId: UUID - planLimitsTableName: String - applyPlanFunction: String - applyPlanAggregateFunction: String - prefix: String -} + """Creates a single `AppLimitCap`.""" + createAppLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCapInput! + ): CreateAppLimitCapPayload -"""The output of our update `RlsModule` mutation.""" -type UpdateRlsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `OrgLimitCap`.""" + createOrgLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitCapInput! + ): CreateOrgLimitCapPayload - """The `RlsModule` that was updated by this mutation.""" - rlsModule: RlsModule + """Creates a single `MembershipType`.""" + createMembershipType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateMembershipTypeInput! + ): CreateMembershipTypePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `MigrateFile`.""" + createMigrateFile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateMigrateFileInput! + ): CreateMigrateFilePayload - """An edge for our `RlsModule`. May be used by Relay 1.""" - rlsModuleEdge( - """The method to use when ordering `RlsModule`.""" - orderBy: [RlsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): RlsModuleEdge -} + """Creates a single `DefaultPrivilege`.""" + createDefaultPrivilege( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDefaultPrivilegeInput! + ): CreateDefaultPrivilegePayload -"""All input for the `updateRlsModule` mutation.""" -input UpdateRlsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `ViewGrant`.""" + createViewGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateViewGrantInput! + ): CreateViewGrantPayload - """ - An object where the defined keys will be set on the `RlsModule` being updated. - """ - rlsModulePatch: RlsModulePatch! -} + """Creates a single `Api`.""" + createApi( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateApiInput! + ): CreateApiPayload -""" -Represents an update to a `RlsModule`. Fields that are set will be updated. -""" -input RlsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - sessionCredentialsTableId: UUID - sessionsTableId: UUID - usersTableId: UUID - authenticate: String - authenticateStrict: String - currentRole: String - currentRoleId: String -} + """Creates a single `ConnectedAccountsModule`.""" + createConnectedAccountsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateConnectedAccountsModuleInput! + ): CreateConnectedAccountsModulePayload -"""The output of our update `SessionsModule` mutation.""" -type UpdateSessionsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `DevicesModule`.""" + createDevicesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDevicesModuleInput! + ): CreateDevicesModulePayload - """The `SessionsModule` that was updated by this mutation.""" - sessionsModule: SessionsModule + """Creates a single `EmailsModule`.""" + createEmailsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEmailsModuleInput! + ): CreateEmailsModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `PhoneNumbersModule`.""" + createPhoneNumbersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePhoneNumbersModuleInput! + ): CreatePhoneNumbersModulePayload - """An edge for our `SessionsModule`. May be used by Relay 1.""" - sessionsModuleEdge( - """The method to use when ordering `SessionsModule`.""" - orderBy: [SessionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SessionsModuleEdge -} + """Creates a single `UsersModule`.""" + createUsersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUsersModuleInput! + ): CreateUsersModulePayload -"""All input for the `updateSessionsModule` mutation.""" -input UpdateSessionsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `WebauthnCredentialsModule`.""" + createWebauthnCredentialsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateWebauthnCredentialsModuleInput! + ): CreateWebauthnCredentialsModulePayload - """ - An object where the defined keys will be set on the `SessionsModule` being updated. - """ - sessionsModulePatch: SessionsModulePatch! -} + """Creates a single `OrgAdminGrant`.""" + createOrgAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgAdminGrantInput! + ): CreateOrgAdminGrantPayload -""" -Represents an update to a `SessionsModule`. Fields that are set will be updated. -""" -input SessionsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - authSettingsTableId: UUID - usersTableId: UUID - sessionsDefaultExpiration: IntervalInput - sessionsTable: String - sessionCredentialsTable: String - authSettingsTable: String -} + """Creates a single `OrgOwnerGrant`.""" + createOrgOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgOwnerGrantInput! + ): CreateOrgOwnerGrantPayload -"""The output of our update `OrgGrant` mutation.""" -type UpdateOrgGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `NodeTypeRegistry`.""" + createNodeTypeRegistry( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateNodeTypeRegistryInput! + ): CreateNodeTypeRegistryPayload - """The `OrgGrant` that was updated by this mutation.""" - orgGrant: OrgGrant + """Creates a single `AppLimitDefault`.""" + createAppLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitDefaultInput! + ): CreateAppLimitDefaultPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `OrgLimitDefault`.""" + createOrgLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitDefaultInput! + ): CreateOrgLimitDefaultPayload - """An edge for our `OrgGrant`. May be used by Relay 1.""" - orgGrantEdge( - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgGrantEdge -} + """Creates a single `AppLimitCreditCodeItem`.""" + createAppLimitCreditCodeItem( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditCodeItemInput! + ): CreateAppLimitCreditCodeItemPayload -"""All input for the `updateOrgGrant` mutation.""" -input UpdateOrgGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `UserConnectedAccount`.""" + createUserConnectedAccount( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUserConnectedAccountInput! + ): CreateUserConnectedAccountPayload - """ - An object where the defined keys will be set on the `OrgGrant` being updated. - """ - orgGrantPatch: OrgGrantPatch! -} + """Creates a single `Database`.""" + createDatabase( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDatabaseInput! + ): CreateDatabasePayload -""" -Represents an update to a `OrgGrant`. Fields that are set will be updated. -""" -input OrgGrantPatch { - id: UUID + """Creates a single `CryptoAddressesModule`.""" + createCryptoAddressesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCryptoAddressesModuleInput! + ): CreateCryptoAddressesModulePayload - """Bitmask of permissions being granted or revoked""" - permissions: BitString + """Creates a single `CryptoAddress`.""" + createCryptoAddress( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCryptoAddressInput! + ): CreateCryptoAddressPayload - """True to grant the permissions, false to revoke them""" - isGrant: Boolean + """Creates a single `AgentMessage`.""" + createAgentMessage( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAgentMessageInput! + ): CreateAgentMessagePayload - """The member receiving or losing the permission grant""" - actorId: UUID + """Creates a single `Object`.""" + createObject( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateObjectInput! + ): CreateObjectPayload - """The entity (org or group) this permission grant applies to""" - entityId: UUID - grantorId: UUID - createdAt: Datetime - updatedAt: Datetime -} - -"""The output of our update `AppLevel` mutation.""" -type UpdateAppLevelPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `SiteMetadatum`.""" + createSiteMetadatum( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSiteMetadatumInput! + ): CreateSiteMetadatumPayload - """The `AppLevel` that was updated by this mutation.""" - appLevel: AppLevel + """Creates a single `AppLevelRequirement`.""" + createAppLevelRequirement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLevelRequirementInput! + ): CreateAppLevelRequirementPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `AppLimitCredit`.""" + createAppLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitCreditInput! + ): CreateAppLimitCreditPayload - """An edge for our `AppLevel`. May be used by Relay 1.""" - appLevelEdge( - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelEdge -} + """Creates a single `OrgLimitCredit`.""" + createOrgLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitCreditInput! + ): CreateOrgLimitCreditPayload -"""All input for the `updateAppLevel` mutation.""" -input UpdateAppLevelInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `FullTextSearch`.""" + createFullTextSearch( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateFullTextSearchInput! + ): CreateFullTextSearchPayload - """ - An object where the defined keys will be set on the `AppLevel` being updated. - """ - appLevelPatch: AppLevelPatch! -} + """Creates a single `TableGrant`.""" + createTableGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateTableGrantInput! + ): CreateTableGrantPayload -""" -Represents an update to a `AppLevel`. Fields that are set will be updated. -""" -input AppLevelPatch { - id: UUID + """Creates a single `Commit`.""" + createCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCommitInput! + ): CreateCommitPayload - """Unique name of the level""" - name: String + """Creates a single `PubkeySetting`.""" + createPubkeySetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePubkeySettingInput! + ): CreatePubkeySettingPayload - """Human-readable description of what this level represents""" - description: String + """Creates a single `RateLimitsModule`.""" + createRateLimitsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRateLimitsModuleInput! + ): CreateRateLimitsModulePayload - """Badge or icon image associated with this level""" - image: ConstructiveInternalTypeImage + """Creates a single `OrgChartEdgeGrant`.""" + createOrgChartEdgeGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgChartEdgeGrantInput! + ): CreateOrgChartEdgeGrantPayload - """Optional owner (actor) who created or manages this level""" - ownerId: UUID - createdAt: Datetime - updatedAt: Datetime + """Creates a single `PhoneNumber`.""" + createPhoneNumber( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePhoneNumberInput! + ): CreatePhoneNumberPayload - """Upload for Badge or icon image associated with this level""" - imageUpload: Upload -} + """Creates a single `AppClaimedInvite`.""" + createAppClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppClaimedInviteInput! + ): CreateAppClaimedInvitePayload -"""The output of our update `OrgLimit` mutation.""" -type UpdateOrgLimitPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppMembershipDefault`.""" + createAppMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppMembershipDefaultInput! + ): CreateAppMembershipDefaultPayload - """The `OrgLimit` that was updated by this mutation.""" - orgLimit: OrgLimit + """Creates a single `OrgMembershipDefault`.""" + createOrgMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMembershipDefaultInput! + ): CreateOrgMembershipDefaultPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `AuditLog`.""" + createAuditLog( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAuditLogInput! + ): CreateAuditLogPayload - """An edge for our `OrgLimit`. May be used by Relay 1.""" - orgLimitEdge( - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitEdge -} + """Creates a single `Domain`.""" + createDomain( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDomainInput! + ): CreateDomainPayload -"""All input for the `updateOrgLimit` mutation.""" -input UpdateOrgLimitInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `RlsSetting`.""" + createRlsSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRlsSettingInput! + ): CreateRlsSettingPayload - """ - An object where the defined keys will be set on the `OrgLimit` being updated. - """ - orgLimitPatch: OrgLimitPatch! -} + """Creates a single `AgentTask`.""" + createAgentTask( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAgentTaskInput! + ): CreateAgentTaskPayload -""" -Represents an update to a `OrgLimit`. Fields that are set will be updated. -""" -input OrgLimitPatch { - id: UUID + """Creates a single `AgentThread`.""" + createAgentThread( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAgentThreadInput! + ): CreateAgentThreadPayload - """Name identifier of the limit being tracked""" - name: String + """Creates a single `Email`.""" + createEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEmailInput! + ): CreateEmailPayload - """User whose usage is being tracked against this limit""" - actorId: UUID + """Creates a single `AppGrant`.""" + createAppGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppGrantInput! + ): CreateAppGrantPayload - """Current usage count for this actor and limit""" - num: BigInt + """Creates a single `OrgClaimedInvite`.""" + createOrgClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgClaimedInviteInput! + ): CreateOrgClaimedInvitePayload - """ - Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. - """ - max: BigInt + """Creates a single `AppLimitEvent`.""" + createAppLimitEvent( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitEventInput! + ): CreateAppLimitEventPayload - """ - Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. - """ - softMax: BigInt + """Creates a single `OrgLimitEvent`.""" + createOrgLimitEvent( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitEventInput! + ): CreateOrgLimitEventPayload - """Start of the current metering window; NULL means no time window""" - windowStart: Datetime + """Creates a single `OrgChartEdge`.""" + createOrgChartEdge( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgChartEdgeInput! + ): CreateOrgChartEdgePayload - """ - Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window - """ - windowDuration: IntervalInput - entityId: UUID -} + """Creates a single `Partition`.""" + createPartition( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePartitionInput! + ): CreatePartitionPayload -"""The output of our update `Blueprint` mutation.""" -type UpdateBlueprintPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `BlueprintConstruction`.""" + createBlueprintConstruction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateBlueprintConstructionInput! + ): CreateBlueprintConstructionPayload - """The `Blueprint` that was updated by this mutation.""" - blueprint: Blueprint + """Creates a single `RlsModule`.""" + createRlsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRlsModuleInput! + ): CreateRlsModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `SessionsModule`.""" + createSessionsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSessionsModuleInput! + ): CreateSessionsModulePayload - """An edge for our `Blueprint`. May be used by Relay 1.""" - blueprintEdge( - """The method to use when ordering `Blueprint`.""" - orderBy: [BlueprintOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintEdge -} + """Creates a single `OrgGrant`.""" + createOrgGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgGrantInput! + ): CreateOrgGrantPayload -"""All input for the `updateBlueprint` mutation.""" -input UpdateBlueprintInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Creates a single `AppLevel`.""" + createAppLevel( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLevelInput! + ): CreateAppLevelPayload - """Unique identifier for this blueprint.""" - id: UUID! + """Creates a single `DatabaseSetting`.""" + createDatabaseSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDatabaseSettingInput! + ): CreateDatabaseSettingPayload - """ - An object where the defined keys will be set on the `Blueprint` being updated. - """ - blueprintPatch: BlueprintPatch! -} + """Creates a single `Blueprint`.""" + createBlueprint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateBlueprintInput! + ): CreateBlueprintPayload -""" -Represents an update to a `Blueprint`. Fields that are set will be updated. -""" -input BlueprintPatch { - """Unique identifier for this blueprint.""" - id: UUID + """Creates a single `DenormalizedTableField`.""" + createDenormalizedTableField( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDenormalizedTableFieldInput! + ): CreateDenormalizedTableFieldPayload - """The user who owns this blueprint.""" - ownerId: UUID + """Creates a single `ApiSetting`.""" + createApiSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateApiSettingInput! + ): CreateApiSettingPayload - """ - The database this blueprint is scoped to. Tables created by construct_blueprint() are provisioned in this database. - """ - databaseId: UUID + """Creates a single `PlansModule`.""" + createPlansModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePlansModuleInput! + ): CreatePlansModulePayload - """Machine-readable name for the blueprint. Must be unique per database.""" - name: String + """Creates a single `OrgMemberProfile`.""" + createOrgMemberProfile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMemberProfileInput! + ): CreateOrgMemberProfilePayload - """Human-readable display name for the blueprint.""" - displayName: String + """Creates a single `SqlAction`.""" + createSqlAction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSqlActionInput! + ): CreateSqlActionPayload - """Optional description of the blueprint.""" - description: String + """Creates a single `AppLimit`.""" + createAppLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppLimitInput! + ): CreateAppLimitPayload - """ - The blueprint definition as a JSONB document. Contains tables[] (each with table_name, optional schema_name, nodes[] for data behaviors, fields[], grants[], and policies[] using $type), relations[] (using $type with source_table/target_table and optional source_schema/target_schema), indexes[] (using table_name + column), and full_text_searches[] (using table_name + field + sources[]). Everything is name-based — no UUIDs in the definition. - """ - definition: JSON + """Creates a single `DatabaseTransfer`.""" + createDatabaseTransfer( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDatabaseTransferInput! + ): CreateDatabaseTransferPayload - """ - If this blueprint was created by copying a template, the ID of the source template. NULL if built from scratch. - """ - templateId: UUID + """Creates a single `BillingModule`.""" + createBillingModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateBillingModuleInput! + ): CreateBillingModulePayload - """ - UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication and provenance tracking. Backend-computed — clients should never set this directly. - """ - definitionHash: UUID + """Creates a single `CryptoAuthModule`.""" + createCryptoAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCryptoAuthModuleInput! + ): CreateCryptoAuthModulePayload - """ - JSONB map of table names to their individual UUIDv5 content hashes. Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across blueprints and templates. Backend-computed via trigger. - """ - tableHashes: JSON + """Creates a single `DatabaseProvisionModule`.""" + createDatabaseProvisionModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateDatabaseProvisionModuleInput! + ): CreateDatabaseProvisionModulePayload - """Timestamp when this blueprint was created.""" - createdAt: Datetime + """Creates a single `InvitesModule`.""" + createInvitesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateInvitesModuleInput! + ): CreateInvitesModulePayload - """Timestamp when this blueprint was last modified.""" - updatedAt: Datetime -} + """Creates a single `SecureTableProvision`.""" + createSecureTableProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSecureTableProvisionInput! + ): CreateSecureTableProvisionPayload -"""The output of our update `DenormalizedTableField` mutation.""" -type UpdateDenormalizedTableFieldPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AstMigration`.""" + createAstMigration( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAstMigrationInput! + ): CreateAstMigrationPayload - """The `DenormalizedTableField` that was updated by this mutation.""" - denormalizedTableField: DenormalizedTableField + """Creates a single `OrgLimitAggregate`.""" + createOrgLimitAggregate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitAggregateInput! + ): CreateOrgLimitAggregatePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `OrgLimit`.""" + createOrgLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgLimitInput! + ): CreateOrgLimitPayload - """An edge for our `DenormalizedTableField`. May be used by Relay 1.""" - denormalizedTableFieldEdge( - """The method to use when ordering `DenormalizedTableField`.""" - orderBy: [DenormalizedTableFieldOrderBy!]! = [PRIMARY_KEY_ASC] - ): DenormalizedTableFieldEdge -} + """Creates a single `Enum`.""" + createEnum( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEnumInput! + ): CreateEnumPayload -"""All input for the `updateDenormalizedTableField` mutation.""" -input UpdateDenormalizedTableFieldInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `User`.""" + createUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUserInput! + ): CreateUserPayload - """ - An object where the defined keys will be set on the `DenormalizedTableField` being updated. - """ - denormalizedTableFieldPatch: DenormalizedTableFieldPatch! -} + """Creates a single `View`.""" + createView( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateViewInput! + ): CreateViewPayload -""" -Represents an update to a `DenormalizedTableField`. Fields that are set will be updated. -""" -input DenormalizedTableFieldPatch { - id: UUID - databaseId: UUID - tableId: UUID - fieldId: UUID - setIds: [UUID] - refTableId: UUID - refFieldId: UUID - refIds: [UUID] - useUpdates: Boolean - updateDefaults: Boolean - funcName: String - funcOrder: Int -} + """Creates a single `WebauthnAuthModule`.""" + createWebauthnAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateWebauthnAuthModuleInput! + ): CreateWebauthnAuthModulePayload -"""The output of our update `OrgMemberProfile` mutation.""" -type UpdateOrgMemberProfilePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppInvite`.""" + createAppInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppInviteInput! + ): CreateAppInvitePayload - """The `OrgMemberProfile` that was updated by this mutation.""" - orgMemberProfile: OrgMemberProfile + """Creates a single `OrgMembershipSetting`.""" + createOrgMembershipSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMembershipSettingInput! + ): CreateOrgMembershipSettingPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `App`.""" + createApp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppInput! + ): CreateAppPayload - """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" - orgMemberProfileEdge( - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberProfileEdge -} + """Creates a single `Site`.""" + createSite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSiteInput! + ): CreateSitePayload -"""All input for the `updateOrgMemberProfile` mutation.""" -input UpdateOrgMemberProfileInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `NotificationsModule`.""" + createNotificationsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateNotificationsModuleInput! + ): CreateNotificationsModulePayload - """ - An object where the defined keys will be set on the `OrgMemberProfile` being updated. - """ - orgMemberProfilePatch: OrgMemberProfilePatch! -} + """Creates a single `PermissionsModule`.""" + createPermissionsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePermissionsModuleInput! + ): CreatePermissionsModulePayload -""" -Represents an update to a `OrgMemberProfile`. Fields that are set will be updated. -""" -input OrgMemberProfilePatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime + """Creates a single `WebauthnCredential`.""" + createWebauthnCredential( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateWebauthnCredentialInput! + ): CreateWebauthnCredentialPayload - """References the membership this profile belongs to (1:1)""" - membershipId: UUID + """Creates a single `PrimaryKeyConstraint`.""" + createPrimaryKeyConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePrimaryKeyConstraintInput! + ): CreatePrimaryKeyConstraintPayload - """References the entity this profile belongs to (used for RLS lookups)""" - entityId: UUID + """Creates a single `Trigger`.""" + createTrigger( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateTriggerInput! + ): CreateTriggerPayload - """References the user who owns this profile (for self-edit RLS)""" - actorId: UUID + """Creates a single `CheckConstraint`.""" + createCheckConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateCheckConstraintInput! + ): CreateCheckConstraintPayload - """Display name shown to other entity members""" - displayName: String + """Creates a single `UniqueConstraint`.""" + createUniqueConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUniqueConstraintInput! + ): CreateUniqueConstraintPayload - """ - Email address visible to other entity members (auto-populated from verified primary email) - """ - email: String + """Creates a single `SpatialRelation`.""" + createSpatialRelation( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSpatialRelationInput! + ): CreateSpatialRelationPayload - """Job title or role description visible to other entity members""" - title: String + """Creates a single `Policy`.""" + createPolicy( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreatePolicyInput! + ): CreatePolicyPayload - """Short biography visible to other entity members""" - bio: String + """Creates a single `EmbeddingChunk`.""" + createEmbeddingChunk( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEmbeddingChunkInput! + ): CreateEmbeddingChunkPayload - """Profile picture visible to other entity members""" - profilePicture: ConstructiveInternalTypeImage + """Creates a single `WebauthnSetting`.""" + createWebauthnSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateWebauthnSettingInput! + ): CreateWebauthnSettingPayload - """Upload for Profile picture visible to other entity members""" - profilePictureUpload: Upload -} + """Creates a single `OrgInvite`.""" + createOrgInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgInviteInput! + ): CreateOrgInvitePayload -"""The output of our update `DatabaseTransfer` mutation.""" -type UpdateDatabaseTransferPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `AppMembership`.""" + createAppMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateAppMembershipInput! + ): CreateAppMembershipPayload - """The `DatabaseTransfer` that was updated by this mutation.""" - databaseTransfer: DatabaseTransfer + """Creates a single `Schema`.""" + createSchema( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSchemaInput! + ): CreateSchemaPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `Index`.""" + createIndex( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateIndexInput! + ): CreateIndexPayload - """An edge for our `DatabaseTransfer`. May be used by Relay 1.""" - databaseTransferEdge( - """The method to use when ordering `DatabaseTransfer`.""" - orderBy: [DatabaseTransferOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseTransferEdge -} + """Creates a single `BillingProviderModule`.""" + createBillingProviderModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateBillingProviderModuleInput! + ): CreateBillingProviderModulePayload -"""All input for the `updateDatabaseTransfer` mutation.""" -input UpdateDatabaseTransferInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `BlueprintTemplate`.""" + createBlueprintTemplate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateBlueprintTemplateInput! + ): CreateBlueprintTemplatePayload - """ - An object where the defined keys will be set on the `DatabaseTransfer` being updated. - """ - databaseTransferPatch: DatabaseTransferPatch! -} + """Creates a single `HierarchyModule`.""" + createHierarchyModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateHierarchyModuleInput! + ): CreateHierarchyModulePayload -""" -Represents an update to a `DatabaseTransfer`. Fields that are set will be updated. -""" -input DatabaseTransferPatch { - id: UUID - databaseId: UUID - targetOwnerId: UUID - sourceApproved: Boolean - targetApproved: Boolean - sourceApprovedAt: Datetime - targetApprovedAt: Datetime - status: String - initiatedBy: UUID - notes: String - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime - completedAt: Datetime -} + """Creates a single `ProfilesModule`.""" + createProfilesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateProfilesModuleInput! + ): CreateProfilesModulePayload -"""The output of our update `BillingModule` mutation.""" -type UpdateBillingModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `OrgMembership`.""" + createOrgMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateOrgMembershipInput! + ): CreateOrgMembershipPayload - """The `BillingModule` that was updated by this mutation.""" - billingModule: BillingModule + """Creates a single `ForeignKeyConstraint`.""" + createForeignKeyConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateForeignKeyConstraintInput! + ): CreateForeignKeyConstraintPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `Table`.""" + createTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateTableInput! + ): CreateTablePayload - """An edge for our `BillingModule`. May be used by Relay 1.""" - billingModuleEdge( - """The method to use when ordering `BillingModule`.""" - orderBy: [BillingModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): BillingModuleEdge -} + """Creates a single `RelationProvision`.""" + createRelationProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateRelationProvisionInput! + ): CreateRelationProvisionPayload -"""All input for the `updateBillingModule` mutation.""" -input UpdateBillingModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Creates a single `EntityTypeProvision`.""" + createEntityTypeProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateEntityTypeProvisionInput! + ): CreateEntityTypeProvisionPayload - """ - An object where the defined keys will be set on the `BillingModule` being updated. - """ - billingModulePatch: BillingModulePatch! -} + """Creates a single `LevelsModule`.""" + createLevelsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateLevelsModuleInput! + ): CreateLevelsModulePayload -""" -Represents an update to a `BillingModule`. Fields that are set will be updated. -""" -input BillingModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - metersTableId: UUID - metersTableName: String - planSubscriptionsTableId: UUID - planSubscriptionsTableName: String - ledgerTableId: UUID - ledgerTableName: String - balancesTableId: UUID - balancesTableName: String - recordUsageFunction: String - prefix: String -} + """Creates a single `UserAuthModule`.""" + createUserAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateUserAuthModuleInput! + ): CreateUserAuthModulePayload -"""The output of our update `CryptoAuthModule` mutation.""" -type UpdateCryptoAuthModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Creates a single `Field`.""" + createField( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateFieldInput! + ): CreateFieldPayload - """The `CryptoAuthModule` that was updated by this mutation.""" - cryptoAuthModule: CryptoAuthModule + """Creates a single `LimitsModule`.""" + createLimitsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateLimitsModuleInput! + ): CreateLimitsModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Creates a single `StorageModule`.""" + createStorageModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateStorageModuleInput! + ): CreateStorageModulePayload - """An edge for our `CryptoAuthModule`. May be used by Relay 1.""" - cryptoAuthModuleEdge( - """The method to use when ordering `CryptoAuthModule`.""" - orderBy: [CryptoAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAuthModuleEdge -} + """Creates a single `MembershipsModule`.""" + createMembershipsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateMembershipsModuleInput! + ): CreateMembershipsModulePayload -"""All input for the `updateCryptoAuthModule` mutation.""" -input UpdateCryptoAuthModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Updates a single `DefaultIdsModule` using a unique key and a patch.""" + updateDefaultIdsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDefaultIdsModuleInput! + ): UpdateDefaultIdsModulePayload + + """Updates a single `RoleType` using a unique key and a patch.""" + updateRoleType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRoleTypeInput! + ): UpdateRoleTypePayload """ - An object where the defined keys will be set on the `CryptoAuthModule` being updated. + Updates a single `AppLimitCreditRedemption` using a unique key and a patch. """ - cryptoAuthModulePatch: CryptoAuthModulePatch! -} + updateAppLimitCreditRedemption( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditRedemptionInput! + ): UpdateAppLimitCreditRedemptionPayload -""" -Represents an update to a `CryptoAuthModule`. Fields that are set will be updated. -""" -input CryptoAuthModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - usersTableId: UUID - secretsTableId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - addressesTableId: UUID - userField: String - cryptoNetwork: String - signInRequestChallenge: String - signInRecordFailure: String - signUpWithKey: String - signInWithChallenge: String -} + """Updates a single `Function` using a unique key and a patch.""" + updateFunction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateFunctionInput! + ): UpdateFunctionPayload -"""The output of our update `DatabaseProvisionModule` mutation.""" -type UpdateDatabaseProvisionModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `ViewTable` using a unique key and a patch.""" + updateViewTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateViewTableInput! + ): UpdateViewTablePayload - """The `DatabaseProvisionModule` that was updated by this mutation.""" - databaseProvisionModule: DatabaseProvisionModule + """Updates a single `ApiSchema` using a unique key and a patch.""" + updateApiSchema( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateApiSchemaInput! + ): UpdateApiSchemaPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `CorsSetting` using a unique key and a patch.""" + updateCorsSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCorsSettingInput! + ): UpdateCorsSettingPayload - """An edge for our `DatabaseProvisionModule`. May be used by Relay 1.""" - databaseProvisionModuleEdge( - """The method to use when ordering `DatabaseProvisionModule`.""" - orderBy: [DatabaseProvisionModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseProvisionModuleEdge -} + """Updates a single `OrgMember` using a unique key and a patch.""" + updateOrgMember( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMemberInput! + ): UpdateOrgMemberPayload + + """Updates a single `SiteTheme` using a unique key and a patch.""" + updateSiteTheme( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSiteThemeInput! + ): UpdateSiteThemePayload + + """Updates a single `Ref` using a unique key and a patch.""" + updateRef( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRefInput! + ): UpdateRefPayload + + """Updates a single `Store` using a unique key and a patch.""" + updateStore( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateStoreInput! + ): UpdateStorePayload -"""All input for the `updateDatabaseProvisionModule` mutation.""" -input UpdateDatabaseProvisionModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Updates a single `EncryptedSecretsModule` using a unique key and a patch. """ - clientMutationId: String - id: UUID! + updateEncryptedSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEncryptedSecretsModuleInput! + ): UpdateEncryptedSecretsModulePayload """ - An object where the defined keys will be set on the `DatabaseProvisionModule` being updated. + Updates a single `MembershipTypesModule` using a unique key and a patch. """ - databaseProvisionModulePatch: DatabaseProvisionModulePatch! -} - -""" -Represents an update to a `DatabaseProvisionModule`. Fields that are set will be updated. -""" -input DatabaseProvisionModulePatch { - id: UUID - - """The name for the new database""" - databaseName: String + updateMembershipTypesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateMembershipTypesModuleInput! + ): UpdateMembershipTypesModulePayload - """UUID of the user who owns this database""" - ownerId: UUID + """Updates a single `SecretsModule` using a unique key and a patch.""" + updateSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSecretsModuleInput! + ): UpdateSecretsModulePayload """ - Subdomain prefix for the database. If null, auto-generated using unique_names + random chars + Updates a single `AppPermissionDefault` using a unique key and a patch. """ - subdomain: String + updateAppPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppPermissionDefaultInput! + ): UpdateAppPermissionDefaultPayload - """Base domain for the database (e.g., example.com)""" - domain: String + """Updates a single `ApiModule` using a unique key and a patch.""" + updateApiModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateApiModuleInput! + ): UpdateApiModulePayload - """Array of module IDs to install, or ["all"] for all modules""" - modules: [String] + """Updates a single `SiteModule` using a unique key and a patch.""" + updateSiteModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSiteModuleInput! + ): UpdateSiteModulePayload - """Additional configuration options for provisioning""" - options: JSON + """Updates a single `AppLimitCreditCode` using a unique key and a patch.""" + updateAppLimitCreditCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditCodeInput! + ): UpdateAppLimitCreditCodePayload - """ - When true, copies the owner user and password hash from source database to the newly provisioned database - """ - bootstrapUser: Boolean + """Updates a single `SchemaGrant` using a unique key and a patch.""" + updateSchemaGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSchemaGrantInput! + ): UpdateSchemaGrantPayload - """Current status: pending, in_progress, completed, or failed""" - status: String - errorMessage: String + """Updates a single `TriggerFunction` using a unique key and a patch.""" + updateTriggerFunction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateTriggerFunctionInput! + ): UpdateTriggerFunctionPayload - """The ID of the provisioned database (set by trigger before RLS check)""" - databaseId: UUID - createdAt: Datetime - updatedAt: Datetime - completedAt: Datetime -} + """Updates a single `ViewRule` using a unique key and a patch.""" + updateViewRule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateViewRuleInput! + ): UpdateViewRulePayload -"""The output of our update `InvitesModule` mutation.""" -type UpdateInvitesModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Updates a single `IdentityProvidersModule` using a unique key and a patch. """ - clientMutationId: String - - """The `InvitesModule` that was updated by this mutation.""" - invitesModule: InvitesModule + updateIdentityProvidersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateIdentityProvidersModuleInput! + ): UpdateIdentityProvidersModulePayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Updates a single `SessionSecretsModule` using a unique key and a patch. """ - query: Query + updateSessionSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSessionSecretsModuleInput! + ): UpdateSessionSecretsModulePayload - """An edge for our `InvitesModule`. May be used by Relay 1.""" - invitesModuleEdge( - """The method to use when ordering `InvitesModule`.""" - orderBy: [InvitesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): InvitesModuleEdge -} + """Updates a single `AppAdminGrant` using a unique key and a patch.""" + updateAppAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppAdminGrantInput! + ): UpdateAppAdminGrantPayload -"""All input for the `updateInvitesModule` mutation.""" -input UpdateInvitesModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Updates a single `AppOwnerGrant` using a unique key and a patch.""" + updateAppOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppOwnerGrantInput! + ): UpdateAppOwnerGrantPayload - """ - An object where the defined keys will be set on the `InvitesModule` being updated. - """ - invitesModulePatch: InvitesModulePatch! -} + """Updates a single `AppAchievement` using a unique key and a patch.""" + updateAppAchievement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppAchievementInput! + ): UpdateAppAchievementPayload -""" -Represents an update to a `InvitesModule`. Fields that are set will be updated. -""" -input InvitesModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - emailsTableId: UUID - usersTableId: UUID - invitesTableId: UUID - claimedInvitesTableId: UUID - invitesTableName: String - claimedInvitesTableName: String - submitInviteCodeFunction: String - prefix: String - membershipType: Int - entityTableId: UUID -} + """Updates a single `AppStep` using a unique key and a patch.""" + updateAppStep( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppStepInput! + ): UpdateAppStepPayload -"""The output of our update `SecureTableProvision` mutation.""" -type UpdateSecureTableProvisionPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Updates a single `OrgPermissionDefault` using a unique key and a patch. """ - clientMutationId: String + updateOrgPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgPermissionDefaultInput! + ): UpdateOrgPermissionDefaultPayload - """The `SecureTableProvision` that was updated by this mutation.""" - secureTableProvision: SecureTableProvision + """Updates a single `AppPermission` using a unique key and a patch.""" + updateAppPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppPermissionInput! + ): UpdateAppPermissionPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `OrgPermission` using a unique key and a patch.""" + updateOrgPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgPermissionInput! + ): UpdateOrgPermissionPayload - """An edge for our `SecureTableProvision`. May be used by Relay 1.""" - secureTableProvisionEdge( - """The method to use when ordering `SecureTableProvision`.""" - orderBy: [SecureTableProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): SecureTableProvisionEdge -} + """Updates a single `AppLimitCapsDefault` using a unique key and a patch.""" + updateAppLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCapsDefaultInput! + ): UpdateAppLimitCapsDefaultPayload -"""All input for the `updateSecureTableProvision` mutation.""" -input UpdateSecureTableProvisionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Updates a single `OrgLimitCapsDefault` using a unique key and a patch.""" + updateOrgLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitCapsDefaultInput! + ): UpdateOrgLimitCapsDefaultPayload - """Unique identifier for this provision row.""" - id: UUID! + """Updates a single `AppLimitCap` using a unique key and a patch.""" + updateAppLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCapInput! + ): UpdateAppLimitCapPayload - """ - An object where the defined keys will be set on the `SecureTableProvision` being updated. - """ - secureTableProvisionPatch: SecureTableProvisionPatch! -} + """Updates a single `OrgLimitCap` using a unique key and a patch.""" + updateOrgLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitCapInput! + ): UpdateOrgLimitCapPayload -""" -Represents an update to a `SecureTableProvision`. Fields that are set will be updated. -""" -input SecureTableProvisionPatch { - """Unique identifier for this provision row.""" - id: UUID + """Updates a single `MembershipType` using a unique key and a patch.""" + updateMembershipType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateMembershipTypeInput! + ): UpdateMembershipTypePayload - """The database this provision belongs to. Required.""" - databaseId: UUID + """Updates a single `DefaultPrivilege` using a unique key and a patch.""" + updateDefaultPrivilege( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDefaultPrivilegeInput! + ): UpdateDefaultPrivilegePayload - """ - Target schema for the table. Defaults to uuid_nil(); the trigger resolves this to the app_public schema if not explicitly provided. - """ - schemaId: UUID + """Updates a single `ViewGrant` using a unique key and a patch.""" + updateViewGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateViewGrantInput! + ): UpdateViewGrantPayload - """ - Target table to provision. Defaults to uuid_nil(); the trigger creates or resolves the table via table_name if not explicitly provided. - """ - tableId: UUID + """Updates a single `Api` using a unique key and a patch.""" + updateApi( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateApiInput! + ): UpdateApiPayload """ - Name of the target table. Used to create or look up the table when table_id is not provided. If omitted, it is backfilled from the resolved table. + Updates a single `ConnectedAccountsModule` using a unique key and a patch. """ - tableName: String + updateConnectedAccountsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateConnectedAccountsModuleInput! + ): UpdateConnectedAccountsModulePayload - """ - Array of node objects to apply to the table. Each element is a jsonb object with a required "$type" key (one of: DataId, DataDirectOwner, DataEntityMembership, DataOwnershipInEntity, DataTimestamps, DataPeoplestamps, DataPublishable, DataSoftDelete, DataEmbedding, DataFullTextSearch, DataSlug, etc.) and an optional "data" key containing generator-specific configuration. Supports multiple nodes per row, matching the blueprint definition format. Example: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. Defaults to '[]' (no node processing). - """ - nodes: JSON + """Updates a single `DevicesModule` using a unique key and a patch.""" + updateDevicesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDevicesModuleInput! + ): UpdateDevicesModulePayload - """ - If true and Row Level Security is not yet enabled on the target table, enable it. Automatically set to true by the trigger when policies[] is non-empty. Defaults to true. - """ - useRls: Boolean + """Updates a single `EmailsModule` using a unique key and a patch.""" + updateEmailsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEmailsModuleInput! + ): UpdateEmailsModulePayload - """ - PostgreSQL array of jsonb field definition objects to create on the target table. Each object has keys: "name" (text, required), "type" (text, required), "default" (text, optional), "is_required" (boolean, optional, defaults to false), "min" (float, optional), "max" (float, optional), "regexp" (text, optional), "index" (boolean, optional, defaults to false — creates a btree index on the field). min/max generate CHECK constraints: for text/citext they constrain character_length, for integer/float types they constrain the value. regexp generates a CHECK (col ~ pattern) constraint for text/citext. Fields are created via metaschema.create_field() after any node_type generator runs, and their IDs are appended to out_fields. Example: ARRAY['{"name":"username","type":"citext","max":256,"regexp":"^[a-z0-9_]+$"}'::jsonb, '{"name":"score","type":"integer","min":0,"max":100}'::jsonb]. Defaults to '{}' (no additional fields). - """ - fields: [JSON] + """Updates a single `PhoneNumbersModule` using a unique key and a patch.""" + updatePhoneNumbersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePhoneNumbersModuleInput! + ): UpdatePhoneNumbersModulePayload - """ - Array of grant objects defining table privileges. Each element is a jsonb object with keys: "roles" (text[], required — database roles to grant to, e.g. ["authenticated","admin"]), "privileges" (jsonb[], required — array of [privilege, columns] tuples, e.g. [["select","*"],["insert","*"]]). "*" means all columns; an array means column-level grant. Supports per-role privilege targeting: different grant entries can target different roles with different privileges. Example: [{"roles":["authenticated"],"privileges":[["select","*"]]},{"roles":["admin"],"privileges":[["insert","*"],["update","*"],["delete","*"]]}]. Defaults to '[]' (no grants). When policies[] omit explicit privileges/policy_role, they fall back to the verbs and first role from grants[]. - """ - grants: JSON + """Updates a single `UsersModule` using a unique key and a patch.""" + updateUsersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateUsersModuleInput! + ): UpdateUsersModulePayload """ - Array of policy objects to create on the target table. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type, e.g. AuthzEntityMembership, AuthzMembership, AuthzDirectOwner, AuthzPublishable, AuthzAllowAll), "data" (jsonb, optional — opaque configuration passed to metaschema.create_policy(), structure varies by type), "privileges" (text[], optional — privileges the policy applies to, e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — role the policy targets; if omitted, falls back to first role in first grants[] entry, or 'authenticated' if no grants), "permissive" (boolean, optional — PERMISSIVE or RESTRICTIVE; defaults to true), "policy_name" (text, optional — custom suffix for the generated policy name; if omitted, auto-derived from $type by stripping Authz prefix). Supports multiple policies per row. Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "owner_id", "membership_type": 3}, "privileges": ["select", "insert"]}, {"$type": "AuthzDirectOwner", "data": {"entity_field": "actor_id"}, "privileges": ["update", "delete"]}]. Defaults to '[]' (no policies created). When non-empty, the trigger automatically enables RLS. + Updates a single `WebauthnCredentialsModule` using a unique key and a patch. """ - policies: JSON + updateWebauthnCredentialsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateWebauthnCredentialsModuleInput! + ): UpdateWebauthnCredentialsModulePayload - """ - Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. - """ - outFields: [UUID] -} + """Updates a single `OrgAdminGrant` using a unique key and a patch.""" + updateOrgAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgAdminGrantInput! + ): UpdateOrgAdminGrantPayload -"""The output of our update `Enum` mutation.""" -type UpdateEnumPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `OrgOwnerGrant` using a unique key and a patch.""" + updateOrgOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgOwnerGrantInput! + ): UpdateOrgOwnerGrantPayload - """The `Enum` that was updated by this mutation.""" - enum: Enum + """Updates a single `NodeTypeRegistry` using a unique key and a patch.""" + updateNodeTypeRegistry( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateNodeTypeRegistryInput! + ): UpdateNodeTypeRegistryPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `AppLimitDefault` using a unique key and a patch.""" + updateAppLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitDefaultInput! + ): UpdateAppLimitDefaultPayload - """An edge for our `Enum`. May be used by Relay 1.""" - enumEdge( - """The method to use when ordering `Enum`.""" - orderBy: [EnumOrderBy!]! = [PRIMARY_KEY_ASC] - ): EnumEdge -} + """Updates a single `OrgLimitDefault` using a unique key and a patch.""" + updateOrgLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitDefaultInput! + ): UpdateOrgLimitDefaultPayload -"""All input for the `updateEnum` mutation.""" -input UpdateEnumInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. """ - clientMutationId: String - id: UUID! - + Updates a single `AppLimitCreditCodeItem` using a unique key and a patch. """ - An object where the defined keys will be set on the `Enum` being updated. - """ - enumPatch: EnumPatch! -} + updateAppLimitCreditCodeItem( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditCodeItemInput! + ): UpdateAppLimitCreditCodeItemPayload -"""Represents an update to a `Enum`. Fields that are set will be updated.""" -input EnumPatch { - id: UUID - databaseId: UUID - schemaId: UUID - name: String - label: String - description: String - values: [String] - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] -} + """Updates a single `Database` using a unique key and a patch.""" + updateDatabase( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDatabaseInput! + ): UpdateDatabasePayload -"""The output of our update `User` mutation.""" -type UpdateUserPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Updates a single `CryptoAddressesModule` using a unique key and a patch. """ - clientMutationId: String - - """The `User` that was updated by this mutation.""" - user: User + updateCryptoAddressesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCryptoAddressesModuleInput! + ): UpdateCryptoAddressesModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `CryptoAddress` using a unique key and a patch.""" + updateCryptoAddress( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCryptoAddressInput! + ): UpdateCryptoAddressPayload - """An edge for our `User`. May be used by Relay 1.""" - userEdge( - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserEdge -} + """Updates a single `AgentMessage` using a unique key and a patch.""" + updateAgentMessage( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAgentMessageInput! + ): UpdateAgentMessagePayload -"""All input for the `updateUser` mutation.""" -input UpdateUserInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Updates a single `Object` using a unique key and a patch.""" + updateObject( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateObjectInput! + ): UpdateObjectPayload - """ - An object where the defined keys will be set on the `User` being updated. - """ - userPatch: UserPatch! -} + """Updates a single `SiteMetadatum` using a unique key and a patch.""" + updateSiteMetadatum( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSiteMetadatumInput! + ): UpdateSiteMetadatumPayload -"""Represents an update to a `User`. Fields that are set will be updated.""" -input UserPatch { - id: UUID - username: String - displayName: String - profilePicture: ConstructiveInternalTypeImage - type: Int - createdAt: Datetime - updatedAt: Datetime + """Updates a single `AppLevelRequirement` using a unique key and a patch.""" + updateAppLevelRequirement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLevelRequirementInput! + ): UpdateAppLevelRequirementPayload - """File upload for the `profilePicture` field.""" - profilePictureUpload: Upload -} + """Updates a single `AppLimitCredit` using a unique key and a patch.""" + updateAppLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitCreditInput! + ): UpdateAppLimitCreditPayload -"""The output of our update `View` mutation.""" -type UpdateViewPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `OrgLimitCredit` using a unique key and a patch.""" + updateOrgLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitCreditInput! + ): UpdateOrgLimitCreditPayload - """The `View` that was updated by this mutation.""" - view: View + """Updates a single `FullTextSearch` using a unique key and a patch.""" + updateFullTextSearch( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateFullTextSearchInput! + ): UpdateFullTextSearchPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `TableGrant` using a unique key and a patch.""" + updateTableGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateTableGrantInput! + ): UpdateTableGrantPayload - """An edge for our `View`. May be used by Relay 1.""" - viewEdge( - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewEdge -} + """Updates a single `Commit` using a unique key and a patch.""" + updateCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCommitInput! + ): UpdateCommitPayload -"""All input for the `updateView` mutation.""" -input UpdateViewInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Updates a single `PubkeySetting` using a unique key and a patch.""" + updatePubkeySetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePubkeySettingInput! + ): UpdatePubkeySettingPayload - """ - An object where the defined keys will be set on the `View` being updated. - """ - viewPatch: ViewPatch! -} + """Updates a single `RateLimitsModule` using a unique key and a patch.""" + updateRateLimitsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRateLimitsModuleInput! + ): UpdateRateLimitsModulePayload -"""Represents an update to a `View`. Fields that are set will be updated.""" -input ViewPatch { - id: UUID - databaseId: UUID - schemaId: UUID - name: String - tableId: UUID - viewType: String - data: JSON - filterType: String - filterData: JSON - securityInvoker: Boolean - isReadOnly: Boolean - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] -} + """Updates a single `OrgChartEdgeGrant` using a unique key and a patch.""" + updateOrgChartEdgeGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgChartEdgeGrantInput! + ): UpdateOrgChartEdgeGrantPayload -"""The output of our update `WebauthnAuthModule` mutation.""" -type UpdateWebauthnAuthModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `PhoneNumber` using a unique key and a patch.""" + updatePhoneNumber( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePhoneNumberInput! + ): UpdatePhoneNumberPayload - """The `WebauthnAuthModule` that was updated by this mutation.""" - webauthnAuthModule: WebauthnAuthModule + """Updates a single `AppClaimedInvite` using a unique key and a patch.""" + updateAppClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppClaimedInviteInput! + ): UpdateAppClaimedInvitePayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Updates a single `AppMembershipDefault` using a unique key and a patch. """ - query: Query - - """An edge for our `WebauthnAuthModule`. May be used by Relay 1.""" - webauthnAuthModuleEdge( - """The method to use when ordering `WebauthnAuthModule`.""" - orderBy: [WebauthnAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnAuthModuleEdge -} + updateAppMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppMembershipDefaultInput! + ): UpdateAppMembershipDefaultPayload -"""All input for the `updateWebauthnAuthModule` mutation.""" -input UpdateWebauthnAuthModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Updates a single `OrgMembershipDefault` using a unique key and a patch. """ - clientMutationId: String - id: UUID! + updateOrgMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMembershipDefaultInput! + ): UpdateOrgMembershipDefaultPayload - """ - An object where the defined keys will be set on the `WebauthnAuthModule` being updated. - """ - webauthnAuthModulePatch: WebauthnAuthModulePatch! -} + """Updates a single `AuditLog` using a unique key and a patch.""" + updateAuditLog( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAuditLogInput! + ): UpdateAuditLogPayload -""" -Represents an update to a `WebauthnAuthModule`. Fields that are set will be updated. -""" -input WebauthnAuthModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - usersTableId: UUID - credentialsTableId: UUID - sessionsTableId: UUID - sessionCredentialsTableId: UUID - sessionSecretsTableId: UUID - authSettingsTableId: UUID - rpId: String - rpName: String - originAllowlist: [String] - attestationType: String - requireUserVerification: Boolean - residentKey: String - challengeExpiry: IntervalInput -} + """Updates a single `Domain` using a unique key and a patch.""" + updateDomain( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDomainInput! + ): UpdateDomainPayload -"""The output of our update `AppInvite` mutation.""" -type UpdateAppInvitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `RlsSetting` using a unique key and a patch.""" + updateRlsSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRlsSettingInput! + ): UpdateRlsSettingPayload - """The `AppInvite` that was updated by this mutation.""" - appInvite: AppInvite + """Updates a single `AgentTask` using a unique key and a patch.""" + updateAgentTask( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAgentTaskInput! + ): UpdateAgentTaskPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `AgentThread` using a unique key and a patch.""" + updateAgentThread( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAgentThreadInput! + ): UpdateAgentThreadPayload - """An edge for our `AppInvite`. May be used by Relay 1.""" - appInviteEdge( - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppInviteEdge -} + """Updates a single `Email` using a unique key and a patch.""" + updateEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEmailInput! + ): UpdateEmailPayload -"""All input for the `updateAppInvite` mutation.""" -input UpdateAppInviteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Updates a single `AppGrant` using a unique key and a patch.""" + updateAppGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppGrantInput! + ): UpdateAppGrantPayload - """ - An object where the defined keys will be set on the `AppInvite` being updated. - """ - appInvitePatch: AppInvitePatch! -} + """Updates a single `OrgClaimedInvite` using a unique key and a patch.""" + updateOrgClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgClaimedInviteInput! + ): UpdateOrgClaimedInvitePayload -""" -Represents an update to a `AppInvite`. Fields that are set will be updated. -""" -input AppInvitePatch { - id: UUID + """Updates a single `OrgChartEdge` using a unique key and a patch.""" + updateOrgChartEdge( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgChartEdgeInput! + ): UpdateOrgChartEdgePayload - """Email address of the invited recipient""" - email: ConstructiveInternalTypeEmail + """Updates a single `Partition` using a unique key and a patch.""" + updatePartition( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePartitionInput! + ): UpdatePartitionPayload - """User ID of the member who sent this invitation""" - senderId: UUID + """ + Updates a single `BlueprintConstruction` using a unique key and a patch. + """ + updateBlueprintConstruction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateBlueprintConstructionInput! + ): UpdateBlueprintConstructionPayload - """Unique random hex token used to redeem this invitation""" - inviteToken: String + """Updates a single `RlsModule` using a unique key and a patch.""" + updateRlsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRlsModuleInput! + ): UpdateRlsModulePayload - """Whether this invitation is still valid and can be redeemed""" - inviteValid: Boolean + """Updates a single `SessionsModule` using a unique key and a patch.""" + updateSessionsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSessionsModuleInput! + ): UpdateSessionsModulePayload - """Maximum number of times this invite can be claimed; -1 means unlimited""" - inviteLimit: Int + """Updates a single `OrgGrant` using a unique key and a patch.""" + updateOrgGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgGrantInput! + ): UpdateOrgGrantPayload - """Running count of how many times this invite has been claimed""" - inviteCount: Int + """Updates a single `AppLevel` using a unique key and a patch.""" + updateAppLevel( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLevelInput! + ): UpdateAppLevelPayload - """Whether this invite can be claimed by multiple recipients""" - multiple: Boolean + """Updates a single `DatabaseSetting` using a unique key and a patch.""" + updateDatabaseSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDatabaseSettingInput! + ): UpdateDatabaseSettingPayload - """Optional JSON payload of additional invite metadata""" - data: JSON + """Updates a single `Blueprint` using a unique key and a patch.""" + updateBlueprint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateBlueprintInput! + ): UpdateBlueprintPayload """ - Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + Updates a single `DenormalizedTableField` using a unique key and a patch. """ - profileId: UUID - - """Timestamp after which this invitation can no longer be redeemed""" - expiresAt: Datetime - createdAt: Datetime - updatedAt: Datetime -} + updateDenormalizedTableField( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDenormalizedTableFieldInput! + ): UpdateDenormalizedTableFieldPayload -"""The output of our update `OrgMembershipSetting` mutation.""" -type UpdateOrgMembershipSettingPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `ApiSetting` using a unique key and a patch.""" + updateApiSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateApiSettingInput! + ): UpdateApiSettingPayload - """The `OrgMembershipSetting` that was updated by this mutation.""" - orgMembershipSetting: OrgMembershipSetting + """Updates a single `PlansModule` using a unique key and a patch.""" + updatePlansModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePlansModuleInput! + ): UpdatePlansModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Updates a single `OrgMemberProfile` using a unique key and a patch.""" + updateOrgMemberProfile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMemberProfileInput! + ): UpdateOrgMemberProfilePayload - """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" - orgMembershipSettingEdge( - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingEdge -} + """Updates a single `AppLimit` using a unique key and a patch.""" + updateAppLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppLimitInput! + ): UpdateAppLimitPayload -"""All input for the `updateOrgMembershipSetting` mutation.""" -input UpdateOrgMembershipSettingInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! - - """ - An object where the defined keys will be set on the `OrgMembershipSetting` being updated. - """ - orgMembershipSettingPatch: OrgMembershipSettingPatch! -} + """Updates a single `DatabaseTransfer` using a unique key and a patch.""" + updateDatabaseTransfer( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDatabaseTransferInput! + ): UpdateDatabaseTransferPayload -""" -Represents an update to a `OrgMembershipSetting`. Fields that are set will be updated. -""" -input OrgMembershipSettingPatch { - id: UUID - createdAt: Datetime - updatedAt: Datetime - createdBy: UUID - updatedBy: UUID + """Updates a single `BillingModule` using a unique key and a patch.""" + updateBillingModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateBillingModuleInput! + ): UpdateBillingModulePayload - """References the entity these settings apply to""" - entityId: UUID + """Updates a single `CryptoAuthModule` using a unique key and a patch.""" + updateCryptoAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCryptoAuthModuleInput! + ): UpdateCryptoAuthModulePayload """ - When a member is deleted, whether to cascade-remove their descendant-entity memberships + Updates a single `DatabaseProvisionModule` using a unique key and a patch. """ - deleteMemberCascadeChildren: Boolean + updateDatabaseProvisionModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateDatabaseProvisionModuleInput! + ): UpdateDatabaseProvisionModulePayload - """ - When a child entity is created, whether to auto-add existing org-level owners as child-entity owners - """ - createChildCascadeOwners: Boolean + """Updates a single `InvitesModule` using a unique key and a patch.""" + updateInvitesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateInvitesModuleInput! + ): UpdateInvitesModulePayload """ - When a child entity is created, whether to auto-add existing org-level admins as child-entity admins + Updates a single `SecureTableProvision` using a unique key and a patch. """ - createChildCascadeAdmins: Boolean + updateSecureTableProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSecureTableProvisionInput! + ): UpdateSecureTableProvisionPayload - """ - When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members - """ - createChildCascadeMembers: Boolean + """Updates a single `OrgLimitAggregate` using a unique key and a patch.""" + updateOrgLimitAggregate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitAggregateInput! + ): UpdateOrgLimitAggregatePayload - """ - Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) - """ - allowExternalMembers: Boolean + """Updates a single `OrgLimit` using a unique key and a patch.""" + updateOrgLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgLimitInput! + ): UpdateOrgLimitPayload - """ - Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) - """ - inviteProfileAssignmentMode: String + """Updates a single `Enum` using a unique key and a patch.""" + updateEnum( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEnumInput! + ): UpdateEnumPayload - """ - Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. - """ - populateMemberEmail: Boolean + """Updates a single `User` using a unique key and a patch.""" + updateUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateUserInput! + ): UpdateUserPayload - """ - Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) - """ - limitAllocationMode: String -} + """Updates a single `View` using a unique key and a patch.""" + updateView( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateViewInput! + ): UpdateViewPayload -"""The output of our update `App` mutation.""" -type UpdateAppPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `WebauthnAuthModule` using a unique key and a patch.""" + updateWebauthnAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateWebauthnAuthModuleInput! + ): UpdateWebauthnAuthModulePayload - """The `App` that was updated by this mutation.""" - app: App + """Updates a single `AppInvite` using a unique key and a patch.""" + updateAppInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppInviteInput! + ): UpdateAppInvitePayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Updates a single `OrgMembershipSetting` using a unique key and a patch. """ - query: Query + updateOrgMembershipSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMembershipSettingInput! + ): UpdateOrgMembershipSettingPayload - """An edge for our `App`. May be used by Relay 1.""" - appEdge( - """The method to use when ordering `App`.""" - orderBy: [AppOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppEdge -} + """Updates a single `App` using a unique key and a patch.""" + updateApp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppInput! + ): UpdateAppPayload -"""All input for the `updateApp` mutation.""" -input UpdateAppInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Updates a single `Site` using a unique key and a patch.""" + updateSite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSiteInput! + ): UpdateSitePayload - """Unique identifier for this app""" - id: UUID! + """Updates a single `NotificationsModule` using a unique key and a patch.""" + updateNotificationsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateNotificationsModuleInput! + ): UpdateNotificationsModulePayload + + """Updates a single `PermissionsModule` using a unique key and a patch.""" + updatePermissionsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePermissionsModuleInput! + ): UpdatePermissionsModulePayload + + """Updates a single `WebauthnCredential` using a unique key and a patch.""" + updateWebauthnCredential( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateWebauthnCredentialInput! + ): UpdateWebauthnCredentialPayload """ - An object where the defined keys will be set on the `App` being updated. + Updates a single `PrimaryKeyConstraint` using a unique key and a patch. """ - appPatch: AppPatch! -} - -"""Represents an update to a `App`. Fields that are set will be updated.""" -input AppPatch { - """Unique identifier for this app""" - id: UUID + updatePrimaryKeyConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePrimaryKeyConstraintInput! + ): UpdatePrimaryKeyConstraintPayload - """Reference to the metaschema database this app belongs to""" - databaseId: UUID + """Updates a single `Trigger` using a unique key and a patch.""" + updateTrigger( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateTriggerInput! + ): UpdateTriggerPayload - """Site this app is associated with (one app per site)""" - siteId: UUID + """Updates a single `CheckConstraint` using a unique key and a patch.""" + updateCheckConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateCheckConstraintInput! + ): UpdateCheckConstraintPayload - """Display name of the app""" - name: String + """Updates a single `UniqueConstraint` using a unique key and a patch.""" + updateUniqueConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateUniqueConstraintInput! + ): UpdateUniqueConstraintPayload - """App icon or promotional image""" - appImage: ConstructiveInternalTypeImage + """Updates a single `SpatialRelation` using a unique key and a patch.""" + updateSpatialRelation( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSpatialRelationInput! + ): UpdateSpatialRelationPayload - """URL to the Apple App Store listing""" - appStoreLink: ConstructiveInternalTypeUrl + """Updates a single `Policy` using a unique key and a patch.""" + updatePolicy( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdatePolicyInput! + ): UpdatePolicyPayload - """Apple App Store application identifier""" - appStoreId: String + """Updates a single `EmbeddingChunk` using a unique key and a patch.""" + updateEmbeddingChunk( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEmbeddingChunkInput! + ): UpdateEmbeddingChunkPayload - """ - Apple App ID prefix (Team ID) for universal links and associated domains - """ - appIdPrefix: String + """Updates a single `WebauthnSetting` using a unique key and a patch.""" + updateWebauthnSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateWebauthnSettingInput! + ): UpdateWebauthnSettingPayload - """URL to the Google Play Store listing""" - playStoreLink: ConstructiveInternalTypeUrl + """Updates a single `OrgInvite` using a unique key and a patch.""" + updateOrgInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgInviteInput! + ): UpdateOrgInvitePayload - """Upload for App icon or promotional image""" - appImageUpload: Upload -} + """Updates a single `AppMembership` using a unique key and a patch.""" + updateAppMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateAppMembershipInput! + ): UpdateAppMembershipPayload -"""The output of our update `Site` mutation.""" -type UpdateSitePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Updates a single `Schema` using a unique key and a patch.""" + updateSchema( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSchemaInput! + ): UpdateSchemaPayload - """The `Site` that was updated by this mutation.""" - site: Site + """Updates a single `Index` using a unique key and a patch.""" + updateIndex( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateIndexInput! + ): UpdateIndexPayload """ - Our root query field type. Allows us to run any query from our mutation payload. + Updates a single `BillingProviderModule` using a unique key and a patch. """ - query: Query + updateBillingProviderModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateBillingProviderModuleInput! + ): UpdateBillingProviderModulePayload - """An edge for our `Site`. May be used by Relay 1.""" - siteEdge( - """The method to use when ordering `Site`.""" - orderBy: [SiteOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteEdge -} + """Updates a single `BlueprintTemplate` using a unique key and a patch.""" + updateBlueprintTemplate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateBlueprintTemplateInput! + ): UpdateBlueprintTemplatePayload -"""All input for the `updateSite` mutation.""" -input UpdateSiteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Updates a single `HierarchyModule` using a unique key and a patch.""" + updateHierarchyModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateHierarchyModuleInput! + ): UpdateHierarchyModulePayload - """Unique identifier for this site""" - id: UUID! + """Updates a single `ProfilesModule` using a unique key and a patch.""" + updateProfilesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateProfilesModuleInput! + ): UpdateProfilesModulePayload + + """Updates a single `OrgMembership` using a unique key and a patch.""" + updateOrgMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateOrgMembershipInput! + ): UpdateOrgMembershipPayload """ - An object where the defined keys will be set on the `Site` being updated. + Updates a single `ForeignKeyConstraint` using a unique key and a patch. """ - sitePatch: SitePatch! -} - -"""Represents an update to a `Site`. Fields that are set will be updated.""" -input SitePatch { - """Unique identifier for this site""" - id: UUID - - """Reference to the metaschema database this site belongs to""" - databaseId: UUID + updateForeignKeyConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateForeignKeyConstraintInput! + ): UpdateForeignKeyConstraintPayload - """Display title for the site (max 120 characters)""" - title: String + """Updates a single `Table` using a unique key and a patch.""" + updateTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateTableInput! + ): UpdateTablePayload - """Short description of the site (max 120 characters)""" - description: String + """Updates a single `RelationProvision` using a unique key and a patch.""" + updateRelationProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateRelationProvisionInput! + ): UpdateRelationProvisionPayload - """Open Graph image used for social media link previews""" - ogImage: ConstructiveInternalTypeImage + """Updates a single `EntityTypeProvision` using a unique key and a patch.""" + updateEntityTypeProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateEntityTypeProvisionInput! + ): UpdateEntityTypeProvisionPayload - """Browser favicon attachment""" - favicon: ConstructiveInternalTypeAttachment + """Updates a single `LevelsModule` using a unique key and a patch.""" + updateLevelsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateLevelsModuleInput! + ): UpdateLevelsModulePayload - """Apple touch icon for iOS home screen bookmarks""" - appleTouchIcon: ConstructiveInternalTypeImage + """Updates a single `UserAuthModule` using a unique key and a patch.""" + updateUserAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateUserAuthModuleInput! + ): UpdateUserAuthModulePayload - """Primary logo image for the site""" - logo: ConstructiveInternalTypeImage + """Updates a single `Field` using a unique key and a patch.""" + updateField( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateFieldInput! + ): UpdateFieldPayload - """PostgreSQL database name this site connects to""" - dbname: String + """Updates a single `LimitsModule` using a unique key and a patch.""" + updateLimitsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateLimitsModuleInput! + ): UpdateLimitsModulePayload - """Upload for Open Graph image used for social media link previews""" - ogImageUpload: Upload + """Updates a single `StorageModule` using a unique key and a patch.""" + updateStorageModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateStorageModuleInput! + ): UpdateStorageModulePayload - """Upload for Browser favicon attachment""" - faviconUpload: Upload + """Updates a single `MembershipsModule` using a unique key and a patch.""" + updateMembershipsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateMembershipsModuleInput! + ): UpdateMembershipsModulePayload - """Upload for Apple touch icon for iOS home screen bookmarks""" - appleTouchIconUpload: Upload + """Deletes a single `DefaultIdsModule` using a unique key.""" + deleteDefaultIdsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDefaultIdsModuleInput! + ): DeleteDefaultIdsModulePayload - """Upload for Primary logo image for the site""" - logoUpload: Upload -} + """Deletes a single `RoleType` using a unique key.""" + deleteRoleType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRoleTypeInput! + ): DeleteRoleTypePayload -"""The output of our update `NotificationsModule` mutation.""" -type UpdateNotificationsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `AppLimitCreditRedemption` using a unique key.""" + deleteAppLimitCreditRedemption( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditRedemptionInput! + ): DeleteAppLimitCreditRedemptionPayload - """The `NotificationsModule` that was updated by this mutation.""" - notificationsModule: NotificationsModule + """Deletes a single `Function` using a unique key.""" + deleteFunction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteFunctionInput! + ): DeleteFunctionPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `NotificationsModule`. May be used by Relay 1.""" - notificationsModuleEdge( - """The method to use when ordering `NotificationsModule`.""" - orderBy: [NotificationsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): NotificationsModuleEdge -} + """Deletes a single `ViewTable` using a unique key.""" + deleteViewTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteViewTableInput! + ): DeleteViewTablePayload -"""All input for the `updateNotificationsModule` mutation.""" -input UpdateNotificationsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Deletes a single `ApiSchema` using a unique key.""" + deleteApiSchema( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteApiSchemaInput! + ): DeleteApiSchemaPayload - """ - An object where the defined keys will be set on the `NotificationsModule` being updated. - """ - notificationsModulePatch: NotificationsModulePatch! -} + """Deletes a single `CorsSetting` using a unique key.""" + deleteCorsSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCorsSettingInput! + ): DeleteCorsSettingPayload -""" -Represents an update to a `NotificationsModule`. Fields that are set will be updated. -""" -input NotificationsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - notificationsTableId: UUID - readStateTableId: UUID - preferencesTableId: UUID - channelsTableId: UUID - deliveryLogTableId: UUID - ownerTableId: UUID - userSettingsTableId: UUID - organizationSettingsTableId: UUID - hasChannels: Boolean - hasPreferences: Boolean - hasSettingsExtension: Boolean - hasDigestMetadata: Boolean - hasSubscriptions: Boolean -} + """Deletes a single `OrgMember` using a unique key.""" + deleteOrgMember( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMemberInput! + ): DeleteOrgMemberPayload -"""The output of our update `PermissionsModule` mutation.""" -type UpdatePermissionsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `SiteTheme` using a unique key.""" + deleteSiteTheme( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSiteThemeInput! + ): DeleteSiteThemePayload - """The `PermissionsModule` that was updated by this mutation.""" - permissionsModule: PermissionsModule + """Deletes a single `Ref` using a unique key.""" + deleteRef( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRefInput! + ): DeleteRefPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `Store` using a unique key.""" + deleteStore( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteStoreInput! + ): DeleteStorePayload - """An edge for our `PermissionsModule`. May be used by Relay 1.""" - permissionsModuleEdge( - """The method to use when ordering `PermissionsModule`.""" - orderBy: [PermissionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PermissionsModuleEdge -} + """Deletes a single `EncryptedSecretsModule` using a unique key.""" + deleteEncryptedSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEncryptedSecretsModuleInput! + ): DeleteEncryptedSecretsModulePayload -"""All input for the `updatePermissionsModule` mutation.""" -input UpdatePermissionsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Deletes a single `MembershipTypesModule` using a unique key.""" + deleteMembershipTypesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteMembershipTypesModuleInput! + ): DeleteMembershipTypesModulePayload - """ - An object where the defined keys will be set on the `PermissionsModule` being updated. - """ - permissionsModulePatch: PermissionsModulePatch! -} + """Deletes a single `SecretsModule` using a unique key.""" + deleteSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSecretsModuleInput! + ): DeleteSecretsModulePayload -""" -Represents an update to a `PermissionsModule`. Fields that are set will be updated. -""" -input PermissionsModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - tableId: UUID - tableName: String - defaultTableId: UUID - defaultTableName: String - bitlen: Int - membershipType: Int - entityTableId: UUID - actorTableId: UUID - prefix: String - getPaddedMask: String - getMask: String - getByMask: String - getMaskByName: String -} + """Deletes a single `AppPermissionDefault` using a unique key.""" + deleteAppPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppPermissionDefaultInput! + ): DeleteAppPermissionDefaultPayload -"""The output of our update `WebauthnCredential` mutation.""" -type UpdateWebauthnCredentialPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `ApiModule` using a unique key.""" + deleteApiModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteApiModuleInput! + ): DeleteApiModulePayload - """The `WebauthnCredential` that was updated by this mutation.""" - webauthnCredential: WebauthnCredential + """Deletes a single `SiteModule` using a unique key.""" + deleteSiteModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSiteModuleInput! + ): DeleteSiteModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `AppLimitCreditCode` using a unique key.""" + deleteAppLimitCreditCode( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditCodeInput! + ): DeleteAppLimitCreditCodePayload - """An edge for our `WebauthnCredential`. May be used by Relay 1.""" - webauthnCredentialEdge( - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialEdge -} + """Deletes a single `SchemaGrant` using a unique key.""" + deleteSchemaGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSchemaGrantInput! + ): DeleteSchemaGrantPayload -"""All input for the `updateWebauthnCredential` mutation.""" -input UpdateWebauthnCredentialInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Deletes a single `TriggerFunction` using a unique key.""" + deleteTriggerFunction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteTriggerFunctionInput! + ): DeleteTriggerFunctionPayload - """ - An object where the defined keys will be set on the `WebauthnCredential` being updated. - """ - webauthnCredentialPatch: WebauthnCredentialPatch! -} + """Deletes a single `ViewRule` using a unique key.""" + deleteViewRule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteViewRuleInput! + ): DeleteViewRulePayload -""" -Represents an update to a `WebauthnCredential`. Fields that are set will be updated. -""" -input WebauthnCredentialPatch { - id: UUID - ownerId: UUID + """Deletes a single `IdentityProvidersModule` using a unique key.""" + deleteIdentityProvidersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteIdentityProvidersModuleInput! + ): DeleteIdentityProvidersModulePayload - """ - Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. - """ - credentialId: String + """Deletes a single `SessionSecretsModule` using a unique key.""" + deleteSessionSecretsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSessionSecretsModuleInput! + ): DeleteSessionSecretsModulePayload - """COSE-encoded public key bytes from the authenticator attestation.""" - publicKey: Base64EncodedBinary + """Deletes a single `AppAdminGrant` using a unique key.""" + deleteAppAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppAdminGrantInput! + ): DeleteAppAdminGrantPayload - """ - Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. - """ - signCount: BigInt + """Deletes a single `AppOwnerGrant` using a unique key.""" + deleteAppOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppOwnerGrantInput! + ): DeleteAppOwnerGrantPayload - """ - Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. - """ - webauthnUserId: String + """Deletes a single `AppAchievement` using a unique key.""" + deleteAppAchievement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppAchievementInput! + ): DeleteAppAchievementPayload - """ - Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. - """ - transports: [String] + """Deletes a single `AppStep` using a unique key.""" + deleteAppStep( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppStepInput! + ): DeleteAppStepPayload - """ - Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. - """ - credentialDeviceType: String + """Deletes a single `OrgPermissionDefault` using a unique key.""" + deleteOrgPermissionDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgPermissionDefaultInput! + ): DeleteOrgPermissionDefaultPayload - """ - Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. - """ - backupEligible: Boolean + """Deletes a single `AppPermission` using a unique key.""" + deleteAppPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppPermissionInput! + ): DeleteAppPermissionPayload - """Current backup state; updated on each successful sign-in assertion.""" - backupState: Boolean + """Deletes a single `OrgPermission` using a unique key.""" + deleteOrgPermission( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgPermissionInput! + ): DeleteOrgPermissionPayload - """ - User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. - """ - name: String + """Deletes a single `AppLimitCapsDefault` using a unique key.""" + deleteAppLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCapsDefaultInput! + ): DeleteAppLimitCapsDefaultPayload - """ - Timestamp of the most recent successful sign-in assertion using this credential. - """ - lastUsedAt: Datetime - createdAt: Datetime - updatedAt: Datetime -} + """Deletes a single `OrgLimitCapsDefault` using a unique key.""" + deleteOrgLimitCapsDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitCapsDefaultInput! + ): DeleteOrgLimitCapsDefaultPayload -"""The output of our update `PrimaryKeyConstraint` mutation.""" -type UpdatePrimaryKeyConstraintPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `AppLimitCap` using a unique key.""" + deleteAppLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCapInput! + ): DeleteAppLimitCapPayload - """The `PrimaryKeyConstraint` that was updated by this mutation.""" - primaryKeyConstraint: PrimaryKeyConstraint + """Deletes a single `OrgLimitCap` using a unique key.""" + deleteOrgLimitCap( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitCapInput! + ): DeleteOrgLimitCapPayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `MembershipType` using a unique key.""" + deleteMembershipType( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteMembershipTypeInput! + ): DeleteMembershipTypePayload - """An edge for our `PrimaryKeyConstraint`. May be used by Relay 1.""" - primaryKeyConstraintEdge( - """The method to use when ordering `PrimaryKeyConstraint`.""" - orderBy: [PrimaryKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): PrimaryKeyConstraintEdge -} + """Deletes a single `DefaultPrivilege` using a unique key.""" + deleteDefaultPrivilege( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDefaultPrivilegeInput! + ): DeleteDefaultPrivilegePayload -"""All input for the `updatePrimaryKeyConstraint` mutation.""" -input UpdatePrimaryKeyConstraintInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Deletes a single `ViewGrant` using a unique key.""" + deleteViewGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteViewGrantInput! + ): DeleteViewGrantPayload - """ - An object where the defined keys will be set on the `PrimaryKeyConstraint` being updated. - """ - primaryKeyConstraintPatch: PrimaryKeyConstraintPatch! -} + """Deletes a single `Api` using a unique key.""" + deleteApi( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteApiInput! + ): DeleteApiPayload -""" -Represents an update to a `PrimaryKeyConstraint`. Fields that are set will be updated. -""" -input PrimaryKeyConstraintPatch { - id: UUID - databaseId: UUID - tableId: UUID - name: String - type: String - fieldIds: [UUID] - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - tags: [String] - createdAt: Datetime - updatedAt: Datetime -} + """Deletes a single `ConnectedAccountsModule` using a unique key.""" + deleteConnectedAccountsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteConnectedAccountsModuleInput! + ): DeleteConnectedAccountsModulePayload -"""The output of our update `Trigger` mutation.""" -type UpdateTriggerPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String + """Deletes a single `DevicesModule` using a unique key.""" + deleteDevicesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDevicesModuleInput! + ): DeleteDevicesModulePayload - """The `Trigger` that was updated by this mutation.""" - trigger: Trigger + """Deletes a single `EmailsModule` using a unique key.""" + deleteEmailsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEmailsModuleInput! + ): DeleteEmailsModulePayload - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Deletes a single `PhoneNumbersModule` using a unique key.""" + deletePhoneNumbersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePhoneNumbersModuleInput! + ): DeletePhoneNumbersModulePayload - """An edge for our `Trigger`. May be used by Relay 1.""" - triggerEdge( - """The method to use when ordering `Trigger`.""" - orderBy: [TriggerOrderBy!]! = [PRIMARY_KEY_ASC] - ): TriggerEdge -} + """Deletes a single `UsersModule` using a unique key.""" + deleteUsersModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteUsersModuleInput! + ): DeleteUsersModulePayload -"""All input for the `updateTrigger` mutation.""" -input UpdateTriggerInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Deletes a single `WebauthnCredentialsModule` using a unique key.""" + deleteWebauthnCredentialsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteWebauthnCredentialsModuleInput! + ): DeleteWebauthnCredentialsModulePayload - """ - An object where the defined keys will be set on the `Trigger` being updated. - """ - triggerPatch: TriggerPatch! + """Deletes a single `OrgAdminGrant` using a unique key.""" + deleteOrgAdminGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgAdminGrantInput! + ): DeleteOrgAdminGrantPayload + + """Deletes a single `OrgOwnerGrant` using a unique key.""" + deleteOrgOwnerGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgOwnerGrantInput! + ): DeleteOrgOwnerGrantPayload + + """Deletes a single `NodeTypeRegistry` using a unique key.""" + deleteNodeTypeRegistry( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteNodeTypeRegistryInput! + ): DeleteNodeTypeRegistryPayload + + """Deletes a single `AppLimitDefault` using a unique key.""" + deleteAppLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitDefaultInput! + ): DeleteAppLimitDefaultPayload + + """Deletes a single `OrgLimitDefault` using a unique key.""" + deleteOrgLimitDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitDefaultInput! + ): DeleteOrgLimitDefaultPayload + + """Deletes a single `AppLimitCreditCodeItem` using a unique key.""" + deleteAppLimitCreditCodeItem( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditCodeItemInput! + ): DeleteAppLimitCreditCodeItemPayload + + """Deletes a single `Database` using a unique key.""" + deleteDatabase( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDatabaseInput! + ): DeleteDatabasePayload + + """Deletes a single `CryptoAddressesModule` using a unique key.""" + deleteCryptoAddressesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCryptoAddressesModuleInput! + ): DeleteCryptoAddressesModulePayload + + """Deletes a single `CryptoAddress` using a unique key.""" + deleteCryptoAddress( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCryptoAddressInput! + ): DeleteCryptoAddressPayload + + """Deletes a single `AgentMessage` using a unique key.""" + deleteAgentMessage( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAgentMessageInput! + ): DeleteAgentMessagePayload + + """Deletes a single `Object` using a unique key.""" + deleteObject( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteObjectInput! + ): DeleteObjectPayload + + """Deletes a single `SiteMetadatum` using a unique key.""" + deleteSiteMetadatum( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSiteMetadatumInput! + ): DeleteSiteMetadatumPayload + + """Deletes a single `AppLevelRequirement` using a unique key.""" + deleteAppLevelRequirement( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLevelRequirementInput! + ): DeleteAppLevelRequirementPayload + + """Deletes a single `AppLimitCredit` using a unique key.""" + deleteAppLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitCreditInput! + ): DeleteAppLimitCreditPayload + + """Deletes a single `OrgLimitCredit` using a unique key.""" + deleteOrgLimitCredit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitCreditInput! + ): DeleteOrgLimitCreditPayload + + """Deletes a single `FullTextSearch` using a unique key.""" + deleteFullTextSearch( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteFullTextSearchInput! + ): DeleteFullTextSearchPayload + + """Deletes a single `TableGrant` using a unique key.""" + deleteTableGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteTableGrantInput! + ): DeleteTableGrantPayload + + """Deletes a single `Commit` using a unique key.""" + deleteCommit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCommitInput! + ): DeleteCommitPayload + + """Deletes a single `PubkeySetting` using a unique key.""" + deletePubkeySetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePubkeySettingInput! + ): DeletePubkeySettingPayload + + """Deletes a single `RateLimitsModule` using a unique key.""" + deleteRateLimitsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRateLimitsModuleInput! + ): DeleteRateLimitsModulePayload + + """Deletes a single `OrgChartEdgeGrant` using a unique key.""" + deleteOrgChartEdgeGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgChartEdgeGrantInput! + ): DeleteOrgChartEdgeGrantPayload + + """Deletes a single `PhoneNumber` using a unique key.""" + deletePhoneNumber( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePhoneNumberInput! + ): DeletePhoneNumberPayload + + """Deletes a single `AppClaimedInvite` using a unique key.""" + deleteAppClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppClaimedInviteInput! + ): DeleteAppClaimedInvitePayload + + """Deletes a single `AppMembershipDefault` using a unique key.""" + deleteAppMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppMembershipDefaultInput! + ): DeleteAppMembershipDefaultPayload + + """Deletes a single `OrgMembershipDefault` using a unique key.""" + deleteOrgMembershipDefault( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMembershipDefaultInput! + ): DeleteOrgMembershipDefaultPayload + + """Deletes a single `AuditLog` using a unique key.""" + deleteAuditLog( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAuditLogInput! + ): DeleteAuditLogPayload + + """Deletes a single `Domain` using a unique key.""" + deleteDomain( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDomainInput! + ): DeleteDomainPayload + + """Deletes a single `RlsSetting` using a unique key.""" + deleteRlsSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRlsSettingInput! + ): DeleteRlsSettingPayload + + """Deletes a single `AgentTask` using a unique key.""" + deleteAgentTask( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAgentTaskInput! + ): DeleteAgentTaskPayload + + """Deletes a single `AgentThread` using a unique key.""" + deleteAgentThread( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAgentThreadInput! + ): DeleteAgentThreadPayload + + """Deletes a single `Email` using a unique key.""" + deleteEmail( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEmailInput! + ): DeleteEmailPayload + + """Deletes a single `AppGrant` using a unique key.""" + deleteAppGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppGrantInput! + ): DeleteAppGrantPayload + + """Deletes a single `OrgClaimedInvite` using a unique key.""" + deleteOrgClaimedInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgClaimedInviteInput! + ): DeleteOrgClaimedInvitePayload + + """Deletes a single `OrgChartEdge` using a unique key.""" + deleteOrgChartEdge( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgChartEdgeInput! + ): DeleteOrgChartEdgePayload + + """Deletes a single `Partition` using a unique key.""" + deletePartition( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePartitionInput! + ): DeletePartitionPayload + + """Deletes a single `BlueprintConstruction` using a unique key.""" + deleteBlueprintConstruction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteBlueprintConstructionInput! + ): DeleteBlueprintConstructionPayload + + """Deletes a single `RlsModule` using a unique key.""" + deleteRlsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRlsModuleInput! + ): DeleteRlsModulePayload + + """Deletes a single `SessionsModule` using a unique key.""" + deleteSessionsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSessionsModuleInput! + ): DeleteSessionsModulePayload + + """Deletes a single `OrgGrant` using a unique key.""" + deleteOrgGrant( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgGrantInput! + ): DeleteOrgGrantPayload + + """Deletes a single `AppLevel` using a unique key.""" + deleteAppLevel( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLevelInput! + ): DeleteAppLevelPayload + + """Deletes a single `DatabaseSetting` using a unique key.""" + deleteDatabaseSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDatabaseSettingInput! + ): DeleteDatabaseSettingPayload + + """Deletes a single `Blueprint` using a unique key.""" + deleteBlueprint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteBlueprintInput! + ): DeleteBlueprintPayload + + """Deletes a single `DenormalizedTableField` using a unique key.""" + deleteDenormalizedTableField( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDenormalizedTableFieldInput! + ): DeleteDenormalizedTableFieldPayload + + """Deletes a single `ApiSetting` using a unique key.""" + deleteApiSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteApiSettingInput! + ): DeleteApiSettingPayload + + """Deletes a single `PlansModule` using a unique key.""" + deletePlansModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePlansModuleInput! + ): DeletePlansModulePayload + + """Deletes a single `OrgMemberProfile` using a unique key.""" + deleteOrgMemberProfile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMemberProfileInput! + ): DeleteOrgMemberProfilePayload + + """Deletes a single `AppLimit` using a unique key.""" + deleteAppLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppLimitInput! + ): DeleteAppLimitPayload + + """Deletes a single `DatabaseTransfer` using a unique key.""" + deleteDatabaseTransfer( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDatabaseTransferInput! + ): DeleteDatabaseTransferPayload + + """Deletes a single `BillingModule` using a unique key.""" + deleteBillingModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteBillingModuleInput! + ): DeleteBillingModulePayload + + """Deletes a single `CryptoAuthModule` using a unique key.""" + deleteCryptoAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCryptoAuthModuleInput! + ): DeleteCryptoAuthModulePayload + + """Deletes a single `DatabaseProvisionModule` using a unique key.""" + deleteDatabaseProvisionModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteDatabaseProvisionModuleInput! + ): DeleteDatabaseProvisionModulePayload + + """Deletes a single `InvitesModule` using a unique key.""" + deleteInvitesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteInvitesModuleInput! + ): DeleteInvitesModulePayload + + """Deletes a single `SecureTableProvision` using a unique key.""" + deleteSecureTableProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSecureTableProvisionInput! + ): DeleteSecureTableProvisionPayload + + """Deletes a single `OrgLimitAggregate` using a unique key.""" + deleteOrgLimitAggregate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitAggregateInput! + ): DeleteOrgLimitAggregatePayload + + """Deletes a single `OrgLimit` using a unique key.""" + deleteOrgLimit( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgLimitInput! + ): DeleteOrgLimitPayload + + """Deletes a single `Enum` using a unique key.""" + deleteEnum( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEnumInput! + ): DeleteEnumPayload + + """Deletes a single `User` using a unique key.""" + deleteUser( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteUserInput! + ): DeleteUserPayload + + """Deletes a single `View` using a unique key.""" + deleteView( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteViewInput! + ): DeleteViewPayload + + """Deletes a single `WebauthnAuthModule` using a unique key.""" + deleteWebauthnAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteWebauthnAuthModuleInput! + ): DeleteWebauthnAuthModulePayload + + """Deletes a single `AppInvite` using a unique key.""" + deleteAppInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppInviteInput! + ): DeleteAppInvitePayload + + """Deletes a single `OrgMembershipSetting` using a unique key.""" + deleteOrgMembershipSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMembershipSettingInput! + ): DeleteOrgMembershipSettingPayload + + """Deletes a single `App` using a unique key.""" + deleteApp( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppInput! + ): DeleteAppPayload + + """Deletes a single `Site` using a unique key.""" + deleteSite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSiteInput! + ): DeleteSitePayload + + """Deletes a single `NotificationsModule` using a unique key.""" + deleteNotificationsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteNotificationsModuleInput! + ): DeleteNotificationsModulePayload + + """Deletes a single `PermissionsModule` using a unique key.""" + deletePermissionsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePermissionsModuleInput! + ): DeletePermissionsModulePayload + + """Deletes a single `WebauthnCredential` using a unique key.""" + deleteWebauthnCredential( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteWebauthnCredentialInput! + ): DeleteWebauthnCredentialPayload + + """Deletes a single `PrimaryKeyConstraint` using a unique key.""" + deletePrimaryKeyConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePrimaryKeyConstraintInput! + ): DeletePrimaryKeyConstraintPayload + + """Deletes a single `Trigger` using a unique key.""" + deleteTrigger( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteTriggerInput! + ): DeleteTriggerPayload + + """Deletes a single `CheckConstraint` using a unique key.""" + deleteCheckConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteCheckConstraintInput! + ): DeleteCheckConstraintPayload + + """Deletes a single `UniqueConstraint` using a unique key.""" + deleteUniqueConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteUniqueConstraintInput! + ): DeleteUniqueConstraintPayload + + """Deletes a single `SpatialRelation` using a unique key.""" + deleteSpatialRelation( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSpatialRelationInput! + ): DeleteSpatialRelationPayload + + """Deletes a single `Policy` using a unique key.""" + deletePolicy( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeletePolicyInput! + ): DeletePolicyPayload + + """Deletes a single `EmbeddingChunk` using a unique key.""" + deleteEmbeddingChunk( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEmbeddingChunkInput! + ): DeleteEmbeddingChunkPayload + + """Deletes a single `WebauthnSetting` using a unique key.""" + deleteWebauthnSetting( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteWebauthnSettingInput! + ): DeleteWebauthnSettingPayload + + """Deletes a single `OrgInvite` using a unique key.""" + deleteOrgInvite( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgInviteInput! + ): DeleteOrgInvitePayload + + """Deletes a single `AppMembership` using a unique key.""" + deleteAppMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteAppMembershipInput! + ): DeleteAppMembershipPayload + + """Deletes a single `Schema` using a unique key.""" + deleteSchema( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSchemaInput! + ): DeleteSchemaPayload + + """Deletes a single `Index` using a unique key.""" + deleteIndex( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteIndexInput! + ): DeleteIndexPayload + + """Deletes a single `BillingProviderModule` using a unique key.""" + deleteBillingProviderModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteBillingProviderModuleInput! + ): DeleteBillingProviderModulePayload + + """Deletes a single `BlueprintTemplate` using a unique key.""" + deleteBlueprintTemplate( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteBlueprintTemplateInput! + ): DeleteBlueprintTemplatePayload + + """Deletes a single `HierarchyModule` using a unique key.""" + deleteHierarchyModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteHierarchyModuleInput! + ): DeleteHierarchyModulePayload + + """Deletes a single `ProfilesModule` using a unique key.""" + deleteProfilesModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteProfilesModuleInput! + ): DeleteProfilesModulePayload + + """Deletes a single `OrgMembership` using a unique key.""" + deleteOrgMembership( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteOrgMembershipInput! + ): DeleteOrgMembershipPayload + + """Deletes a single `ForeignKeyConstraint` using a unique key.""" + deleteForeignKeyConstraint( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteForeignKeyConstraintInput! + ): DeleteForeignKeyConstraintPayload + + """Deletes a single `Table` using a unique key.""" + deleteTable( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteTableInput! + ): DeleteTablePayload + + """Deletes a single `RelationProvision` using a unique key.""" + deleteRelationProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteRelationProvisionInput! + ): DeleteRelationProvisionPayload + + """Deletes a single `EntityTypeProvision` using a unique key.""" + deleteEntityTypeProvision( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteEntityTypeProvisionInput! + ): DeleteEntityTypeProvisionPayload + + """Deletes a single `LevelsModule` using a unique key.""" + deleteLevelsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteLevelsModuleInput! + ): DeleteLevelsModulePayload + + """Deletes a single `UserAuthModule` using a unique key.""" + deleteUserAuthModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteUserAuthModuleInput! + ): DeleteUserAuthModulePayload + + """Deletes a single `Field` using a unique key.""" + deleteField( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteFieldInput! + ): DeleteFieldPayload + + """Deletes a single `LimitsModule` using a unique key.""" + deleteLimitsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteLimitsModuleInput! + ): DeleteLimitsModulePayload + + """Deletes a single `StorageModule` using a unique key.""" + deleteStorageModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteStorageModuleInput! + ): DeleteStorageModulePayload + + """Deletes a single `MembershipsModule` using a unique key.""" + deleteMembershipsModule( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteMembershipsModuleInput! + ): DeleteMembershipsModulePayload + + """ + Provision an S3 bucket for a logical bucket in the database. + Reads the bucket config via RLS, then creates and configures + the S3 bucket with the appropriate privacy policies, CORS rules, + and lifecycle settings. + """ + provisionBucket( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionBucketInput! + ): ProvisionBucketPayload +} + +"""The output of our `sendAccountDeletionEmail` mutation.""" +type SendAccountDeletionEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `sendAccountDeletionEmail` mutation.""" +input SendAccountDeletionEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String +} + +"""The output of our `signOut` mutation.""" +type SignOutPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `signOut` mutation.""" +input SignOutInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String +} + +"""The output of our `acceptDatabaseTransfer` mutation.""" +type AcceptDatabaseTransferPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `acceptDatabaseTransfer` mutation.""" +input AcceptDatabaseTransferInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + transferId: UUID +} + +"""The output of our `cancelDatabaseTransfer` mutation.""" +type CancelDatabaseTransferPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `cancelDatabaseTransfer` mutation.""" +input CancelDatabaseTransferInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + transferId: UUID +} + +"""The output of our `rejectDatabaseTransfer` mutation.""" +type RejectDatabaseTransferPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `rejectDatabaseTransfer` mutation.""" +input RejectDatabaseTransferInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + transferId: UUID +} + +"""The output of our `disconnectAccount` mutation.""" +type DisconnectAccountPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `disconnectAccount` mutation.""" +input DisconnectAccountInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + accountId: UUID! +} + +"""The output of our `revokeApiKey` mutation.""" +type RevokeApiKeyPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `revokeApiKey` mutation.""" +input RevokeApiKeyInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + keyId: UUID! +} + +"""The output of our `revokeSession` mutation.""" +type RevokeSessionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `revokeSession` mutation.""" +input RevokeSessionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + sessionId: UUID! +} + +"""The output of our `verifyPassword` mutation.""" +type VerifyPasswordPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `verifyPassword` mutation.""" +input VerifyPasswordInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + password: String! +} + +"""The output of our `verifyTotp` mutation.""" +type VerifyTotpPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `verifyTotp` mutation.""" +input VerifyTotpInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + totpValue: String! +} + +"""The output of our `submitAppInviteCode` mutation.""" +type SubmitAppInviteCodePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `submitAppInviteCode` mutation.""" +input SubmitAppInviteCodeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + token: String +} + +"""The output of our `submitOrgInviteCode` mutation.""" +type SubmitOrgInviteCodePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `submitOrgInviteCode` mutation.""" +input SubmitOrgInviteCodeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + token: String +} + +"""The output of our `checkPassword` mutation.""" +type CheckPasswordPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `checkPassword` mutation.""" +input CheckPasswordInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + password: String +} + +"""The output of our `confirmDeleteAccount` mutation.""" +type ConfirmDeleteAccountPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `confirmDeleteAccount` mutation.""" +input ConfirmDeleteAccountInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + userId: UUID + token: String +} + +"""The output of our `setPassword` mutation.""" +type SetPasswordPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `setPassword` mutation.""" +input SetPasswordInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + currentPassword: String + newPassword: String +} + +"""The output of our `verifyEmail` mutation.""" +type VerifyEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `verifyEmail` mutation.""" +input VerifyEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + emailId: UUID + token: String +} + +"""The output of our `freezeObjects` mutation.""" +type FreezeObjectsPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `freezeObjects` mutation.""" +input FreezeObjectsInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseId: UUID + id: UUID +} + +"""The output of our `initEmptyRepo` mutation.""" +type InitEmptyRepoPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `initEmptyRepo` mutation.""" +input InitEmptyRepoInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + storeId: UUID +} + +"""The output of our `constructBlueprint` mutation.""" +type ConstructBlueprintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `constructBlueprint` mutation.""" +input ConstructBlueprintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + blueprintId: UUID + schemaId: UUID +} + +"""The output of our `provisionNewUser` mutation.""" +type ProvisionNewUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `provisionNewUser` mutation.""" +input ProvisionNewUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: String + password: String +} + +"""The output of our `resetPassword` mutation.""" +type ResetPasswordPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `resetPassword` mutation.""" +input ResetPasswordInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + roleId: UUID + resetToken: String + newPassword: String +} + +"""The output of our `removeNodeAtPath` mutation.""" +type RemoveNodeAtPathPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `removeNodeAtPath` mutation.""" +input RemoveNodeAtPathInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + root: UUID + path: [String] +} + +"""The output of our `copyTemplateToBlueprint` mutation.""" +type CopyTemplateToBlueprintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `copyTemplateToBlueprint` mutation.""" +input CopyTemplateToBlueprintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + templateId: UUID + databaseId: UUID + ownerId: UUID + nameOverride: String + displayNameOverride: String +} + +"""The output of our `provisionSpatialRelation` mutation.""" +type ProvisionSpatialRelationPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `provisionSpatialRelation` mutation.""" +input ProvisionSpatialRelationInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + pDatabaseId: UUID + pSourceTableId: UUID + pSourceFieldId: UUID + pTargetTableId: UUID + pTargetFieldId: UUID + pName: String + pOperator: String + pParamName: String +} + +"""The output of our `bootstrapUser` mutation.""" +type BootstrapUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: [BootstrapUserRecord] + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type BootstrapUserRecord { + outUserId: UUID + outEmail: String + outUsername: String + outDisplayName: String + outIsAdmin: Boolean + outIsOwner: Boolean + outIsSudo: Boolean + outApiKey: String +} + +"""All input for the `bootstrapUser` mutation.""" +input BootstrapUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + targetDatabaseId: UUID + password: String + isAdmin: Boolean + isOwner: Boolean + username: String + displayName: String + returnApiKey: Boolean +} + +"""The output of our `setFieldOrder` mutation.""" +type SetFieldOrderPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `setFieldOrder` mutation.""" +input SetFieldOrderInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + fieldIds: [UUID] +} + +"""The output of our `appendSmartTags` mutation.""" +type AppendSmartTagsPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `appendSmartTags` mutation.""" +input AppendSmartTagsInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + pTableId: UUID + pTags: JSON +} + +"""The output of our `provisionUniqueConstraint` mutation.""" +type ProvisionUniqueConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `provisionUniqueConstraint` mutation.""" +input ProvisionUniqueConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseId: UUID + tableId: UUID + definition: JSON +} + +"""The output of our `provisionFullTextSearch` mutation.""" +type ProvisionFullTextSearchPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `provisionFullTextSearch` mutation.""" +input ProvisionFullTextSearchInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseId: UUID + tableId: UUID + definition: JSON +} + +"""The output of our `provisionIndex` mutation.""" +type ProvisionIndexPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `provisionIndex` mutation.""" +input ProvisionIndexInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseId: UUID + tableId: UUID + definition: JSON +} + +"""The output of our `setDataAtPath` mutation.""" +type SetDataAtPathPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `setDataAtPath` mutation.""" +input SetDataAtPathInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + root: UUID + path: [String] + data: JSON +} + +"""The output of our `setPropsAndCommit` mutation.""" +type SetPropsAndCommitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `setPropsAndCommit` mutation.""" +input SetPropsAndCommitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + storeId: UUID + refname: String + path: [String] + data: JSON +} + +"""The output of our `provisionDatabaseWithUser` mutation.""" +type ProvisionDatabaseWithUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: [ProvisionDatabaseWithUserRecord] + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type ProvisionDatabaseWithUserRecord { + outDatabaseId: UUID + outApiKey: String +} + +"""All input for the `provisionDatabaseWithUser` mutation.""" +input ProvisionDatabaseWithUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + pDatabaseName: String + pDomain: String + pSubdomain: String + pModules: [String] + pOptions: JSON +} + +"""The output of our `insertNodeAtPath` mutation.""" +type InsertNodeAtPathPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `insertNodeAtPath` mutation.""" +input InsertNodeAtPathInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + root: UUID + path: [String] + data: JSON + kids: [UUID] + ktree: [String] +} + +"""The output of our `updateNodeAtPath` mutation.""" +type UpdateNodeAtPathPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `updateNodeAtPath` mutation.""" +input UpdateNodeAtPathInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + root: UUID + path: [String] + data: JSON + kids: [UUID] + ktree: [String] +} + +"""The output of our `setAndCommit` mutation.""" +type SetAndCommitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `setAndCommit` mutation.""" +input SetAndCommitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + dbId: UUID + storeId: UUID + refname: String + path: [String] + data: JSON + kids: [UUID] + ktree: [String] +} + +"""The output of our `provisionRelation` mutation.""" +type ProvisionRelationPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: [ProvisionRelationRecord] + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type ProvisionRelationRecord { + outFieldId: UUID + outJunctionTableId: UUID + outSourceFieldId: UUID + outTargetFieldId: UUID +} + +"""All input for the `provisionRelation` mutation.""" +input ProvisionRelationInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseId: UUID + relationType: String + sourceTableId: UUID + targetTableId: UUID + fieldName: String + deleteAction: String + isRequired: Boolean + apiRequired: Boolean + createIndex: Boolean + junctionTableId: UUID + junctionTableName: String + junctionSchemaId: UUID + sourceFieldName: String + targetFieldName: String + useCompositeKey: Boolean + exposeInApi: Boolean + nodes: JSON + grants: JSON + policies: JSON +} + +"""The output of our `applyRls` mutation.""" +type ApplyRlsPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `applyRls` mutation.""" +input ApplyRlsInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + tableId: UUID + grants: JSON + policyType: String + vars: JSON + fieldIds: [UUID] + permissive: Boolean + name: String +} + +"""The output of our `signInCrossOrigin` mutation.""" +type SignInCrossOriginPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: SignInCrossOriginRecord + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type SignInCrossOriginRecord { + id: UUID + userId: UUID + accessToken: String + accessTokenExpiresAt: Datetime + isVerified: Boolean + totpEnabled: Boolean +} + +"""All input for the `signInCrossOrigin` mutation.""" +input SignInCrossOriginInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + token: String + credentialKind: String +} + +"""The output of our `createUserDatabase` mutation.""" +type CreateUserDatabasePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: UUID + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `createUserDatabase` mutation.""" +input CreateUserDatabaseInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseName: String + ownerId: UUID + includeInvites: Boolean + includeGroups: Boolean + includeLevels: Boolean + bitlen: Int + tokensExpiration: IntervalInput +} + +"""The output of our `extendTokenExpires` mutation.""" +type ExtendTokenExpiresPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: [ExtendTokenExpiresRecord] + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type ExtendTokenExpiresRecord { + id: UUID + sessionId: UUID + expiresAt: Datetime +} + +"""All input for the `extendTokenExpires` mutation.""" +input ExtendTokenExpiresInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + amount: IntervalInput +} + +"""The output of our `createApiKey` mutation.""" +type CreateApiKeyPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: CreateApiKeyRecord + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type CreateApiKeyRecord { + apiKey: String + keyId: UUID + expiresAt: Datetime +} + +"""All input for the `createApiKey` mutation.""" +input CreateApiKeyInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + keyName: String + accessLevel: String + mfaLevel: String + expiresIn: IntervalInput +} + +"""The output of our `sendVerificationEmail` mutation.""" +type SendVerificationEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: Boolean + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `sendVerificationEmail` mutation.""" +input SendVerificationEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: ConstructiveInternalTypeEmail +} + +"""The output of our `forgotPassword` mutation.""" +type ForgotPasswordPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `forgotPassword` mutation.""" +input ForgotPasswordInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: ConstructiveInternalTypeEmail +} + +"""The output of our `signUp` mutation.""" +type SignUpPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: SignUpRecord + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type SignUpRecord { + id: UUID + userId: UUID + accessToken: String + accessTokenExpiresAt: Datetime + isVerified: Boolean + totpEnabled: Boolean +} + +"""All input for the `signUp` mutation.""" +input SignUpInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: String + password: String + rememberMe: Boolean + credentialKind: String + csrfToken: String +} + +"""The output of our `requestCrossOriginToken` mutation.""" +type RequestCrossOriginTokenPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: String + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the `requestCrossOriginToken` mutation.""" +input RequestCrossOriginTokenInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: String + password: String + origin: ConstructiveInternalTypeOrigin + rememberMe: Boolean +} + +"""The output of our `signIn` mutation.""" +type SignInPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: SignInRecord + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type SignInRecord { + id: UUID + userId: UUID + accessToken: String + accessTokenExpiresAt: Datetime + isVerified: Boolean + totpEnabled: Boolean + mfaRequired: Boolean + mfaChallengeToken: String +} + +"""All input for the `signIn` mutation.""" +input SignInInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + email: String + password: String + rememberMe: Boolean + credentialKind: String + csrfToken: String + deviceToken: String +} + +"""The output of our `provisionTable` mutation.""" +type ProvisionTablePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + result: [ProvisionTableRecord] + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +type ProvisionTableRecord { + outTableId: UUID + outFields: [UUID] +} + +"""All input for the `provisionTable` mutation.""" +input ProvisionTableInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + databaseId: UUID + schemaId: UUID + tableName: String + tableId: UUID + nodes: JSON + fields: JSON + policies: JSON + grants: JSON + useRls: Boolean + indexes: JSON + fullTextSearches: JSON + uniqueConstraints: JSON + description: String +} + +"""The output of our create `DefaultIdsModule` mutation.""" +type CreateDefaultIdsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DefaultIdsModule` that was created by this mutation.""" + defaultIdsModule: DefaultIdsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DefaultIdsModule`. May be used by Relay 1.""" + defaultIdsModuleEdge( + """The method to use when ordering `DefaultIdsModule`.""" + orderBy: [DefaultIdsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DefaultIdsModuleEdge +} + +"""All input for the create `DefaultIdsModule` mutation.""" +input CreateDefaultIdsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DefaultIdsModule` to be created by this mutation.""" + defaultIdsModule: DefaultIdsModuleInput! +} + +"""An input for mutations affecting `DefaultIdsModule`""" +input DefaultIdsModuleInput { + id: UUID + databaseId: UUID! +} + +"""The output of our create `RoleType` mutation.""" +type CreateRoleTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `RoleType` that was created by this mutation.""" + roleType: RoleType + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `RoleType`. May be used by Relay 1.""" + roleTypeEdge( + """The method to use when ordering `RoleType`.""" + orderBy: [RoleTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): RoleTypeEdge +} + +"""All input for the create `RoleType` mutation.""" +input CreateRoleTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `RoleType` to be created by this mutation.""" + roleType: RoleTypeInput! +} + +"""An input for mutations affecting `RoleType`""" +input RoleTypeInput { + id: Int! + name: String! +} + +"""The output of our create `AppLimitCreditRedemption` mutation.""" +type CreateAppLimitCreditRedemptionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditRedemption` that was created by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemption + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditRedemption`. May be used by Relay 1.""" + appLimitCreditRedemptionEdge( + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionEdge +} + +"""All input for the create `AppLimitCreditRedemption` mutation.""" +input CreateAppLimitCreditRedemptionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitCreditRedemption` to be created by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemptionInput! +} + +"""An input for mutations affecting `AppLimitCreditRedemption`""" +input AppLimitCreditRedemptionInput { + id: UUID + + """FK to credit_codes — which code is being redeemed""" + creditCodeId: UUID! + + """Entity receiving the credits (personal org user_id or org entity_id)""" + entityId: UUID! +} + +"""The output of our create `Function` mutation.""" +type CreateFunctionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Function` that was created by this mutation.""" + function: Function + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Function`. May be used by Relay 1.""" + functionEdge( + """The method to use when ordering `Function`.""" + orderBy: [FunctionOrderBy!]! = [PRIMARY_KEY_ASC] + ): FunctionEdge +} + +"""All input for the create `Function` mutation.""" +input CreateFunctionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Function` to be created by this mutation.""" + function: FunctionInput! +} + +"""An input for mutations affecting `Function`""" +input FunctionInput { + id: UUID + databaseId: UUID! + schemaId: UUID! + name: String! +} + +"""The output of our create `ViewTable` mutation.""" +type CreateViewTablePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ViewTable` that was created by this mutation.""" + viewTable: ViewTable + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ViewTable`. May be used by Relay 1.""" + viewTableEdge( + """The method to use when ordering `ViewTable`.""" + orderBy: [ViewTableOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewTableEdge +} + +"""All input for the create `ViewTable` mutation.""" +input CreateViewTableInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ViewTable` to be created by this mutation.""" + viewTable: ViewTableInput! +} + +"""An input for mutations affecting `ViewTable`""" +input ViewTableInput { + id: UUID + viewId: UUID! + tableId: UUID! + joinOrder: Int +} + +"""The output of our create `ApiSchema` mutation.""" +type CreateApiSchemaPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ApiSchema` that was created by this mutation.""" + apiSchema: ApiSchema + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ApiSchema`. May be used by Relay 1.""" + apiSchemaEdge( + """The method to use when ordering `ApiSchema`.""" + orderBy: [ApiSchemaOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiSchemaEdge +} + +"""All input for the create `ApiSchema` mutation.""" +input CreateApiSchemaInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ApiSchema` to be created by this mutation.""" + apiSchema: ApiSchemaInput! +} + +"""An input for mutations affecting `ApiSchema`""" +input ApiSchemaInput { + """Unique identifier for this API-schema mapping""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """Metaschema schema being exposed through the API""" + schemaId: UUID! + + """API that exposes this schema""" + apiId: UUID! +} + +"""The output of our create `CorsSetting` mutation.""" +type CreateCorsSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `CorsSetting` that was created by this mutation.""" + corsSetting: CorsSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `CorsSetting`. May be used by Relay 1.""" + corsSettingEdge( + """The method to use when ordering `CorsSetting`.""" + orderBy: [CorsSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): CorsSettingEdge +} + +"""All input for the create `CorsSetting` mutation.""" +input CreateCorsSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `CorsSetting` to be created by this mutation.""" + corsSetting: CorsSettingInput! +} + +"""An input for mutations affecting `CorsSetting`""" +input CorsSettingInput { + """Unique identifier for this CORS settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """Optional API for per-API override; NULL means database-wide default""" + apiId: UUID + + """Array of allowed CORS origins (e.g. https://example.com)""" + allowedOrigins: [String] +} + +"""The output of our create `OrgMember` mutation.""" +type CreateOrgMemberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMember` that was created by this mutation.""" + orgMember: OrgMember + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMember`. May be used by Relay 1.""" + orgMemberEdge( + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberEdge +} + +"""All input for the create `OrgMember` mutation.""" +input CreateOrgMemberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgMember` to be created by this mutation.""" + orgMember: OrgMemberInput! +} + +"""An input for mutations affecting `OrgMember`""" +input OrgMemberInput { + id: UUID + + """Whether this member has admin privileges""" + isAdmin: Boolean + + """References the user who is a member""" + actorId: UUID! + + """References the entity (org or group) this member belongs to""" + entityId: UUID! +} + +"""The output of our create `SiteTheme` mutation.""" +type CreateSiteThemePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SiteTheme` that was created by this mutation.""" + siteTheme: SiteTheme + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SiteTheme`. May be used by Relay 1.""" + siteThemeEdge( + """The method to use when ordering `SiteTheme`.""" + orderBy: [SiteThemeOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteThemeEdge +} + +"""All input for the create `SiteTheme` mutation.""" +input CreateSiteThemeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SiteTheme` to be created by this mutation.""" + siteTheme: SiteThemeInput! +} + +"""An input for mutations affecting `SiteTheme`""" +input SiteThemeInput { + """Unique identifier for this theme record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """Site this theme belongs to""" + siteId: UUID! + + """ + JSONB object containing theme tokens (colors, typography, spacing, etc.) + """ + theme: JSON! +} + +"""The output of our create `IdentityProvider` mutation.""" +type CreateIdentityProviderPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `IdentityProvider` that was created by this mutation.""" + identityProvider: IdentityProvider + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `IdentityProvider` mutation.""" +input CreateIdentityProviderInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `IdentityProvider` to be created by this mutation.""" + identityProvider: IdentityProviderInput! +} + +"""An input for mutations affecting `IdentityProvider`""" +input IdentityProviderInput { + slug: String + kind: String + displayName: String + enabled: Boolean + isBuiltIn: Boolean +} + +"""The output of our create `Ref` mutation.""" +type CreateRefPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Ref` that was created by this mutation.""" + ref: Ref + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Ref`. May be used by Relay 1.""" + refEdge( + """The method to use when ordering `Ref`.""" + orderBy: [RefOrderBy!]! = [PRIMARY_KEY_ASC] + ): RefEdge +} + +"""All input for the create `Ref` mutation.""" +input CreateRefInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Ref` to be created by this mutation.""" + ref: RefInput! +} + +"""An input for mutations affecting `Ref`""" +input RefInput { + """The primary unique identifier for the ref.""" + id: UUID + + """The name of the ref or branch""" + name: String! + databaseId: UUID! + storeId: UUID! + commitId: UUID +} + +"""The output of our create `Store` mutation.""" +type CreateStorePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Store` that was created by this mutation.""" + store: Store + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Store`. May be used by Relay 1.""" + storeEdge( + """The method to use when ordering `Store`.""" + orderBy: [StoreOrderBy!]! = [PRIMARY_KEY_ASC] + ): StoreEdge +} + +"""All input for the create `Store` mutation.""" +input CreateStoreInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Store` to be created by this mutation.""" + store: StoreInput! +} + +"""An input for mutations affecting `Store`""" +input StoreInput { + """The primary unique identifier for the store.""" + id: UUID + + """The name of the store (e.g., metaschema, migrations).""" + name: String! + + """The database this store belongs to.""" + databaseId: UUID! + + """The current head tree_id for this store.""" + hash: UUID + createdAt: Datetime +} + +"""The output of our create `EncryptedSecretsModule` mutation.""" +type CreateEncryptedSecretsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `EncryptedSecretsModule` that was created by this mutation.""" + encryptedSecretsModule: EncryptedSecretsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `EncryptedSecretsModule`. May be used by Relay 1.""" + encryptedSecretsModuleEdge( + """The method to use when ordering `EncryptedSecretsModule`.""" + orderBy: [EncryptedSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): EncryptedSecretsModuleEdge +} + +"""All input for the create `EncryptedSecretsModule` mutation.""" +input CreateEncryptedSecretsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `EncryptedSecretsModule` to be created by this mutation.""" + encryptedSecretsModule: EncryptedSecretsModuleInput! +} + +"""An input for mutations affecting `EncryptedSecretsModule`""" +input EncryptedSecretsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + tableId: UUID + tableName: String +} + +"""The output of our create `MembershipTypesModule` mutation.""" +type CreateMembershipTypesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `MembershipTypesModule` that was created by this mutation.""" + membershipTypesModule: MembershipTypesModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `MembershipTypesModule`. May be used by Relay 1.""" + membershipTypesModuleEdge( + """The method to use when ordering `MembershipTypesModule`.""" + orderBy: [MembershipTypesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypesModuleEdge +} + +"""All input for the create `MembershipTypesModule` mutation.""" +input CreateMembershipTypesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `MembershipTypesModule` to be created by this mutation.""" + membershipTypesModule: MembershipTypesModuleInput! +} + +"""An input for mutations affecting `MembershipTypesModule`""" +input MembershipTypesModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + tableId: UUID + tableName: String +} + +"""The output of our create `SecretsModule` mutation.""" +type CreateSecretsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SecretsModule` that was created by this mutation.""" + secretsModule: SecretsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SecretsModule`. May be used by Relay 1.""" + secretsModuleEdge( + """The method to use when ordering `SecretsModule`.""" + orderBy: [SecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SecretsModuleEdge +} + +"""All input for the create `SecretsModule` mutation.""" +input CreateSecretsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SecretsModule` to be created by this mutation.""" + secretsModule: SecretsModuleInput! +} + +"""An input for mutations affecting `SecretsModule`""" +input SecretsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + tableId: UUID + tableName: String +} + +"""The output of our create `AppPermissionDefault` mutation.""" +type CreateAppPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppPermissionDefault` that was created by this mutation.""" + appPermissionDefault: AppPermissionDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" + appPermissionDefaultEdge( + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultEdge +} + +"""All input for the create `AppPermissionDefault` mutation.""" +input CreateAppPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppPermissionDefault` to be created by this mutation.""" + appPermissionDefault: AppPermissionDefaultInput! +} + +"""An input for mutations affecting `AppPermissionDefault`""" +input AppPermissionDefaultInput { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString +} + +"""The output of our create `ApiModule` mutation.""" +type CreateApiModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ApiModule` that was created by this mutation.""" + apiModule: ApiModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ApiModule`. May be used by Relay 1.""" + apiModuleEdge( + """The method to use when ordering `ApiModule`.""" + orderBy: [ApiModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiModuleEdge +} + +"""All input for the create `ApiModule` mutation.""" +input CreateApiModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ApiModule` to be created by this mutation.""" + apiModule: ApiModuleInput! +} + +"""An input for mutations affecting `ApiModule`""" +input ApiModuleInput { + """Unique identifier for this API module record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """API this module configuration belongs to""" + apiId: UUID! + + """Module name (e.g. auth, uploads, webhooks)""" + name: String! + + """JSON configuration data for this module""" + data: JSON! +} + +"""The output of our create `SiteModule` mutation.""" +type CreateSiteModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SiteModule` that was created by this mutation.""" + siteModule: SiteModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SiteModule`. May be used by Relay 1.""" + siteModuleEdge( + """The method to use when ordering `SiteModule`.""" + orderBy: [SiteModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteModuleEdge +} + +"""All input for the create `SiteModule` mutation.""" +input CreateSiteModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SiteModule` to be created by this mutation.""" + siteModule: SiteModuleInput! +} + +"""An input for mutations affecting `SiteModule`""" +input SiteModuleInput { + """Unique identifier for this site module record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """Site this module configuration belongs to""" + siteId: UUID! + + """Module name (e.g. user_auth_module, analytics)""" + name: String! + + """JSON configuration data for this module""" + data: JSON! +} + +"""The output of our create `AppLimitCreditCode` mutation.""" +type CreateAppLimitCreditCodePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditCode` that was created by this mutation.""" + appLimitCreditCode: AppLimitCreditCode + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditCode`. May be used by Relay 1.""" + appLimitCreditCodeEdge( + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeEdge +} + +"""All input for the create `AppLimitCreditCode` mutation.""" +input CreateAppLimitCreditCodeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitCreditCode` to be created by this mutation.""" + appLimitCreditCode: AppLimitCreditCodeInput! +} + +"""An input for mutations affecting `AppLimitCreditCode`""" +input AppLimitCreditCodeInput { + id: UUID + + """Human-readable credit code (case-insensitive, unique)""" + code: String! + + """Maximum total redemptions allowed; NULL for unlimited""" + maxRedemptions: Int + + """ + Current number of redemptions (incremented by trigger on credit_redemptions) + """ + currentRedemptions: Int + + """Expiration timestamp; NULL for no expiry""" + expiresAt: Datetime +} + +"""The output of our create `SchemaGrant` mutation.""" +type CreateSchemaGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SchemaGrant` that was created by this mutation.""" + schemaGrant: SchemaGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SchemaGrant`. May be used by Relay 1.""" + schemaGrantEdge( + """The method to use when ordering `SchemaGrant`.""" + orderBy: [SchemaGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): SchemaGrantEdge +} + +"""All input for the create `SchemaGrant` mutation.""" +input CreateSchemaGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SchemaGrant` to be created by this mutation.""" + schemaGrant: SchemaGrantInput! +} + +"""An input for mutations affecting `SchemaGrant`""" +input SchemaGrantInput { + id: UUID + databaseId: UUID + schemaId: UUID! + granteeName: String! + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `TriggerFunction` mutation.""" +type CreateTriggerFunctionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `TriggerFunction` that was created by this mutation.""" + triggerFunction: TriggerFunction + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `TriggerFunction`. May be used by Relay 1.""" + triggerFunctionEdge( + """The method to use when ordering `TriggerFunction`.""" + orderBy: [TriggerFunctionOrderBy!]! = [PRIMARY_KEY_ASC] + ): TriggerFunctionEdge +} + +"""All input for the create `TriggerFunction` mutation.""" +input CreateTriggerFunctionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `TriggerFunction` to be created by this mutation.""" + triggerFunction: TriggerFunctionInput! +} + +"""An input for mutations affecting `TriggerFunction`""" +input TriggerFunctionInput { + id: UUID + databaseId: UUID! + name: String! + code: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `ViewRule` mutation.""" +type CreateViewRulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ViewRule` that was created by this mutation.""" + viewRule: ViewRule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ViewRule`. May be used by Relay 1.""" + viewRuleEdge( + """The method to use when ordering `ViewRule`.""" + orderBy: [ViewRuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewRuleEdge +} + +"""All input for the create `ViewRule` mutation.""" +input CreateViewRuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ViewRule` to be created by this mutation.""" + viewRule: ViewRuleInput! +} + +"""An input for mutations affecting `ViewRule`""" +input ViewRuleInput { + id: UUID + databaseId: UUID + viewId: UUID! + name: String! + + """INSERT, UPDATE, or DELETE""" + event: String! + + """NOTHING (for read-only) or custom action""" + action: String +} + +"""The output of our create `IdentityProvidersModule` mutation.""" +type CreateIdentityProvidersModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `IdentityProvidersModule` that was created by this mutation.""" + identityProvidersModule: IdentityProvidersModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `IdentityProvidersModule`. May be used by Relay 1.""" + identityProvidersModuleEdge( + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleEdge +} + +"""All input for the create `IdentityProvidersModule` mutation.""" +input CreateIdentityProvidersModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `IdentityProvidersModule` to be created by this mutation.""" + identityProvidersModule: IdentityProvidersModuleInput! +} + +"""An input for mutations affecting `IdentityProvidersModule`""" +input IdentityProvidersModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + + """ + Private schema that hosts SECURITY DEFINER admin helpers which write to identity_providers (create / update / enable / disable / rotate-secret / delete) and the per-app quota check. + """ + privateSchemaId: UUID + tableId: UUID + tableName: String +} + +"""The output of our create `SessionSecretsModule` mutation.""" +type CreateSessionSecretsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SessionSecretsModule` that was created by this mutation.""" + sessionSecretsModule: SessionSecretsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SessionSecretsModule`. May be used by Relay 1.""" + sessionSecretsModuleEdge( + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleEdge +} + +"""All input for the create `SessionSecretsModule` mutation.""" +input CreateSessionSecretsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SessionSecretsModule` to be created by this mutation.""" + sessionSecretsModule: SessionSecretsModuleInput! +} + +"""An input for mutations affecting `SessionSecretsModule`""" +input SessionSecretsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + tableId: UUID + tableName: String + + """ + Resolved reference to sessions_module.sessions_table, used to FK session_secrets.session_id with ON DELETE CASCADE. + """ + sessionsTableId: UUID +} + +"""The output of our create `AppAdminGrant` mutation.""" +type CreateAppAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppAdminGrant` that was created by this mutation.""" + appAdminGrant: AppAdminGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppAdminGrant`. May be used by Relay 1.""" + appAdminGrantEdge( + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAdminGrantEdge +} + +"""All input for the create `AppAdminGrant` mutation.""" +input CreateAppAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppAdminGrant` to be created by this mutation.""" + appAdminGrant: AppAdminGrantInput! +} + +"""An input for mutations affecting `AppAdminGrant`""" +input AppAdminGrantInput { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppOwnerGrant` mutation.""" +type CreateAppOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppOwnerGrant` that was created by this mutation.""" + appOwnerGrant: AppOwnerGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" + appOwnerGrantEdge( + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppOwnerGrantEdge +} + +"""All input for the create `AppOwnerGrant` mutation.""" +input CreateAppOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppOwnerGrant` to be created by this mutation.""" + appOwnerGrant: AppOwnerGrantInput! +} + +"""An input for mutations affecting `AppOwnerGrant`""" +input AppOwnerGrantInput { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppAchievement` mutation.""" +type CreateAppAchievementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppAchievement` that was created by this mutation.""" + appAchievement: AppAchievement + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppAchievement`. May be used by Relay 1.""" + appAchievementEdge( + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAchievementEdge +} + +"""All input for the create `AppAchievement` mutation.""" +input CreateAppAchievementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppAchievement` to be created by this mutation.""" + appAchievement: AppAchievementInput! +} + +"""An input for mutations affecting `AppAchievement`""" +input AppAchievementInput { + id: UUID + actorId: UUID + + """Name identifier of the level requirement being tracked""" + name: String! + + """Cumulative count of completed steps toward this requirement""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppStep` mutation.""" +type CreateAppStepPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppStep` that was created by this mutation.""" + appStep: AppStep + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppStep`. May be used by Relay 1.""" + appStepEdge( + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppStepEdge +} + +"""All input for the create `AppStep` mutation.""" +input CreateAppStepInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppStep` to be created by this mutation.""" + appStep: AppStepInput! +} + +"""An input for mutations affecting `AppStep`""" +input AppStepInput { + id: UUID + actorId: UUID + + """Name identifier of the level requirement this step fulfills""" + name: String! + + """Number of units completed in this step action""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `OrgPermissionDefault` mutation.""" +type CreateOrgPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgPermissionDefault` that was created by this mutation.""" + orgPermissionDefault: OrgPermissionDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" + orgPermissionDefaultEdge( + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultEdge +} + +"""All input for the create `OrgPermissionDefault` mutation.""" +input CreateOrgPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgPermissionDefault` to be created by this mutation.""" + orgPermissionDefault: OrgPermissionDefaultInput! +} + +"""An input for mutations affecting `OrgPermissionDefault`""" +input OrgPermissionDefaultInput { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString + + """References the entity these default permissions apply to""" + entityId: UUID! +} + +"""The output of our create `AppPermission` mutation.""" +type CreateAppPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppPermission` that was created by this mutation.""" + appPermission: AppPermission + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppPermission`. May be used by Relay 1.""" + appPermissionEdge( + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionEdge +} + +"""All input for the create `AppPermission` mutation.""" +input CreateAppPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppPermission` to be created by this mutation.""" + appPermission: AppPermissionInput! +} + +"""An input for mutations affecting `AppPermission`""" +input AppPermissionInput { + id: UUID + + """Human-readable permission name (e.g. read, write, manage)""" + name: String + + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int + + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String +} + +"""The output of our create `OrgPermission` mutation.""" +type CreateOrgPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgPermission` that was created by this mutation.""" + orgPermission: OrgPermission + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgPermission`. May be used by Relay 1.""" + orgPermissionEdge( + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionEdge +} + +"""All input for the create `OrgPermission` mutation.""" +input CreateOrgPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgPermission` to be created by this mutation.""" + orgPermission: OrgPermissionInput! +} + +"""An input for mutations affecting `OrgPermission`""" +input OrgPermissionInput { + id: UUID + + """Human-readable permission name (e.g. read, write, manage)""" + name: String + + """ + Position of this permission in the bitmask (1-indexed), must be unique per permission set + """ + bitnum: Int + + """ + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations + """ + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String +} + +"""The output of our create `AppLimitCapsDefault` mutation.""" +type CreateAppLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCapsDefault` that was created by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCapsDefault`. May be used by Relay 1.""" + appLimitCapsDefaultEdge( + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultEdge +} + +"""All input for the create `AppLimitCapsDefault` mutation.""" +input CreateAppLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitCapsDefault` to be created by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefaultInput! +} + +"""An input for mutations affecting `AppLimitCapsDefault`""" +input AppLimitCapsDefaultInput { + id: UUID + + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String! + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt +} + +"""The output of our create `OrgLimitCapsDefault` mutation.""" +type CreateOrgLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCapsDefault` that was created by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCapsDefault`. May be used by Relay 1.""" + orgLimitCapsDefaultEdge( + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultEdge +} + +"""All input for the create `OrgLimitCapsDefault` mutation.""" +input CreateOrgLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimitCapsDefault` to be created by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefaultInput! +} + +"""An input for mutations affecting `OrgLimitCapsDefault`""" +input OrgLimitCapsDefaultInput { + id: UUID + + """ + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) + """ + name: String! + + """ + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. + """ + max: BigInt +} + +"""The output of our create `AppLimitCap` mutation.""" +type CreateAppLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCap` that was created by this mutation.""" + appLimitCap: AppLimitCap + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCap`. May be used by Relay 1.""" + appLimitCapEdge( + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapEdge +} + +"""All input for the create `AppLimitCap` mutation.""" +input CreateAppLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitCap` to be created by this mutation.""" + appLimitCap: AppLimitCapInput! +} + +"""An input for mutations affecting `AppLimitCap`""" +input AppLimitCapInput { + id: UUID + + """Name identifier of the cap being overridden""" + name: String! + + """Entity this cap override applies to""" + entityId: UUID! + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our create `OrgLimitCap` mutation.""" +type CreateOrgLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCap` that was created by this mutation.""" + orgLimitCap: OrgLimitCap + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCap`. May be used by Relay 1.""" + orgLimitCapEdge( + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapEdge +} + +"""All input for the create `OrgLimitCap` mutation.""" +input CreateOrgLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimitCap` to be created by this mutation.""" + orgLimitCap: OrgLimitCapInput! +} + +"""An input for mutations affecting `OrgLimitCap`""" +input OrgLimitCapInput { + id: UUID + + """Name identifier of the cap being overridden""" + name: String! + + """Entity this cap override applies to""" + entityId: UUID! + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our create `MembershipType` mutation.""" +type CreateMembershipTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `MembershipType` that was created by this mutation.""" + membershipType: MembershipType + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `MembershipType`. May be used by Relay 1.""" + membershipTypeEdge( + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypeEdge +} + +"""All input for the create `MembershipType` mutation.""" +input CreateMembershipTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `MembershipType` to be created by this mutation.""" + membershipType: MembershipTypeInput! +} + +"""An input for mutations affecting `MembershipType`""" +input MembershipTypeInput { + """ + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + """ + id: Int! + + """Human-readable name of the membership type""" + name: String! + + """Description of what this membership type represents""" + description: String! + + """ + Short prefix used to namespace tables and functions for this membership scope + """ + prefix: String! + + """ + Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) + """ + parentMembershipType: Int + + """ + When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs + """ + hasUsersTableEntry: Boolean +} + +"""The output of our create `MigrateFile` mutation.""" +type CreateMigrateFilePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `MigrateFile` that was created by this mutation.""" + migrateFile: MigrateFile + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `MigrateFile` mutation.""" +input CreateMigrateFileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `MigrateFile` to be created by this mutation.""" + migrateFile: MigrateFileInput! +} + +"""An input for mutations affecting `MigrateFile`""" +input MigrateFileInput { + id: UUID + databaseId: UUID + upload: ConstructiveInternalTypeUpload +} + +"""The output of our create `DefaultPrivilege` mutation.""" +type CreateDefaultPrivilegePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DefaultPrivilege` that was created by this mutation.""" + defaultPrivilege: DefaultPrivilege + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DefaultPrivilege`. May be used by Relay 1.""" + defaultPrivilegeEdge( + """The method to use when ordering `DefaultPrivilege`.""" + orderBy: [DefaultPrivilegeOrderBy!]! = [PRIMARY_KEY_ASC] + ): DefaultPrivilegeEdge +} + +"""All input for the create `DefaultPrivilege` mutation.""" +input CreateDefaultPrivilegeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DefaultPrivilege` to be created by this mutation.""" + defaultPrivilege: DefaultPrivilegeInput! +} + +"""An input for mutations affecting `DefaultPrivilege`""" +input DefaultPrivilegeInput { + id: UUID + databaseId: UUID + schemaId: UUID! + objectType: String! + privilege: String! + granteeName: String! + isGrant: Boolean +} + +"""The output of our create `ViewGrant` mutation.""" +type CreateViewGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ViewGrant` that was created by this mutation.""" + viewGrant: ViewGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ViewGrant`. May be used by Relay 1.""" + viewGrantEdge( + """The method to use when ordering `ViewGrant`.""" + orderBy: [ViewGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewGrantEdge +} + +"""All input for the create `ViewGrant` mutation.""" +input CreateViewGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ViewGrant` to be created by this mutation.""" + viewGrant: ViewGrantInput! +} + +"""An input for mutations affecting `ViewGrant`""" +input ViewGrantInput { + id: UUID + databaseId: UUID + viewId: UUID! + granteeName: String! + privilege: String! + withGrantOption: Boolean + isGrant: Boolean +} + +"""The output of our create `Api` mutation.""" +type CreateApiPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Api` that was created by this mutation.""" + api: Api + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Api`. May be used by Relay 1.""" + apiEdge( + """The method to use when ordering `Api`.""" + orderBy: [ApiOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiEdge +} + +"""All input for the create `Api` mutation.""" +input CreateApiInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Api` to be created by this mutation.""" + api: ApiInput! +} + +"""An input for mutations affecting `Api`""" +input ApiInput { + """Unique identifier for this API""" + id: UUID + + """Reference to the metaschema database this API serves""" + databaseId: UUID! + + """Unique name for this API within its database""" + name: String! + + """PostgreSQL database name to connect to""" + dbname: String + + """PostgreSQL role used for authenticated requests""" + roleName: String + + """PostgreSQL role used for anonymous/unauthenticated requests""" + anonRole: String + + """Whether this API is publicly accessible without authentication""" + isPublic: Boolean +} + +"""The output of our create `ConnectedAccountsModule` mutation.""" +type CreateConnectedAccountsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ConnectedAccountsModule` that was created by this mutation.""" + connectedAccountsModule: ConnectedAccountsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ConnectedAccountsModule`. May be used by Relay 1.""" + connectedAccountsModuleEdge( + """The method to use when ordering `ConnectedAccountsModule`.""" + orderBy: [ConnectedAccountsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ConnectedAccountsModuleEdge +} + +"""All input for the create `ConnectedAccountsModule` mutation.""" +input CreateConnectedAccountsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ConnectedAccountsModule` to be created by this mutation.""" + connectedAccountsModule: ConnectedAccountsModuleInput! +} + +"""An input for mutations affecting `ConnectedAccountsModule`""" +input ConnectedAccountsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String! +} + +"""The output of our create `DevicesModule` mutation.""" +type CreateDevicesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DevicesModule` that was created by this mutation.""" + devicesModule: DevicesModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DevicesModule`. May be used by Relay 1.""" + devicesModuleEdge( + """The method to use when ordering `DevicesModule`.""" + orderBy: [DevicesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DevicesModuleEdge +} + +"""All input for the create `DevicesModule` mutation.""" +input CreateDevicesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DevicesModule` to be created by this mutation.""" + devicesModule: DevicesModuleInput! +} + +"""An input for mutations affecting `DevicesModule`""" +input DevicesModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + userDevicesTableId: UUID + deviceSettingsTableId: UUID + userDevicesTable: String + deviceSettingsTable: String +} + +"""The output of our create `EmailsModule` mutation.""" +type CreateEmailsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `EmailsModule` that was created by this mutation.""" + emailsModule: EmailsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `EmailsModule`. May be used by Relay 1.""" + emailsModuleEdge( + """The method to use when ordering `EmailsModule`.""" + orderBy: [EmailsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailsModuleEdge +} + +"""All input for the create `EmailsModule` mutation.""" +input CreateEmailsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `EmailsModule` to be created by this mutation.""" + emailsModule: EmailsModuleInput! +} + +"""An input for mutations affecting `EmailsModule`""" +input EmailsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String! +} + +"""The output of our create `PhoneNumbersModule` mutation.""" +type CreatePhoneNumbersModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PhoneNumbersModule` that was created by this mutation.""" + phoneNumbersModule: PhoneNumbersModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PhoneNumbersModule`. May be used by Relay 1.""" + phoneNumbersModuleEdge( + """The method to use when ordering `PhoneNumbersModule`.""" + orderBy: [PhoneNumbersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumbersModuleEdge +} + +"""All input for the create `PhoneNumbersModule` mutation.""" +input CreatePhoneNumbersModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PhoneNumbersModule` to be created by this mutation.""" + phoneNumbersModule: PhoneNumbersModuleInput! +} + +"""An input for mutations affecting `PhoneNumbersModule`""" +input PhoneNumbersModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String! +} + +"""The output of our create `UsersModule` mutation.""" +type CreateUsersModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `UsersModule` that was created by this mutation.""" + usersModule: UsersModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `UsersModule`. May be used by Relay 1.""" + usersModuleEdge( + """The method to use when ordering `UsersModule`.""" + orderBy: [UsersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): UsersModuleEdge +} + +"""All input for the create `UsersModule` mutation.""" +input CreateUsersModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `UsersModule` to be created by this mutation.""" + usersModule: UsersModuleInput! +} + +"""An input for mutations affecting `UsersModule`""" +input UsersModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + tableId: UUID + tableName: String + typeTableId: UUID + typeTableName: String +} + +"""The output of our create `WebauthnCredentialsModule` mutation.""" +type CreateWebauthnCredentialsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `WebauthnCredentialsModule` that was created by this mutation.""" + webauthnCredentialsModule: WebauthnCredentialsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `WebauthnCredentialsModule`. May be used by Relay 1.""" + webauthnCredentialsModuleEdge( + """The method to use when ordering `WebauthnCredentialsModule`.""" + orderBy: [WebauthnCredentialsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialsModuleEdge +} + +"""All input for the create `WebauthnCredentialsModule` mutation.""" +input CreateWebauthnCredentialsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `WebauthnCredentialsModule` to be created by this mutation.""" + webauthnCredentialsModule: WebauthnCredentialsModuleInput! +} + +"""An input for mutations affecting `WebauthnCredentialsModule`""" +input WebauthnCredentialsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + + """ + Private schema that hosts SECURITY DEFINER helpers which write to webauthn_credentials (registration / counter-bump / delete). + """ + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String +} + +"""The output of our create `OrgAdminGrant` mutation.""" +type CreateOrgAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgAdminGrant` that was created by this mutation.""" + orgAdminGrant: OrgAdminGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" + orgAdminGrantEdge( + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgAdminGrantEdge +} + +"""All input for the create `OrgAdminGrant` mutation.""" +input CreateOrgAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgAdminGrant` to be created by this mutation.""" + orgAdminGrant: OrgAdminGrantInput! +} + +"""An input for mutations affecting `OrgAdminGrant`""" +input OrgAdminGrantInput { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID! + + """The entity (org or group) this admin grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `OrgOwnerGrant` mutation.""" +type CreateOrgOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgOwnerGrant` that was created by this mutation.""" + orgOwnerGrant: OrgOwnerGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" + orgOwnerGrantEdge( + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantEdge +} + +"""All input for the create `OrgOwnerGrant` mutation.""" +input CreateOrgOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgOwnerGrant` to be created by this mutation.""" + orgOwnerGrant: OrgOwnerGrantInput! +} + +"""An input for mutations affecting `OrgOwnerGrant`""" +input OrgOwnerGrantInput { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID! + + """The entity (org or group) this ownership grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `NodeTypeRegistry` mutation.""" +type CreateNodeTypeRegistryPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `NodeTypeRegistry` that was created by this mutation.""" + nodeTypeRegistry: NodeTypeRegistry + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `NodeTypeRegistry`. May be used by Relay 1.""" + nodeTypeRegistryEdge( + """The method to use when ordering `NodeTypeRegistry`.""" + orderBy: [NodeTypeRegistryOrderBy!]! = [PRIMARY_KEY_ASC] + ): NodeTypeRegistryEdge +} + +"""All input for the create `NodeTypeRegistry` mutation.""" +input CreateNodeTypeRegistryInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `NodeTypeRegistry` to be created by this mutation.""" + nodeTypeRegistry: NodeTypeRegistryInput! +} + +"""An input for mutations affecting `NodeTypeRegistry`""" +input NodeTypeRegistryInput { + name: String! + slug: String! + category: String! + displayName: String + description: String + parameterSchema: JSON + tags: [String] +} + +"""The output of our create `AppLimitDefault` mutation.""" +type CreateAppLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitDefault` that was created by this mutation.""" + appLimitDefault: AppLimitDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitDefault`. May be used by Relay 1.""" + appLimitDefaultEdge( + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitDefaultEdge +} + +"""All input for the create `AppLimitDefault` mutation.""" +input CreateAppLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitDefault` to be created by this mutation.""" + appLimitDefault: AppLimitDefaultInput! +} + +"""An input for mutations affecting `AppLimitDefault`""" +input AppLimitDefaultInput { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String! + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our create `OrgLimitDefault` mutation.""" +type CreateOrgLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitDefault` that was created by this mutation.""" + orgLimitDefault: OrgLimitDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" + orgLimitDefaultEdge( + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultEdge +} + +"""All input for the create `OrgLimitDefault` mutation.""" +input CreateOrgLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimitDefault` to be created by this mutation.""" + orgLimitDefault: OrgLimitDefaultInput! +} + +"""An input for mutations affecting `OrgLimitDefault`""" +input OrgLimitDefaultInput { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String! + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our create `AppLimitCreditCodeItem` mutation.""" +type CreateAppLimitCreditCodeItemPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCreditCodeItem` that was created by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItem + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditCodeItem`. May be used by Relay 1.""" + appLimitCreditCodeItemEdge( + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemEdge +} + +"""All input for the create `AppLimitCreditCodeItem` mutation.""" +input CreateAppLimitCreditCodeItemInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitCreditCodeItem` to be created by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItemInput! +} + +"""An input for mutations affecting `AppLimitCreditCodeItem`""" +input AppLimitCreditCodeItemInput { + id: UUID + + """FK to credit_codes — which code this item belongs to""" + creditCodeId: UUID! + + """FK to default_limits — which limit this item grants credits for""" + defaultLimitId: UUID! + + """Number of credits this item grants per redemption""" + amount: BigInt! + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String +} + +"""The output of our create `UserConnectedAccount` mutation.""" +type CreateUserConnectedAccountPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `UserConnectedAccount` that was created by this mutation.""" + userConnectedAccount: UserConnectedAccount + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `UserConnectedAccount` mutation.""" +input CreateUserConnectedAccountInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `UserConnectedAccount` to be created by this mutation.""" + userConnectedAccount: UserConnectedAccountInput! +} + +"""An input for mutations affecting `UserConnectedAccount`""" +input UserConnectedAccountInput { + id: UUID + ownerId: UUID + service: String + identifier: String + details: JSON + isVerified: Boolean + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `Database` mutation.""" +type CreateDatabasePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Database` that was created by this mutation.""" + database: Database + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Database`. May be used by Relay 1.""" + databaseEdge( + """The method to use when ordering `Database`.""" + orderBy: [DatabaseOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseEdge +} + +"""All input for the create `Database` mutation.""" +input CreateDatabaseInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Database` to be created by this mutation.""" + database: DatabaseInput! +} + +"""An input for mutations affecting `Database`""" +input DatabaseInput { + id: UUID + ownerId: UUID + schemaHash: String + name: String + label: String + hash: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `CryptoAddressesModule` mutation.""" +type CreateCryptoAddressesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `CryptoAddressesModule` that was created by this mutation.""" + cryptoAddressesModule: CryptoAddressesModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `CryptoAddressesModule`. May be used by Relay 1.""" + cryptoAddressesModuleEdge( + """The method to use when ordering `CryptoAddressesModule`.""" + orderBy: [CryptoAddressesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressesModuleEdge +} + +"""All input for the create `CryptoAddressesModule` mutation.""" +input CreateCryptoAddressesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `CryptoAddressesModule` to be created by this mutation.""" + cryptoAddressesModule: CryptoAddressesModuleInput! +} + +"""An input for mutations affecting `CryptoAddressesModule`""" +input CryptoAddressesModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String! + cryptoNetwork: String +} + +"""The output of our create `CryptoAddress` mutation.""" +type CreateCryptoAddressPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `CryptoAddress` that was created by this mutation.""" + cryptoAddress: CryptoAddress + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `CryptoAddress`. May be used by Relay 1.""" + cryptoAddressEdge( + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressEdge +} + +"""All input for the create `CryptoAddress` mutation.""" +input CreateCryptoAddressInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `CryptoAddress` to be created by this mutation.""" + cryptoAddress: CryptoAddressInput! +} + +"""An input for mutations affecting `CryptoAddress`""" +input CryptoAddressInput { + id: UUID + ownerId: UUID + + """ + The cryptocurrency wallet address, validated against network-specific patterns + """ + address: String! + + """Whether ownership of this address has been cryptographically verified""" + isVerified: Boolean + + """Whether this is the user's primary cryptocurrency address""" + isPrimary: Boolean + + """ + Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). + """ + name: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AgentMessage` mutation.""" +type CreateAgentMessagePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AgentMessage` that was created by this mutation.""" + agentMessage: AgentMessage + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AgentMessage`. May be used by Relay 1.""" + agentMessageEdge( + """The method to use when ordering `AgentMessage`.""" + orderBy: [AgentMessageOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentMessageEdge +} + +"""All input for the create `AgentMessage` mutation.""" +input CreateAgentMessageInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AgentMessage` to be created by this mutation.""" + agentMessage: AgentMessageInput! +} + +"""An input for mutations affecting `AgentMessage`""" +input AgentMessageInput { + """ + Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. + """ + threadId: UUID! + + """ + Entity (org/group/personal-org id) this message is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger, which copies it from agent_thread.entity_id via thread_id; the application never sets this column directly. Used for org-scoped grouping queries (e.g. 'all my messages in org X'), NOT for RLS — RLS is owner-only. + """ + entityId: UUID! + + """ + Who authored this message: 'user' or 'assistant'. Stored as free-text (no CHECK) so additional roles can be introduced without migration. Tool inputs/outputs do NOT get their own role — they appear as ToolPart entries inside the assistant message's `parts` array. + """ + authorRole: String! + id: UUID + + """Timestamp when this record was created""" + createdAt: Datetime + + """Timestamp when this record was last updated""" + updatedAt: Datetime + + """User who owns this record""" + ownerId: UUID + + """JSON metadata for extensible key-value storage""" + parts: JSON +} + +"""The output of our create `Object` mutation.""" +type CreateObjectPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Object` that was created by this mutation.""" + object: Object + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Object`. May be used by Relay 1.""" + objectEdge( + """The method to use when ordering `Object`.""" + orderBy: [ObjectOrderBy!]! = [PRIMARY_KEY_ASC] + ): ObjectEdge +} + +"""All input for the create `Object` mutation.""" +input CreateObjectInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Object` to be created by this mutation.""" + object: ObjectInput! +} + +"""An input for mutations affecting `Object`""" +input ObjectInput { + id: UUID! + databaseId: UUID! + kids: [UUID] + ktree: [String] + data: JSON + frzn: Boolean + createdAt: Datetime +} + +"""The output of our create `SiteMetadatum` mutation.""" +type CreateSiteMetadatumPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SiteMetadatum` that was created by this mutation.""" + siteMetadatum: SiteMetadatum + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SiteMetadatum`. May be used by Relay 1.""" + siteMetadatumEdge( + """The method to use when ordering `SiteMetadatum`.""" + orderBy: [SiteMetadatumOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteMetadatumEdge +} + +"""All input for the create `SiteMetadatum` mutation.""" +input CreateSiteMetadatumInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SiteMetadatum` to be created by this mutation.""" + siteMetadatum: SiteMetadatumInput! +} + +"""An input for mutations affecting `SiteMetadatum`""" +input SiteMetadatumInput { + """Unique identifier for this metadata record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """Site this metadata belongs to""" + siteId: UUID! + + """Page title for SEO (max 120 characters)""" + title: String + + """Meta description for SEO and social sharing (max 120 characters)""" + description: String + + """Open Graph image for social media previews""" + ogImage: ConstructiveInternalTypeImage +} + +"""The output of our create `AppLevelRequirement` mutation.""" +type CreateAppLevelRequirementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLevelRequirement` that was created by this mutation.""" + appLevelRequirement: AppLevelRequirement + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" + appLevelRequirementEdge( + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelRequirementEdge +} + +"""All input for the create `AppLevelRequirement` mutation.""" +input CreateAppLevelRequirementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLevelRequirement` to be created by this mutation.""" + appLevelRequirement: AppLevelRequirementInput! +} + +"""An input for mutations affecting `AppLevelRequirement`""" +input AppLevelRequirementInput { + id: UUID + + """Name identifier of the requirement (matches step names)""" + name: String! + + """Name of the level this requirement belongs to""" + level: String! + + """Human-readable description of what this requirement entails""" + description: String + + """Number of steps needed to satisfy this requirement""" + requiredCount: Int + + """Display ordering priority; lower values appear first""" + priority: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppLimitCredit` mutation.""" +type CreateAppLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitCredit` that was created by this mutation.""" + appLimitCredit: AppLimitCredit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCredit`. May be used by Relay 1.""" + appLimitCreditEdge( + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditEdge +} + +"""All input for the create `AppLimitCredit` mutation.""" +input CreateAppLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitCredit` to be created by this mutation.""" + appLimitCredit: AppLimitCreditInput! +} + +"""An input for mutations affecting `AppLimitCredit`""" +input AppLimitCreditInput { + id: UUID + + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! + + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String +} + +"""The output of our create `OrgLimitCredit` mutation.""" +type CreateOrgLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitCredit` that was created by this mutation.""" + orgLimitCredit: OrgLimitCredit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitCredit`. May be used by Relay 1.""" + orgLimitCreditEdge( + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCreditEdge +} + +"""All input for the create `OrgLimitCredit` mutation.""" +input CreateOrgLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimitCredit` to be created by this mutation.""" + orgLimitCredit: OrgLimitCreditInput! +} + +"""An input for mutations affecting `OrgLimitCredit`""" +input OrgLimitCreditInput { + id: UUID + + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID! + + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Entity this credit applies to; NULL for actor-only credits""" + entityId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt! + + """ + Credit durability: permanent (survives window reset) or period (resets on window expiry) + """ + creditType: String + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String +} + +"""The output of our create `FullTextSearch` mutation.""" +type CreateFullTextSearchPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `FullTextSearch` that was created by this mutation.""" + fullTextSearch: FullTextSearch + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `FullTextSearch`. May be used by Relay 1.""" + fullTextSearchEdge( + """The method to use when ordering `FullTextSearch`.""" + orderBy: [FullTextSearchOrderBy!]! = [PRIMARY_KEY_ASC] + ): FullTextSearchEdge +} + +"""All input for the create `FullTextSearch` mutation.""" +input CreateFullTextSearchInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `FullTextSearch` to be created by this mutation.""" + fullTextSearch: FullTextSearchInput! +} + +"""An input for mutations affecting `FullTextSearch`""" +input FullTextSearchInput { + id: UUID + databaseId: UUID + tableId: UUID! + fieldId: UUID! + fieldIds: [UUID]! + weights: [String]! + langs: [String]! + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `TableGrant` mutation.""" +type CreateTableGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `TableGrant` that was created by this mutation.""" + tableGrant: TableGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `TableGrant`. May be used by Relay 1.""" + tableGrantEdge( + """The method to use when ordering `TableGrant`.""" + orderBy: [TableGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): TableGrantEdge +} + +"""All input for the create `TableGrant` mutation.""" +input CreateTableGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `TableGrant` to be created by this mutation.""" + tableGrant: TableGrantInput! +} + +"""An input for mutations affecting `TableGrant`""" +input TableGrantInput { + id: UUID + databaseId: UUID + tableId: UUID! + privilege: String! + granteeName: String! + fieldIds: [UUID] + isGrant: Boolean + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `Commit` mutation.""" +type CreateCommitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Commit` that was created by this mutation.""" + commit: Commit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Commit`. May be used by Relay 1.""" + commitEdge( + """The method to use when ordering `Commit`.""" + orderBy: [CommitOrderBy!]! = [PRIMARY_KEY_ASC] + ): CommitEdge +} + +"""All input for the create `Commit` mutation.""" +input CreateCommitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Commit` to be created by this mutation.""" + commit: CommitInput! +} + +"""An input for mutations affecting `Commit`""" +input CommitInput { + """The primary unique identifier for the commit.""" + id: UUID + + """The commit message""" + message: String + + """The repository identifier""" + databaseId: UUID! + storeId: UUID! + + """Parent commits""" + parentIds: [UUID] + + """The author of the commit""" + authorId: UUID + + """The committer of the commit""" + committerId: UUID + + """The root of the tree""" + treeId: UUID + date: Datetime +} + +"""The output of our create `PubkeySetting` mutation.""" +type CreatePubkeySettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PubkeySetting` that was created by this mutation.""" + pubkeySetting: PubkeySetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PubkeySetting`. May be used by Relay 1.""" + pubkeySettingEdge( + """The method to use when ordering `PubkeySetting`.""" + orderBy: [PubkeySettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): PubkeySettingEdge +} + +"""All input for the create `PubkeySetting` mutation.""" +input CreatePubkeySettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PubkeySetting` to be created by this mutation.""" + pubkeySetting: PubkeySettingInput! +} + +"""An input for mutations affecting `PubkeySetting`""" +input PubkeySettingInput { + """Unique identifier for this pubkey settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """ + Schema containing the crypto auth functions (FK to metaschema_public.schema) + """ + schemaId: UUID + + """Crypto network for key derivation (e.g. cosmos, ethereum)""" + cryptoNetwork: String + + """Field name used to identify the user in crypto auth functions""" + userField: String + + """ + Reference to the sign-up-with-key function (FK to metaschema_public.function) + """ + signUpWithKeyFunctionId: UUID + + """ + Reference to the sign-in challenge request function (FK to metaschema_public.function) + """ + signInRequestChallengeFunctionId: UUID + + """ + Reference to the sign-in failure recording function (FK to metaschema_public.function) + """ + signInRecordFailureFunctionId: UUID + + """ + Reference to the sign-in-with-challenge function (FK to metaschema_public.function) + """ + signInWithChallengeFunctionId: UUID +} + +"""The output of our create `RateLimitsModule` mutation.""" +type CreateRateLimitsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `RateLimitsModule` that was created by this mutation.""" + rateLimitsModule: RateLimitsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `RateLimitsModule`. May be used by Relay 1.""" + rateLimitsModuleEdge( + """The method to use when ordering `RateLimitsModule`.""" + orderBy: [RateLimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): RateLimitsModuleEdge +} + +"""All input for the create `RateLimitsModule` mutation.""" +input CreateRateLimitsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `RateLimitsModule` to be created by this mutation.""" + rateLimitsModule: RateLimitsModuleInput! +} + +"""An input for mutations affecting `RateLimitsModule`""" +input RateLimitsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + rateLimitSettingsTableId: UUID + ipRateLimitsTableId: UUID + rateLimitsTableId: UUID + rateLimitSettingsTable: String + ipRateLimitsTable: String + rateLimitsTable: String +} + +"""The output of our create `OrgChartEdgeGrant` mutation.""" +type CreateOrgChartEdgeGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgChartEdgeGrant` that was created by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" + orgChartEdgeGrantEdge( + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantEdge +} + +"""All input for the create `OrgChartEdgeGrant` mutation.""" +input CreateOrgChartEdgeGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgChartEdgeGrant` to be created by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrantInput! +} + +"""An input for mutations affecting `OrgChartEdgeGrant`""" +input OrgChartEdgeGrantInput { + id: UUID + + """Organization this grant applies to""" + entityId: UUID! + + """User ID of the subordinate being placed in the hierarchy""" + childId: UUID! + + """User ID of the manager being assigned; NULL for top-level positions""" + parentId: UUID + + """ + User ID of the admin who performed this grant or revocation; NULL if grantor was deleted + """ + grantorId: UUID + + """TRUE to add/update the edge, FALSE to remove it""" + isGrant: Boolean + + """Job title or role name being assigned in this grant""" + positionTitle: String + + """Numeric seniority level being assigned in this grant""" + positionLevel: Int + + """Timestamp when this grant or revocation was recorded""" + createdAt: Datetime +} + +"""The output of our create `PhoneNumber` mutation.""" +type CreatePhoneNumberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PhoneNumber` that was created by this mutation.""" + phoneNumber: PhoneNumber + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PhoneNumber`. May be used by Relay 1.""" + phoneNumberEdge( + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumberEdge +} + +"""All input for the create `PhoneNumber` mutation.""" +input CreatePhoneNumberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PhoneNumber` to be created by this mutation.""" + phoneNumber: PhoneNumberInput! +} + +"""An input for mutations affecting `PhoneNumber`""" +input PhoneNumberInput { + id: UUID + ownerId: UUID + + """Country calling code (e.g. +1, +44)""" + cc: String! + + """The phone number without country code""" + number: String! + + """Whether the phone number has been verified via SMS code""" + isVerified: Boolean + + """Whether this is the user's primary phone number""" + isPrimary: Boolean + + """ + Optional user-provided label for this phone number (e.g. "Mobile", "Work"). + """ + name: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppClaimedInvite` mutation.""" +type CreateAppClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppClaimedInvite` that was created by this mutation.""" + appClaimedInvite: AppClaimedInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" + appClaimedInviteEdge( + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppClaimedInviteEdge +} + +"""All input for the create `AppClaimedInvite` mutation.""" +input CreateAppClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppClaimedInvite` to be created by this mutation.""" + appClaimedInvite: AppClaimedInviteInput! +} + +"""An input for mutations affecting `AppClaimedInvite`""" +input AppClaimedInviteInput { + id: UUID + + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppMembershipDefault` mutation.""" +type CreateAppMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppMembershipDefault` that was created by this mutation.""" + appMembershipDefault: AppMembershipDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" + appMembershipDefaultEdge( + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultEdge +} + +"""All input for the create `AppMembershipDefault` mutation.""" +input CreateAppMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppMembershipDefault` to be created by this mutation.""" + appMembershipDefault: AppMembershipDefaultInput! +} + +"""An input for mutations affecting `AppMembershipDefault`""" +input AppMembershipDefaultInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether new members are automatically approved upon joining""" + isApproved: Boolean + + """Whether new members are automatically verified upon joining""" + isVerified: Boolean +} + +"""The output of our create `OrgMembershipDefault` mutation.""" +type CreateOrgMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMembershipDefault` that was created by this mutation.""" + orgMembershipDefault: OrgMembershipDefault + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" + orgMembershipDefaultEdge( + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultEdge +} + +"""All input for the create `OrgMembershipDefault` mutation.""" +input CreateOrgMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgMembershipDefault` to be created by this mutation.""" + orgMembershipDefault: OrgMembershipDefaultInput! +} + +"""An input for mutations affecting `OrgMembershipDefault`""" +input OrgMembershipDefaultInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether new members are automatically approved upon joining""" + isApproved: Boolean + + """References the entity these membership defaults apply to""" + entityId: UUID! +} + +"""The output of our create `AuditLog` mutation.""" +type CreateAuditLogPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AuditLog` that was created by this mutation.""" + auditLog: AuditLog + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AuditLog`. May be used by Relay 1.""" + auditLogEdge( + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] + ): AuditLogEdge +} + +"""All input for the create `AuditLog` mutation.""" +input CreateAuditLogInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AuditLog` to be created by this mutation.""" + auditLog: AuditLogInput! +} + +"""An input for mutations affecting `AuditLog`""" +input AuditLogInput { + id: UUID + + """ + Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) + """ + event: String! + + """User who performed the authentication action; NULL if user was deleted""" + actorId: UUID + + """Request origin (domain) where the auth event occurred""" + origin: ConstructiveInternalTypeOrigin + + """Browser or client user-agent string from the request""" + userAgent: String + + """IP address of the client that initiated the auth event""" + ipAddress: InternetAddress + + """Whether the authentication attempt succeeded""" + success: Boolean! + + """Timestamp when the audit event was recorded""" + createdAt: Datetime +} + +"""The output of our create `Domain` mutation.""" +type CreateDomainPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Domain` that was created by this mutation.""" + domain: Domain + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Domain`. May be used by Relay 1.""" + domainEdge( + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!]! = [PRIMARY_KEY_ASC] + ): DomainEdge +} + +"""All input for the create `Domain` mutation.""" +input CreateDomainInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Domain` to be created by this mutation.""" + domain: DomainInput! +} + +"""An input for mutations affecting `Domain`""" +input DomainInput { + """Unique identifier for this domain record""" + id: UUID + + """Reference to the metaschema database this domain belongs to""" + databaseId: UUID! + + """API endpoint this domain routes to (mutually exclusive with site_id)""" + apiId: UUID + + """Site this domain routes to (mutually exclusive with api_id)""" + siteId: UUID + + """Subdomain portion of the hostname""" + subdomain: ConstructiveInternalTypeHostname + + """Root domain of the hostname""" + domain: ConstructiveInternalTypeHostname +} + +"""The output of our create `RlsSetting` mutation.""" +type CreateRlsSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `RlsSetting` that was created by this mutation.""" + rlsSetting: RlsSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `RlsSetting`. May be used by Relay 1.""" + rlsSettingEdge( + """The method to use when ordering `RlsSetting`.""" + orderBy: [RlsSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): RlsSettingEdge +} + +"""All input for the create `RlsSetting` mutation.""" +input CreateRlsSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `RlsSetting` to be created by this mutation.""" + rlsSetting: RlsSettingInput! +} + +"""An input for mutations affecting `RlsSetting`""" +input RlsSettingInput { + """Unique identifier for this RLS settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """ + Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) + """ + authenticateSchemaId: UUID + + """ + Schema containing current_role and related functions (FK to metaschema_public.schema) + """ + roleSchemaId: UUID + + """ + Reference to the authenticate function (FK to metaschema_public.function) + """ + authenticateFunctionId: UUID + + """ + Reference to the strict authenticate function (FK to metaschema_public.function) + """ + authenticateStrictFunctionId: UUID + + """ + Reference to the current_role function (FK to metaschema_public.function) + """ + currentRoleFunctionId: UUID + + """ + Reference to the current_role_id function (FK to metaschema_public.function) + """ + currentRoleIdFunctionId: UUID + + """ + Reference to the current_user_agent function (FK to metaschema_public.function) + """ + currentUserAgentFunctionId: UUID + + """ + Reference to the current_ip_address function (FK to metaschema_public.function) + """ + currentIpAddressFunctionId: UUID +} + +"""The output of our create `AgentTask` mutation.""" +type CreateAgentTaskPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AgentTask` that was created by this mutation.""" + agentTask: AgentTask + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AgentTask`. May be used by Relay 1.""" + agentTaskEdge( + """The method to use when ordering `AgentTask`.""" + orderBy: [AgentTaskOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentTaskEdge +} + +"""All input for the create `AgentTask` mutation.""" +input CreateAgentTaskInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AgentTask` to be created by this mutation.""" + agentTask: AgentTaskInput! +} + +"""An input for mutations affecting `AgentTask`""" +input AgentTaskInput { + """ + Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. + """ + threadId: UUID! + + """ + Entity (org/group/personal-org id) this task is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger from agent_thread.entity_id via thread_id; the application never sets this column directly. + """ + entityId: UUID! + + """Natural-language description of the work to do. Required.""" + description: String! + + """ + Who created the task: 'agent' (added by the LLM during planning) or 'user' (added manually by the human). Stored as free-text (no CHECK) so additional sources can be introduced later. + """ + source: String + + """ + Error message captured when the task transitioned to 'failed'. NULL while the task is still pending/in-progress, or when it completed successfully. + """ + error: String + id: UUID + + """Timestamp when this record was created""" + createdAt: Datetime + + """Timestamp when this record was last updated""" + updatedAt: Datetime + + """User who owns this record""" + ownerId: UUID + + """Current status of this record""" + status: String +} + +"""The output of our create `AgentThread` mutation.""" +type CreateAgentThreadPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AgentThread` that was created by this mutation.""" + agentThread: AgentThread + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AgentThread`. May be used by Relay 1.""" + agentThreadEdge( + """The method to use when ordering `AgentThread`.""" + orderBy: [AgentThreadOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentThreadEdge +} + +"""All input for the create `AgentThread` mutation.""" +input CreateAgentThreadInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AgentThread` to be created by this mutation.""" + agentThread: AgentThreadInput! +} + +"""An input for mutations affecting `AgentThread`""" +input AgentThreadInput { + """ + Human-readable conversation title. Typically auto-generated from the first user message and editable by the user. NULL until a title has been computed. + """ + title: String + + """ + Conversation mode: 'ask' for plain Q&A (no tool execution) or 'agent' for tool-enabled execution. Stored as free-text (no CHECK) so new modes can be added without migration. + """ + mode: String + + """ + Snapshot of the LLM model id this thread is bound to (e.g. 'gpt-5', 'claude-sonnet-4'). Captured on creation so a resumed conversation stays on the same model even if app defaults change. NULL means use the app default at request time. + """ + model: String + + """ + Snapshot of the system prompt active for this thread. Stored on the thread (rather than referenced from a registry) so the conversation remains reproducible even if a future system_prompt registry changes its canonical text. NULL means use the app default at request time. + """ + systemPrompt: String + id: UUID + + """Timestamp when this record was created""" + createdAt: Datetime + + """Timestamp when this record was last updated""" + updatedAt: Datetime + + """User who owns this record within the entity""" + ownerId: UUID + + """Entity this record belongs to""" + entityId: UUID! + + """Current status of this record""" + status: String +} + +"""The output of our create `Email` mutation.""" +type CreateEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Email` that was created by this mutation.""" + email: Email + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Email`. May be used by Relay 1.""" + emailEdge( + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailEdge +} + +"""All input for the create `Email` mutation.""" +input CreateEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Email` to be created by this mutation.""" + email: EmailInput! +} + +"""An input for mutations affecting `Email`""" +input EmailInput { + id: UUID + ownerId: UUID + + """The email address""" + email: ConstructiveInternalTypeEmail! + + """Whether the email address has been verified via confirmation link""" + isVerified: Boolean + + """Whether this is the user's primary email address""" + isPrimary: Boolean + + """Optional user-provided label for this email (e.g. "Work", "Personal").""" + name: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppGrant` mutation.""" +type CreateAppGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppGrant` that was created by this mutation.""" + appGrant: AppGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppGrant`. May be used by Relay 1.""" + appGrantEdge( + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppGrantEdge +} + +"""All input for the create `AppGrant` mutation.""" +input CreateAppGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppGrant` to be created by this mutation.""" + appGrant: AppGrantInput! +} + +"""An input for mutations affecting `AppGrant`""" +input AppGrantInput { + id: UUID + + """Bitmask of permissions being granted or revoked""" + permissions: BitString + + """True to grant the permissions, false to revoke them""" + isGrant: Boolean + + """The member receiving or losing the permission grant""" + actorId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `OrgClaimedInvite` mutation.""" +type CreateOrgClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgClaimedInvite` that was created by this mutation.""" + orgClaimedInvite: OrgClaimedInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" + orgClaimedInviteEdge( + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteEdge +} + +"""All input for the create `OrgClaimedInvite` mutation.""" +input CreateOrgClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgClaimedInvite` to be created by this mutation.""" + orgClaimedInvite: OrgClaimedInviteInput! +} + +"""An input for mutations affecting `OrgClaimedInvite`""" +input OrgClaimedInviteInput { + id: UUID + + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime + entityId: UUID! +} + +"""The output of our create `AppLimitEvent` mutation.""" +type CreateAppLimitEventPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimitEvent` that was created by this mutation.""" + appLimitEvent: AppLimitEvent + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `AppLimitEvent` mutation.""" +input CreateAppLimitEventInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimitEvent` to be created by this mutation.""" + appLimitEvent: AppLimitEventInput! +} + +"""An input for mutations affecting `AppLimitEvent`""" +input AppLimitEventInput { + """Limit name this event applies to""" + name: String + + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID + + """Entity this event applies to; NULL for app-level events""" + entityId: UUID + + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String + + """Change amount: positive for increment, negative for decrement""" + delta: BigInt + + """Usage count before this event""" + numBefore: BigInt + + """Usage count after this event""" + numAfter: BigInt + + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt + + """ + Optional reason or source: achievement, invite, plan_change, purchase, etc. + """ + reason: String +} + +"""The output of our create `OrgLimitEvent` mutation.""" +type CreateOrgLimitEventPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitEvent` that was created by this mutation.""" + orgLimitEvent: OrgLimitEvent + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `OrgLimitEvent` mutation.""" +input CreateOrgLimitEventInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimitEvent` to be created by this mutation.""" + orgLimitEvent: OrgLimitEventInput! +} + +"""An input for mutations affecting `OrgLimitEvent`""" +input OrgLimitEventInput { + """Limit name this event applies to""" + name: String + + """User who triggered this event; NULL for system/aggregate events""" + actorId: UUID + + """Entity this event applies to; NULL for app-level events""" + entityId: UUID + + """Event type: inc, dec, check, modify, transfer, apply_plan, reset""" + eventType: String + + """Change amount: positive for increment, negative for decrement""" + delta: BigInt + + """Usage count before this event""" + numBefore: BigInt + + """Usage count after this event""" + numAfter: BigInt + + """Max limit ceiling at the time of this event""" + maxAtEvent: BigInt + + """ + Optional reason or source: achievement, invite, plan_change, purchase, etc. + """ + reason: String +} + +"""The output of our create `OrgChartEdge` mutation.""" +type CreateOrgChartEdgePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgChartEdge` that was created by this mutation.""" + orgChartEdge: OrgChartEdge + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgChartEdge`. May be used by Relay 1.""" + orgChartEdgeEdge( + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeEdge +} + +"""All input for the create `OrgChartEdge` mutation.""" +input CreateOrgChartEdgeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgChartEdge` to be created by this mutation.""" + orgChartEdge: OrgChartEdgeInput! +} + +"""An input for mutations affecting `OrgChartEdge`""" +input OrgChartEdgeInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + + """Organization this hierarchy edge belongs to""" + entityId: UUID! + + """User ID of the subordinate (employee) in this reporting relationship""" + childId: UUID! + + """ + User ID of the manager; NULL indicates a top-level position with no direct report + """ + parentId: UUID + + """Job title or role name for this position in the org chart""" + positionTitle: String + + """Numeric seniority level for this position (higher = more senior)""" + positionLevel: Int +} + +"""The output of our create `Partition` mutation.""" +type CreatePartitionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Partition` that was created by this mutation.""" + partition: Partition + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Partition`. May be used by Relay 1.""" + partitionEdge( + """The method to use when ordering `Partition`.""" + orderBy: [PartitionOrderBy!]! = [PRIMARY_KEY_ASC] + ): PartitionEdge +} + +"""All input for the create `Partition` mutation.""" +input CreatePartitionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Partition` to be created by this mutation.""" + partition: PartitionInput! +} + +"""An input for mutations affecting `Partition`""" +input PartitionInput { + id: UUID + databaseId: UUID! + tableId: UUID! + strategy: String! + partitionKeyId: UUID! + interval: String + retention: String + lookahead: Int + namingPattern: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `BlueprintConstruction` mutation.""" +type CreateBlueprintConstructionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `BlueprintConstruction` that was created by this mutation.""" + blueprintConstruction: BlueprintConstruction + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `BlueprintConstruction`. May be used by Relay 1.""" + blueprintConstructionEdge( + """The method to use when ordering `BlueprintConstruction`.""" + orderBy: [BlueprintConstructionOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintConstructionEdge +} + +"""All input for the create `BlueprintConstruction` mutation.""" +input CreateBlueprintConstructionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `BlueprintConstruction` to be created by this mutation.""" + blueprintConstruction: BlueprintConstructionInput! +} + +"""An input for mutations affecting `BlueprintConstruction`""" +input BlueprintConstructionInput { + """Unique identifier for this construction attempt.""" + id: UUID + + """The blueprint that was constructed.""" + blueprintId: UUID! + + """The database the blueprint was constructed into.""" + databaseId: UUID! + + """ + The default schema used for tables that did not specify an explicit schema_name. NULL if not yet resolved. + """ + schemaId: UUID + + """ + Execution state of this construction attempt. pending: created but not yet started. constructing: currently executing. constructed: successfully completed. failed: execution failed (see error_details). + """ + status: String + + """ + Error message from a failed construction attempt. NULL unless status is failed. + """ + errorDetails: String + + """ + Mapping of table names to created table UUIDs, populated after successful construction. Format: {"products": "uuid", "categories": "uuid", ...}. Defaults to empty object. + """ + tableMap: JSON + + """ + Immutable snapshot of the definition at construct-time. Preserved so the exact definition that was executed is recorded even if the user later modifies the blueprint definition. + """ + constructedDefinition: JSON + + """ + Timestamp when construction successfully completed. NULL until constructed. + """ + constructedAt: Datetime + + """Timestamp when this construction attempt was created.""" + createdAt: Datetime + + """Timestamp when this construction attempt was last modified.""" + updatedAt: Datetime +} + +"""The output of our create `RlsModule` mutation.""" +type CreateRlsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `RlsModule` that was created by this mutation.""" + rlsModule: RlsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `RlsModule`. May be used by Relay 1.""" + rlsModuleEdge( + """The method to use when ordering `RlsModule`.""" + orderBy: [RlsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): RlsModuleEdge +} + +"""All input for the create `RlsModule` mutation.""" +input CreateRlsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `RlsModule` to be created by this mutation.""" + rlsModule: RlsModuleInput! +} + +"""An input for mutations affecting `RlsModule`""" +input RlsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + sessionCredentialsTableId: UUID + sessionsTableId: UUID + usersTableId: UUID + authenticate: String + authenticateStrict: String + currentRole: String + currentRoleId: String +} + +"""The output of our create `SessionsModule` mutation.""" +type CreateSessionsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SessionsModule` that was created by this mutation.""" + sessionsModule: SessionsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SessionsModule`. May be used by Relay 1.""" + sessionsModuleEdge( + """The method to use when ordering `SessionsModule`.""" + orderBy: [SessionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SessionsModuleEdge +} + +"""All input for the create `SessionsModule` mutation.""" +input CreateSessionsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SessionsModule` to be created by this mutation.""" + sessionsModule: SessionsModuleInput! +} + +"""An input for mutations affecting `SessionsModule`""" +input SessionsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + authSettingsTableId: UUID + usersTableId: UUID + sessionsDefaultExpiration: IntervalInput + sessionsTable: String + sessionCredentialsTable: String + authSettingsTable: String +} + +"""The output of our create `OrgGrant` mutation.""" +type CreateOrgGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgGrant` that was created by this mutation.""" + orgGrant: OrgGrant + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgGrant`. May be used by Relay 1.""" + orgGrantEdge( + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgGrantEdge +} + +"""All input for the create `OrgGrant` mutation.""" +input CreateOrgGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgGrant` to be created by this mutation.""" + orgGrant: OrgGrantInput! +} + +"""An input for mutations affecting `OrgGrant`""" +input OrgGrantInput { + id: UUID + + """Bitmask of permissions being granted or revoked""" + permissions: BitString + + """True to grant the permissions, false to revoke them""" + isGrant: Boolean + + """The member receiving or losing the permission grant""" + actorId: UUID! + + """The entity (org or group) this permission grant applies to""" + entityId: UUID! + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `AppLevel` mutation.""" +type CreateAppLevelPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLevel` that was created by this mutation.""" + appLevel: AppLevel + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLevel`. May be used by Relay 1.""" + appLevelEdge( + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelEdge +} + +"""All input for the create `AppLevel` mutation.""" +input CreateAppLevelInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLevel` to be created by this mutation.""" + appLevel: AppLevelInput! +} + +"""An input for mutations affecting `AppLevel`""" +input AppLevelInput { + id: UUID + + """Unique name of the level""" + name: String! + + """Human-readable description of what this level represents""" + description: String + + """Badge or icon image associated with this level""" + image: ConstructiveInternalTypeImage + + """Optional owner (actor) who created or manages this level""" + ownerId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `DatabaseSetting` mutation.""" +type CreateDatabaseSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DatabaseSetting` that was created by this mutation.""" + databaseSetting: DatabaseSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DatabaseSetting`. May be used by Relay 1.""" + databaseSettingEdge( + """The method to use when ordering `DatabaseSetting`.""" + orderBy: [DatabaseSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseSettingEdge +} + +"""All input for the create `DatabaseSetting` mutation.""" +input CreateDatabaseSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DatabaseSetting` to be created by this mutation.""" + databaseSetting: DatabaseSettingInput! +} + +"""An input for mutations affecting `DatabaseSetting`""" +input DatabaseSettingInput { + """Unique identifier for this settings record""" + id: UUID + + """Reference to the metaschema database these settings apply to""" + databaseId: UUID! + + """Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API""" + enableAggregates: Boolean + + """Enable PostGIS spatial types and operators in the GraphQL API""" + enablePostgis: Boolean + + """ + Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API + """ + enableSearch: Boolean + + """Enable direct (multipart) file upload mutations in the GraphQL API""" + enableDirectUploads: Boolean + + """Enable presigned URL upload flow for S3/MinIO storage""" + enablePresignedUploads: Boolean + + """Enable many-to-many relationship queries in the GraphQL API""" + enableManyToMany: Boolean + + """Enable connection filter (where argument) in the GraphQL API""" + enableConnectionFilter: Boolean + + """Enable ltree hierarchical data type support in the GraphQL API""" + enableLtree: Boolean + + """Enable LLM/AI integration features in the GraphQL API""" + enableLlm: Boolean + + """ + Extensible JSON for additional settings that do not have dedicated columns + """ + options: JSON +} + +"""The output of our create `Blueprint` mutation.""" +type CreateBlueprintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Blueprint` that was created by this mutation.""" + blueprint: Blueprint + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Blueprint`. May be used by Relay 1.""" + blueprintEdge( + """The method to use when ordering `Blueprint`.""" + orderBy: [BlueprintOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintEdge +} + +"""All input for the create `Blueprint` mutation.""" +input CreateBlueprintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Blueprint` to be created by this mutation.""" + blueprint: BlueprintInput! +} + +"""An input for mutations affecting `Blueprint`""" +input BlueprintInput { + """Unique identifier for this blueprint.""" + id: UUID + + """The user who owns this blueprint.""" + ownerId: UUID! + + """ + The database this blueprint is scoped to. Tables created by construct_blueprint() are provisioned in this database. + """ + databaseId: UUID! + + """Machine-readable name for the blueprint. Must be unique per database.""" + name: String! + + """Human-readable display name for the blueprint.""" + displayName: String! + + """Optional description of the blueprint.""" + description: String + + """ + The blueprint definition as a JSONB document. Contains tables[] (each with table_name, optional schema_name, nodes[] for data behaviors, fields[], grants[], and policies[] using $type), relations[] (using $type with source_table/target_table and optional source_schema/target_schema), indexes[] (using table_name + column), and full_text_searches[] (using table_name + field + sources[]). Everything is name-based — no UUIDs in the definition. + """ + definition: JSON! + + """ + If this blueprint was created by copying a template, the ID of the source template. NULL if built from scratch. + """ + templateId: UUID + + """ + UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication and provenance tracking. Backend-computed — clients should never set this directly. + """ + definitionHash: UUID + + """ + JSONB map of table names to their individual UUIDv5 content hashes. Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across blueprints and templates. Backend-computed via trigger. + """ + tableHashes: JSON + + """Timestamp when this blueprint was created.""" + createdAt: Datetime + + """Timestamp when this blueprint was last modified.""" + updatedAt: Datetime +} + +"""The output of our create `DenormalizedTableField` mutation.""" +type CreateDenormalizedTableFieldPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DenormalizedTableField` that was created by this mutation.""" + denormalizedTableField: DenormalizedTableField + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DenormalizedTableField`. May be used by Relay 1.""" + denormalizedTableFieldEdge( + """The method to use when ordering `DenormalizedTableField`.""" + orderBy: [DenormalizedTableFieldOrderBy!]! = [PRIMARY_KEY_ASC] + ): DenormalizedTableFieldEdge +} + +"""All input for the create `DenormalizedTableField` mutation.""" +input CreateDenormalizedTableFieldInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DenormalizedTableField` to be created by this mutation.""" + denormalizedTableField: DenormalizedTableFieldInput! +} + +"""An input for mutations affecting `DenormalizedTableField`""" +input DenormalizedTableFieldInput { + id: UUID + databaseId: UUID! + tableId: UUID! + fieldId: UUID! + setIds: [UUID] + refTableId: UUID! + refFieldId: UUID! + refIds: [UUID] + useUpdates: Boolean + updateDefaults: Boolean + funcName: String + funcOrder: Int +} + +"""The output of our create `ApiSetting` mutation.""" +type CreateApiSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ApiSetting` that was created by this mutation.""" + apiSetting: ApiSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `ApiSetting`. May be used by Relay 1.""" + apiSettingEdge( + """The method to use when ordering `ApiSetting`.""" + orderBy: [ApiSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiSettingEdge +} + +"""All input for the create `ApiSetting` mutation.""" +input CreateApiSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `ApiSetting` to be created by this mutation.""" + apiSetting: ApiSettingInput! +} + +"""An input for mutations affecting `ApiSetting`""" +input ApiSettingInput { + """Unique identifier for this API settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """API these settings override for""" + apiId: UUID! + + """ + Override: enable aggregate queries (NULL = inherit from database_settings) + """ + enableAggregates: Boolean + + """ + Override: enable PostGIS spatial types (NULL = inherit from database_settings) + """ + enablePostgis: Boolean + + """ + Override: enable unified search (NULL = inherit from database_settings) + """ + enableSearch: Boolean + + """ + Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) + """ + enableDirectUploads: Boolean + + """ + Override: enable presigned URL upload flow (NULL = inherit from database_settings) + """ + enablePresignedUploads: Boolean + + """ + Override: enable many-to-many relationships (NULL = inherit from database_settings) + """ + enableManyToMany: Boolean + + """ + Override: enable connection filter (NULL = inherit from database_settings) + """ + enableConnectionFilter: Boolean + + """ + Override: enable ltree hierarchical data type (NULL = inherit from database_settings) + """ + enableLtree: Boolean + + """ + Override: enable LLM/AI integration features (NULL = inherit from database_settings) + """ + enableLlm: Boolean + + """ + Extensible JSON for additional per-API settings that do not have dedicated columns + """ + options: JSON +} + +"""The output of our create `PlansModule` mutation.""" +type CreatePlansModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PlansModule` that was created by this mutation.""" + plansModule: PlansModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PlansModule`. May be used by Relay 1.""" + plansModuleEdge( + """The method to use when ordering `PlansModule`.""" + orderBy: [PlansModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PlansModuleEdge +} + +"""All input for the create `PlansModule` mutation.""" +input CreatePlansModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PlansModule` to be created by this mutation.""" + plansModule: PlansModuleInput! +} + +"""An input for mutations affecting `PlansModule`""" +input PlansModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + plansTableId: UUID + plansTableName: String + planLimitsTableId: UUID + planLimitsTableName: String + planPricingTableId: UUID + planOverridesTableId: UUID + applyPlanFunction: String + applyPlanAggregateFunction: String + prefix: String +} + +"""The output of our create `OrgMemberProfile` mutation.""" +type CreateOrgMemberProfilePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMemberProfile` that was created by this mutation.""" + orgMemberProfile: OrgMemberProfile + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" + orgMemberProfileEdge( + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberProfileEdge +} + +"""All input for the create `OrgMemberProfile` mutation.""" +input CreateOrgMemberProfileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgMemberProfile` to be created by this mutation.""" + orgMemberProfile: OrgMemberProfileInput! +} + +"""An input for mutations affecting `OrgMemberProfile`""" +input OrgMemberProfileInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + + """References the membership this profile belongs to (1:1)""" + membershipId: UUID! + + """References the entity this profile belongs to (used for RLS lookups)""" + entityId: UUID! + + """References the user who owns this profile (for self-edit RLS)""" + actorId: UUID! + + """Display name shown to other entity members""" + displayName: String + + """ + Email address visible to other entity members (auto-populated from verified primary email) + """ + email: String + + """Job title or role description visible to other entity members""" + title: String + + """Short biography visible to other entity members""" + bio: String + + """Profile picture visible to other entity members""" + profilePicture: ConstructiveInternalTypeImage +} + +"""The output of our create `SqlAction` mutation.""" +type CreateSqlActionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SqlAction` that was created by this mutation.""" + sqlAction: SqlAction + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `SqlAction` mutation.""" +input CreateSqlActionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SqlAction` to be created by this mutation.""" + sqlAction: SqlActionInput! +} + +"""An input for mutations affecting `SqlAction`""" +input SqlActionInput { + id: Int + name: String + databaseId: UUID + deploy: String + deps: [String] + payload: JSON + content: String + revert: String + verify: String + createdAt: Datetime + action: String + actionId: UUID + actorId: UUID +} + +"""The output of our create `AppLimit` mutation.""" +type CreateAppLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppLimit` that was created by this mutation.""" + appLimit: AppLimit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimit`. May be used by Relay 1.""" + appLimitEdge( + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitEdge +} + +"""All input for the create `AppLimit` mutation.""" +input CreateAppLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppLimit` to be created by this mutation.""" + appLimit: AppLimitInput! +} + +"""An input for mutations affecting `AppLimit`""" +input AppLimitInput { + id: UUID + + """Name identifier of the limit being tracked""" + name: String + + """User whose usage is being tracked against this limit""" + actorId: UUID! + + """Current usage count for this actor and limit""" + num: BigInt + + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt + + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime + + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput + + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt + + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt + + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt +} + +"""The output of our create `DatabaseTransfer` mutation.""" +type CreateDatabaseTransferPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DatabaseTransfer` that was created by this mutation.""" + databaseTransfer: DatabaseTransfer + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DatabaseTransfer`. May be used by Relay 1.""" + databaseTransferEdge( + """The method to use when ordering `DatabaseTransfer`.""" + orderBy: [DatabaseTransferOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseTransferEdge +} + +"""All input for the create `DatabaseTransfer` mutation.""" +input CreateDatabaseTransferInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DatabaseTransfer` to be created by this mutation.""" + databaseTransfer: DatabaseTransferInput! +} + +"""An input for mutations affecting `DatabaseTransfer`""" +input DatabaseTransferInput { + id: UUID + databaseId: UUID! + targetOwnerId: UUID! + sourceApproved: Boolean + targetApproved: Boolean + sourceApprovedAt: Datetime + targetApprovedAt: Datetime + status: String + initiatedBy: UUID! + notes: String + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime + completedAt: Datetime +} + +"""The output of our create `BillingModule` mutation.""" +type CreateBillingModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `BillingModule` that was created by this mutation.""" + billingModule: BillingModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `BillingModule`. May be used by Relay 1.""" + billingModuleEdge( + """The method to use when ordering `BillingModule`.""" + orderBy: [BillingModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): BillingModuleEdge +} + +"""All input for the create `BillingModule` mutation.""" +input CreateBillingModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `BillingModule` to be created by this mutation.""" + billingModule: BillingModuleInput! +} + +"""An input for mutations affecting `BillingModule`""" +input BillingModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + metersTableId: UUID + metersTableName: String + planSubscriptionsTableId: UUID + planSubscriptionsTableName: String + ledgerTableId: UUID + ledgerTableName: String + balancesTableId: UUID + balancesTableName: String + recordUsageFunction: String + prefix: String +} + +"""The output of our create `CryptoAuthModule` mutation.""" +type CreateCryptoAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `CryptoAuthModule` that was created by this mutation.""" + cryptoAuthModule: CryptoAuthModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `CryptoAuthModule`. May be used by Relay 1.""" + cryptoAuthModuleEdge( + """The method to use when ordering `CryptoAuthModule`.""" + orderBy: [CryptoAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAuthModuleEdge +} + +"""All input for the create `CryptoAuthModule` mutation.""" +input CreateCryptoAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `CryptoAuthModule` to be created by this mutation.""" + cryptoAuthModule: CryptoAuthModuleInput! +} + +"""An input for mutations affecting `CryptoAuthModule`""" +input CryptoAuthModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + usersTableId: UUID + secretsTableId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + addressesTableId: UUID + userField: String! + cryptoNetwork: String + signInRequestChallenge: String + signInRecordFailure: String + signUpWithKey: String + signInWithChallenge: String +} + +"""The output of our create `DatabaseProvisionModule` mutation.""" +type CreateDatabaseProvisionModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DatabaseProvisionModule` that was created by this mutation.""" + databaseProvisionModule: DatabaseProvisionModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `DatabaseProvisionModule`. May be used by Relay 1.""" + databaseProvisionModuleEdge( + """The method to use when ordering `DatabaseProvisionModule`.""" + orderBy: [DatabaseProvisionModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseProvisionModuleEdge +} + +"""All input for the create `DatabaseProvisionModule` mutation.""" +input CreateDatabaseProvisionModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `DatabaseProvisionModule` to be created by this mutation.""" + databaseProvisionModule: DatabaseProvisionModuleInput! +} + +"""An input for mutations affecting `DatabaseProvisionModule`""" +input DatabaseProvisionModuleInput { + id: UUID + + """The name for the new database""" + databaseName: String! + + """UUID of the user who owns this database""" + ownerId: UUID! + + """ + Subdomain prefix for the database. If null, auto-generated using unique_names + random chars + """ + subdomain: String + + """Base domain for the database (e.g., example.com)""" + domain: String! + + """Array of module IDs to install, or ["all"] for all modules""" + modules: [String] + + """Additional configuration options for provisioning""" + options: JSON + + """ + When true, copies the owner user and password hash from source database to the newly provisioned database + """ + bootstrapUser: Boolean + + """Current status: pending, in_progress, completed, or failed""" + status: String + errorMessage: String + + """The ID of the provisioned database (set by trigger before RLS check)""" + databaseId: UUID + createdAt: Datetime + updatedAt: Datetime + completedAt: Datetime +} + +"""The output of our create `InvitesModule` mutation.""" +type CreateInvitesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `InvitesModule` that was created by this mutation.""" + invitesModule: InvitesModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `InvitesModule`. May be used by Relay 1.""" + invitesModuleEdge( + """The method to use when ordering `InvitesModule`.""" + orderBy: [InvitesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): InvitesModuleEdge +} + +"""All input for the create `InvitesModule` mutation.""" +input CreateInvitesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `InvitesModule` to be created by this mutation.""" + invitesModule: InvitesModuleInput! +} + +"""An input for mutations affecting `InvitesModule`""" +input InvitesModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + emailsTableId: UUID + usersTableId: UUID + invitesTableId: UUID + claimedInvitesTableId: UUID + invitesTableName: String + claimedInvitesTableName: String + submitInviteCodeFunction: String + prefix: String + membershipType: Int! + entityTableId: UUID +} + +"""The output of our create `SecureTableProvision` mutation.""" +type CreateSecureTableProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `SecureTableProvision` that was created by this mutation.""" + secureTableProvision: SecureTableProvision + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `SecureTableProvision`. May be used by Relay 1.""" + secureTableProvisionEdge( + """The method to use when ordering `SecureTableProvision`.""" + orderBy: [SecureTableProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): SecureTableProvisionEdge +} + +"""All input for the create `SecureTableProvision` mutation.""" +input CreateSecureTableProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `SecureTableProvision` to be created by this mutation.""" + secureTableProvision: SecureTableProvisionInput! +} + +"""An input for mutations affecting `SecureTableProvision`""" +input SecureTableProvisionInput { + """Unique identifier for this provision row.""" + id: UUID + + """The database this provision belongs to. Required.""" + databaseId: UUID! + + """ + Target schema for the table. Defaults to uuid_nil(); the trigger resolves this to the app_public schema if not explicitly provided. + """ + schemaId: UUID + + """ + Target table to provision. Defaults to uuid_nil(); the trigger creates or resolves the table via table_name if not explicitly provided. + """ + tableId: UUID + + """ + Name of the target table. Used to create or look up the table when table_id is not provided. If omitted, it is backfilled from the resolved table. + """ + tableName: String + + """ + Array of node objects to apply to the table. Each element is a jsonb object with a required "$type" key (one of: DataId, DataDirectOwner, DataEntityMembership, DataOwnershipInEntity, DataTimestamps, DataPeoplestamps, DataPublishable, DataSoftDelete, DataEmbedding, DataFullTextSearch, DataSlug, etc.) and an optional "data" key containing generator-specific configuration. Supports multiple nodes per row, matching the blueprint definition format. Example: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. Defaults to '[]' (no node processing). + """ + nodes: JSON + + """ + If true and Row Level Security is not yet enabled on the target table, enable it. Automatically set to true by the trigger when policies[] is non-empty. Defaults to true. + """ + useRls: Boolean + + """ + PostgreSQL array of jsonb field definition objects to create on the target table. Each object has keys: "name" (text, required), "type" (text, required), "default" (text, optional), "is_required" (boolean, optional, defaults to false), "min" (float, optional), "max" (float, optional), "regexp" (text, optional), "index" (boolean, optional, defaults to false — creates a btree index on the field). min/max generate CHECK constraints: for text/citext they constrain character_length, for integer/float types they constrain the value. regexp generates a CHECK (col ~ pattern) constraint for text/citext. Fields are created via metaschema.create_field() after any node_type generator runs, and their IDs are appended to out_fields. Example: ARRAY['{"name":"username","type":"citext","max":256,"regexp":"^[a-z0-9_]+$"}'::jsonb, '{"name":"score","type":"integer","min":0,"max":100}'::jsonb]. Defaults to '{}' (no additional fields). + """ + fields: [JSON] + + """ + Array of grant objects defining table privileges. Each element is a jsonb object with keys: "roles" (text[], required — database roles to grant to, e.g. ["authenticated","admin"]), "privileges" (jsonb[], required — array of [privilege, columns] tuples, e.g. [["select","*"],["insert","*"]]). "*" means all columns; an array means column-level grant. Supports per-role privilege targeting: different grant entries can target different roles with different privileges. Example: [{"roles":["authenticated"],"privileges":[["select","*"]]},{"roles":["admin"],"privileges":[["insert","*"],["update","*"],["delete","*"]]}]. Defaults to '[]' (no grants). When policies[] omit explicit privileges/policy_role, they fall back to the verbs and first role from grants[]. + """ + grants: JSON + + """ + Array of policy objects to create on the target table. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type, e.g. AuthzEntityMembership, AuthzMembership, AuthzDirectOwner, AuthzPublishable, AuthzAllowAll), "data" (jsonb, optional — opaque configuration passed to metaschema.create_policy(), structure varies by type), "privileges" (text[], optional — privileges the policy applies to, e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — role the policy targets; if omitted, falls back to first role in first grants[] entry, or 'authenticated' if no grants), "permissive" (boolean, optional — PERMISSIVE or RESTRICTIVE; defaults to true), "policy_name" (text, optional — custom suffix for the generated policy name; if omitted, auto-derived from $type by stripping Authz prefix). Supports multiple policies per row. Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "owner_id", "membership_type": 3}, "privileges": ["select", "insert"]}, {"$type": "AuthzDirectOwner", "data": {"entity_field": "actor_id"}, "privileges": ["update", "delete"]}]. Defaults to '[]' (no policies created). When non-empty, the trigger automatically enables RLS. + """ + policies: JSON + + """ + Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. + """ + outFields: [UUID] +} + +"""The output of our create `AstMigration` mutation.""" +type CreateAstMigrationPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AstMigration` that was created by this mutation.""" + astMigration: AstMigration + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query +} + +"""All input for the create `AstMigration` mutation.""" +input CreateAstMigrationInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AstMigration` to be created by this mutation.""" + astMigration: AstMigrationInput! +} + +"""An input for mutations affecting `AstMigration`""" +input AstMigrationInput { + id: Int + databaseId: UUID + name: String + requires: [String] + payload: JSON + deploys: String + deploy: JSON + revert: JSON + verify: JSON + createdAt: Datetime + action: String + actionId: UUID + actorId: UUID +} + +"""The output of our create `OrgLimitAggregate` mutation.""" +type CreateOrgLimitAggregatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimitAggregate` that was created by this mutation.""" + orgLimitAggregate: OrgLimitAggregate + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" + orgLimitAggregateEdge( + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateEdge +} + +"""All input for the create `OrgLimitAggregate` mutation.""" +input CreateOrgLimitAggregateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimitAggregate` to be created by this mutation.""" + orgLimitAggregate: OrgLimitAggregateInput! +} + +"""An input for mutations affecting `OrgLimitAggregate`""" +input OrgLimitAggregateInput { + id: UUID + + """Name identifier of the aggregate limit being tracked""" + name: String + + """Entity (org) whose aggregate usage is being tracked""" + entityId: UUID! + + """Current aggregate usage count for this entity and limit""" + num: BigInt + + """Maximum allowed aggregate usage; negative means unlimited""" + max: BigInt + + """Soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime + + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput + + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt + + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt + + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt + + """ + Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. + """ + reserved: BigInt +} + +"""The output of our create `OrgLimit` mutation.""" +type CreateOrgLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgLimit` that was created by this mutation.""" + orgLimit: OrgLimit + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgLimit`. May be used by Relay 1.""" + orgLimitEdge( + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitEdge +} + +"""All input for the create `OrgLimit` mutation.""" +input CreateOrgLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgLimit` to be created by this mutation.""" + orgLimit: OrgLimitInput! +} + +"""An input for mutations affecting `OrgLimit`""" +input OrgLimitInput { + id: UUID + + """Name identifier of the limit being tracked""" + name: String + + """User whose usage is being tracked against this limit""" + actorId: UUID! + + """Current usage count for this actor and limit""" + num: BigInt + + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt + + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime + + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput + + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt + + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt + + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt + entityId: UUID! +} + +"""The output of our create `Enum` mutation.""" +type CreateEnumPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Enum` that was created by this mutation.""" + enum: Enum + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Enum`. May be used by Relay 1.""" + enumEdge( + """The method to use when ordering `Enum`.""" + orderBy: [EnumOrderBy!]! = [PRIMARY_KEY_ASC] + ): EnumEdge +} + +"""All input for the create `Enum` mutation.""" +input CreateEnumInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Enum` to be created by this mutation.""" + enum: EnumInput! +} + +"""An input for mutations affecting `Enum`""" +input EnumInput { + id: UUID + databaseId: UUID! + schemaId: UUID! + name: String! + label: String + description: String + values: [String] + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] +} + +"""The output of our create `User` mutation.""" +type CreateUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `User` that was created by this mutation.""" + user: User + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `User`. May be used by Relay 1.""" + userEdge( + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserEdge +} + +"""All input for the create `User` mutation.""" +input CreateUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `User` to be created by this mutation.""" + user: UserInput! +} + +"""An input for mutations affecting `User`""" +input UserInput { + id: UUID + username: String + displayName: String + profilePicture: ConstructiveInternalTypeImage + type: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `View` mutation.""" +type CreateViewPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `View` that was created by this mutation.""" + view: View + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `View`. May be used by Relay 1.""" + viewEdge( + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewEdge +} + +"""All input for the create `View` mutation.""" +input CreateViewInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `View` to be created by this mutation.""" + view: ViewInput! +} + +"""An input for mutations affecting `View`""" +input ViewInput { + id: UUID + databaseId: UUID + schemaId: UUID! + name: String! + tableId: UUID + viewType: String! + data: JSON + filterType: String + filterData: JSON + securityInvoker: Boolean + isReadOnly: Boolean + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] +} + +"""The output of our create `WebauthnAuthModule` mutation.""" +type CreateWebauthnAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `WebauthnAuthModule` that was created by this mutation.""" + webauthnAuthModule: WebauthnAuthModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `WebauthnAuthModule`. May be used by Relay 1.""" + webauthnAuthModuleEdge( + """The method to use when ordering `WebauthnAuthModule`.""" + orderBy: [WebauthnAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnAuthModuleEdge +} + +"""All input for the create `WebauthnAuthModule` mutation.""" +input CreateWebauthnAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `WebauthnAuthModule` to be created by this mutation.""" + webauthnAuthModule: WebauthnAuthModuleInput! +} + +"""An input for mutations affecting `WebauthnAuthModule`""" +input WebauthnAuthModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + usersTableId: UUID + credentialsTableId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + sessionSecretsTableId: UUID + authSettingsTableId: UUID + rpId: String + rpName: String + originAllowlist: [String] + attestationType: String + requireUserVerification: Boolean + residentKey: String + challengeExpiry: IntervalInput +} + +"""The output of our create `AppInvite` mutation.""" +type CreateAppInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `AppInvite` that was created by this mutation.""" + appInvite: AppInvite + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppInvite`. May be used by Relay 1.""" + appInviteEdge( + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppInviteEdge +} + +"""All input for the create `AppInvite` mutation.""" +input CreateAppInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `AppInvite` to be created by this mutation.""" + appInvite: AppInviteInput! +} + +"""An input for mutations affecting `AppInvite`""" +input AppInviteInput { + id: UUID + + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail + + """User ID of the member who sent this invitation""" + senderId: UUID + + """Unique random hex token used to redeem this invitation""" + inviteToken: String + + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean + + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int + + """Running count of how many times this invite has been claimed""" + inviteCount: Int + + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean + + """Optional JSON payload of additional invite metadata""" + data: JSON + + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID + + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `OrgMembershipSetting` mutation.""" +type CreateOrgMembershipSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMembershipSetting` that was created by this mutation.""" + orgMembershipSetting: OrgMembershipSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" + orgMembershipSettingEdge( + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingEdge +} + +"""All input for the create `OrgMembershipSetting` mutation.""" +input CreateOrgMembershipSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `OrgMembershipSetting` to be created by this mutation.""" + orgMembershipSetting: OrgMembershipSettingInput! +} + +"""An input for mutations affecting `OrgMembershipSetting`""" +input OrgMembershipSettingInput { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """References the entity these settings apply to""" + entityId: UUID! + + """ + When a member is deleted, whether to cascade-remove their descendant-entity memberships + """ + deleteMemberCascadeChildren: Boolean + + """ + When a child entity is created, whether to auto-add existing org-level owners as child-entity owners + """ + createChildCascadeOwners: Boolean + + """ + When a child entity is created, whether to auto-add existing org-level admins as child-entity admins + """ + createChildCascadeAdmins: Boolean + + """ + When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members + """ + createChildCascadeMembers: Boolean + + """ + Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) + """ + allowExternalMembers: Boolean + + """ + Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) + """ + inviteProfileAssignmentMode: String + + """ + Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. + """ + populateMemberEmail: Boolean + + """ + Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) + """ + limitAllocationMode: String +} + +"""The output of our create `App` mutation.""" +type CreateAppPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `App` that was created by this mutation.""" + app: App + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `App`. May be used by Relay 1.""" + appEdge( + """The method to use when ordering `App`.""" + orderBy: [AppOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppEdge +} + +"""All input for the create `App` mutation.""" +input CreateAppInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `App` to be created by this mutation.""" + app: AppInput! +} + +"""An input for mutations affecting `App`""" +input AppInput { + """Unique identifier for this app""" + id: UUID + + """Reference to the metaschema database this app belongs to""" + databaseId: UUID! + + """Site this app is associated with (one app per site)""" + siteId: UUID! + + """Display name of the app""" + name: String + + """App icon or promotional image""" + appImage: ConstructiveInternalTypeImage + + """URL to the Apple App Store listing""" + appStoreLink: ConstructiveInternalTypeUrl + + """Apple App Store application identifier""" + appStoreId: String + + """ + Apple App ID prefix (Team ID) for universal links and associated domains + """ + appIdPrefix: String + + """URL to the Google Play Store listing""" + playStoreLink: ConstructiveInternalTypeUrl +} + +"""The output of our create `Site` mutation.""" +type CreateSitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Site` that was created by this mutation.""" + site: Site + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Site`. May be used by Relay 1.""" + siteEdge( + """The method to use when ordering `Site`.""" + orderBy: [SiteOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteEdge +} + +"""All input for the create `Site` mutation.""" +input CreateSiteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Site` to be created by this mutation.""" + site: SiteInput! +} + +"""An input for mutations affecting `Site`""" +input SiteInput { + """Unique identifier for this site""" + id: UUID + + """Reference to the metaschema database this site belongs to""" + databaseId: UUID! + + """Display title for the site (max 120 characters)""" + title: String + + """Short description of the site (max 120 characters)""" + description: String + + """Open Graph image used for social media link previews""" + ogImage: ConstructiveInternalTypeImage + + """Browser favicon attachment""" + favicon: ConstructiveInternalTypeAttachment + + """Apple touch icon for iOS home screen bookmarks""" + appleTouchIcon: ConstructiveInternalTypeImage + + """Primary logo image for the site""" + logo: ConstructiveInternalTypeImage + + """PostgreSQL database name this site connects to""" + dbname: String } -""" -Represents an update to a `Trigger`. Fields that are set will be updated. -""" -input TriggerPatch { +"""The output of our create `NotificationsModule` mutation.""" +type CreateNotificationsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `NotificationsModule` that was created by this mutation.""" + notificationsModule: NotificationsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `NotificationsModule`. May be used by Relay 1.""" + notificationsModuleEdge( + """The method to use when ordering `NotificationsModule`.""" + orderBy: [NotificationsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): NotificationsModuleEdge +} + +"""All input for the create `NotificationsModule` mutation.""" +input CreateNotificationsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `NotificationsModule` to be created by this mutation.""" + notificationsModule: NotificationsModuleInput! +} + +"""An input for mutations affecting `NotificationsModule`""" +input NotificationsModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + notificationsTableId: UUID + readStateTableId: UUID + preferencesTableId: UUID + channelsTableId: UUID + deliveryLogTableId: UUID + ownerTableId: UUID + userSettingsTableId: UUID + organizationSettingsTableId: UUID + hasChannels: Boolean + hasPreferences: Boolean + hasSettingsExtension: Boolean + hasDigestMetadata: Boolean + hasSubscriptions: Boolean +} + +"""The output of our create `PermissionsModule` mutation.""" +type CreatePermissionsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PermissionsModule` that was created by this mutation.""" + permissionsModule: PermissionsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PermissionsModule`. May be used by Relay 1.""" + permissionsModuleEdge( + """The method to use when ordering `PermissionsModule`.""" + orderBy: [PermissionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PermissionsModuleEdge +} + +"""All input for the create `PermissionsModule` mutation.""" +input CreatePermissionsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PermissionsModule` to be created by this mutation.""" + permissionsModule: PermissionsModuleInput! +} + +"""An input for mutations affecting `PermissionsModule`""" +input PermissionsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID tableId: UUID + tableName: String + defaultTableId: UUID + defaultTableName: String + bitlen: Int + membershipType: Int! + entityTableId: UUID + actorTableId: UUID + prefix: String + getPaddedMask: String + getMask: String + getByMask: String + getMaskByName: String +} + +"""The output of our create `WebauthnCredential` mutation.""" +type CreateWebauthnCredentialPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `WebauthnCredential` that was created by this mutation.""" + webauthnCredential: WebauthnCredential + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `WebauthnCredential`. May be used by Relay 1.""" + webauthnCredentialEdge( + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialEdge +} + +"""All input for the create `WebauthnCredential` mutation.""" +input CreateWebauthnCredentialInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `WebauthnCredential` to be created by this mutation.""" + webauthnCredential: WebauthnCredentialInput! +} + +"""An input for mutations affecting `WebauthnCredential`""" +input WebauthnCredentialInput { + id: UUID + ownerId: UUID + + """ + Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. + """ + credentialId: String! + + """COSE-encoded public key bytes from the authenticator attestation.""" + publicKey: Base64EncodedBinary! + + """ + Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. + """ + signCount: BigInt + + """ + Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. + """ + webauthnUserId: String! + + """ + Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. + """ + transports: [String] + + """ + Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. + """ + credentialDeviceType: String! + + """ + Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. + """ + backupEligible: Boolean + + """Current backup state; updated on each successful sign-in assertion.""" + backupState: Boolean + + """ + User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. + """ + name: String + + """ + Timestamp of the most recent successful sign-in assertion using this credential. + """ + lastUsedAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `PrimaryKeyConstraint` mutation.""" +type CreatePrimaryKeyConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `PrimaryKeyConstraint` that was created by this mutation.""" + primaryKeyConstraint: PrimaryKeyConstraint + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `PrimaryKeyConstraint`. May be used by Relay 1.""" + primaryKeyConstraintEdge( + """The method to use when ordering `PrimaryKeyConstraint`.""" + orderBy: [PrimaryKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): PrimaryKeyConstraintEdge +} + +"""All input for the create `PrimaryKeyConstraint` mutation.""" +input CreatePrimaryKeyConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `PrimaryKeyConstraint` to be created by this mutation.""" + primaryKeyConstraint: PrimaryKeyConstraintInput! +} + +"""An input for mutations affecting `PrimaryKeyConstraint`""" +input PrimaryKeyConstraintInput { + id: UUID + databaseId: UUID + tableId: UUID! name: String + type: String + fieldIds: [UUID]! + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `Trigger` mutation.""" +type CreateTriggerPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Trigger` that was created by this mutation.""" + trigger: Trigger + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Trigger`. May be used by Relay 1.""" + triggerEdge( + """The method to use when ordering `Trigger`.""" + orderBy: [TriggerOrderBy!]! = [PRIMARY_KEY_ASC] + ): TriggerEdge +} + +"""All input for the create `Trigger` mutation.""" +input CreateTriggerInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Trigger` to be created by this mutation.""" + trigger: TriggerInput! +} + +"""An input for mutations affecting `Trigger`""" +input TriggerInput { + id: UUID + databaseId: UUID + tableId: UUID! + name: String! event: String functionName: String smartTags: JSON @@ -42435,15 +47567,15 @@ input TriggerPatch { updatedAt: Datetime } -"""The output of our update `CheckConstraint` mutation.""" -type UpdateCheckConstraintPayload { +"""The output of our create `CheckConstraint` mutation.""" +type CreateCheckConstraintPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `CheckConstraint` that was updated by this mutation.""" + """The `CheckConstraint` that was created by this mutation.""" checkConstraint: CheckConstraint """ @@ -42458,31 +47590,26 @@ type UpdateCheckConstraintPayload { ): CheckConstraintEdge } -"""All input for the `updateCheckConstraint` mutation.""" -input UpdateCheckConstraintInput { +"""All input for the create `CheckConstraint` mutation.""" +input CreateCheckConstraintInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `CheckConstraint` being updated. - """ - checkConstraintPatch: CheckConstraintPatch! + """The `CheckConstraint` to be created by this mutation.""" + checkConstraint: CheckConstraintInput! } -""" -Represents an update to a `CheckConstraint`. Fields that are set will be updated. -""" -input CheckConstraintPatch { +"""An input for mutations affecting `CheckConstraint`""" +input CheckConstraintInput { id: UUID databaseId: UUID - tableId: UUID + tableId: UUID! name: String type: String - fieldIds: [UUID] + fieldIds: [UUID]! expr: JSON smartTags: JSON category: ObjectCategory @@ -42493,15 +47620,15 @@ input CheckConstraintPatch { updatedAt: Datetime } -"""The output of our update `UniqueConstraint` mutation.""" -type UpdateUniqueConstraintPayload { +"""The output of our create `UniqueConstraint` mutation.""" +type CreateUniqueConstraintPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `UniqueConstraint` that was updated by this mutation.""" + """The `UniqueConstraint` that was created by this mutation.""" uniqueConstraint: UniqueConstraint """ @@ -42516,33 +47643,28 @@ type UpdateUniqueConstraintPayload { ): UniqueConstraintEdge } -"""All input for the `updateUniqueConstraint` mutation.""" -input UpdateUniqueConstraintInput { +"""All input for the create `UniqueConstraint` mutation.""" +input CreateUniqueConstraintInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `UniqueConstraint` being updated. - """ - uniqueConstraintPatch: UniqueConstraintPatch! + """The `UniqueConstraint` to be created by this mutation.""" + uniqueConstraint: UniqueConstraintInput! } -""" -Represents an update to a `UniqueConstraint`. Fields that are set will be updated. -""" -input UniqueConstraintPatch { +"""An input for mutations affecting `UniqueConstraint`""" +input UniqueConstraintInput { id: UUID databaseId: UUID - tableId: UUID + tableId: UUID! name: String description: String smartTags: JSON type: String - fieldIds: [UUID] + fieldIds: [UUID]! category: ObjectCategory module: String scope: Int @@ -42551,15 +47673,15 @@ input UniqueConstraintPatch { updatedAt: Datetime } -"""The output of our update `SpatialRelation` mutation.""" -type UpdateSpatialRelationPayload { +"""The output of our create `SpatialRelation` mutation.""" +type CreateSpatialRelationPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SpatialRelation` that was updated by this mutation.""" + """The `SpatialRelation` that was created by this mutation.""" spatialRelation: SpatialRelation """ @@ -42574,33 +47696,28 @@ type UpdateSpatialRelationPayload { ): SpatialRelationEdge } -"""All input for the `updateSpatialRelation` mutation.""" -input UpdateSpatialRelationInput { +"""All input for the create `SpatialRelation` mutation.""" +input CreateSpatialRelationInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `SpatialRelation` being updated. - """ - spatialRelationPatch: SpatialRelationPatch! + """The `SpatialRelation` to be created by this mutation.""" + spatialRelation: SpatialRelationInput! } -""" -Represents an update to a `SpatialRelation`. Fields that are set will be updated. -""" -input SpatialRelationPatch { +"""An input for mutations affecting `SpatialRelation`""" +input SpatialRelationInput { id: UUID databaseId: UUID - tableId: UUID - fieldId: UUID - refTableId: UUID - refFieldId: UUID - name: String - operator: String + tableId: UUID! + fieldId: UUID! + refTableId: UUID! + refFieldId: UUID! + name: String! + operator: String! paramName: String category: ObjectCategory module: String @@ -42610,15 +47727,15 @@ input SpatialRelationPatch { updatedAt: Datetime } -"""The output of our update `Policy` mutation.""" -type UpdatePolicyPayload { +"""The output of our create `Policy` mutation.""" +type CreatePolicyPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Policy` that was updated by this mutation.""" + """The `Policy` that was created by this mutation.""" policy: Policy """ @@ -42633,28 +47750,23 @@ type UpdatePolicyPayload { ): PolicyEdge } -"""All input for the `updatePolicy` mutation.""" -input UpdatePolicyInput { +"""All input for the create `Policy` mutation.""" +input CreatePolicyInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `Policy` being updated. - """ - policyPatch: PolicyPatch! + """The `Policy` to be created by this mutation.""" + policy: PolicyInput! } -""" -Represents an update to a `Policy`. Fields that are set will be updated. -""" -input PolicyPatch { +"""An input for mutations affecting `Policy`""" +input PolicyInput { id: UUID databaseId: UUID - tableId: UUID + tableId: UUID! name: String granteeName: String privilege: String @@ -42671,15 +47783,15 @@ input PolicyPatch { updatedAt: Datetime } -"""The output of our update `EmbeddingChunk` mutation.""" -type UpdateEmbeddingChunkPayload { +"""The output of our create `EmbeddingChunk` mutation.""" +type CreateEmbeddingChunkPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `EmbeddingChunk` that was updated by this mutation.""" + """The `EmbeddingChunk` that was created by this mutation.""" embeddingChunk: EmbeddingChunk """ @@ -42694,28 +47806,23 @@ type UpdateEmbeddingChunkPayload { ): EmbeddingChunkEdge } -"""All input for the `updateEmbeddingChunk` mutation.""" -input UpdateEmbeddingChunkInput { +"""All input for the create `EmbeddingChunk` mutation.""" +input CreateEmbeddingChunkInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `EmbeddingChunk` being updated. - """ - embeddingChunkPatch: EmbeddingChunkPatch! + """The `EmbeddingChunk` to be created by this mutation.""" + embeddingChunk: EmbeddingChunkInput! } -""" -Represents an update to a `EmbeddingChunk`. Fields that are set will be updated. -""" -input EmbeddingChunkPatch { +"""An input for mutations affecting `EmbeddingChunk`""" +input EmbeddingChunkInput { id: UUID databaseId: UUID - tableId: UUID + tableId: UUID! embeddingFieldId: UUID chunksTableId: UUID chunksTableName: String @@ -42733,15 +47840,117 @@ input EmbeddingChunkPatch { updatedAt: Datetime } -"""The output of our update `OrgInvite` mutation.""" -type UpdateOrgInvitePayload { +"""The output of our create `WebauthnSetting` mutation.""" +type CreateWebauthnSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `WebauthnSetting` that was created by this mutation.""" + webauthnSetting: WebauthnSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `WebauthnSetting`. May be used by Relay 1.""" + webauthnSettingEdge( + """The method to use when ordering `WebauthnSetting`.""" + orderBy: [WebauthnSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnSettingEdge +} + +"""All input for the create `WebauthnSetting` mutation.""" +input CreateWebauthnSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `WebauthnSetting` to be created by this mutation.""" + webauthnSetting: WebauthnSettingInput! +} + +"""An input for mutations affecting `WebauthnSetting`""" +input WebauthnSettingInput { + """Unique identifier for this WebAuthn settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID! + + """ + Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) + """ + schemaId: UUID + + """ + Schema of the webauthn_credentials table (FK to metaschema_public.schema) + """ + credentialsSchemaId: UUID + + """Schema of the sessions table (FK to metaschema_public.schema)""" + sessionsSchemaId: UUID + + """Schema of the session_secrets table (FK to metaschema_public.schema)""" + sessionSecretsSchemaId: UUID + + """ + Reference to the webauthn_credentials table (FK to metaschema_public.table) + """ + credentialsTableId: UUID + + """Reference to the sessions table (FK to metaschema_public.table)""" + sessionsTableId: UUID + + """ + Reference to the session_credentials table (FK to metaschema_public.table) + """ + sessionCredentialsTableId: UUID + + """Reference to the session_secrets table (FK to metaschema_public.table)""" + sessionSecretsTableId: UUID + + """ + Reference to the user field on webauthn_credentials (FK to metaschema_public.field) + """ + userFieldId: UUID + + """WebAuthn Relying Party ID (typically the domain name)""" + rpId: String + + """WebAuthn Relying Party display name""" + rpName: String + + """Allowed origins for WebAuthn registration and authentication""" + originAllowlist: [String] + + """Attestation conveyance preference (none, indirect, direct, enterprise)""" + attestationType: String + + """Whether to require user verification (biometric/PIN) during auth""" + requireUserVerification: Boolean + + """Resident key requirement (discouraged, preferred, required)""" + residentKey: String + + """Challenge TTL in seconds (default 300 = 5 minutes)""" + challengeExpirySeconds: BigInt +} + +"""The output of our create `OrgInvite` mutation.""" +type CreateOrgInvitePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgInvite` that was updated by this mutation.""" + """The `OrgInvite` that was created by this mutation.""" orgInvite: OrgInvite """ @@ -42756,25 +47965,20 @@ type UpdateOrgInvitePayload { ): OrgInviteEdge } -"""All input for the `updateOrgInvite` mutation.""" -input UpdateOrgInviteInput { +"""All input for the create `OrgInvite` mutation.""" +input CreateOrgInviteInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `OrgInvite` being updated. - """ - orgInvitePatch: OrgInvitePatch! + """The `OrgInvite` to be created by this mutation.""" + orgInvite: OrgInviteInput! } -""" -Represents an update to a `OrgInvite`. Fields that are set will be updated. -""" -input OrgInvitePatch { +"""An input for mutations affecting `OrgInvite`""" +input OrgInviteInput { id: UUID """Email address of the invited recipient""" @@ -42813,18 +48017,18 @@ input OrgInvitePatch { expiresAt: Datetime createdAt: Datetime updatedAt: Datetime - entityId: UUID + entityId: UUID! } -"""The output of our update `AppMembership` mutation.""" -type UpdateAppMembershipPayload { +"""The output of our create `AppMembership` mutation.""" +type CreateAppMembershipPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppMembership` that was updated by this mutation.""" + """The `AppMembership` that was created by this mutation.""" appMembership: AppMembership """ @@ -42839,25 +48043,20 @@ type UpdateAppMembershipPayload { ): AppMembershipEdge } -"""All input for the `updateAppMembership` mutation.""" -input UpdateAppMembershipInput { +"""All input for the create `AppMembership` mutation.""" +input CreateAppMembershipInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `AppMembership` being updated. - """ - appMembershipPatch: AppMembershipPatch! + """The `AppMembership` to be created by this mutation.""" + appMembership: AppMembershipInput! } -""" -Represents an update to a `AppMembership`. Fields that are set will be updated. -""" -input AppMembershipPatch { +"""An input for mutations affecting `AppMembership`""" +input AppMembershipInput { id: UUID createdAt: Datetime updatedAt: Datetime @@ -42898,19 +48097,19 @@ input AppMembershipPatch { granted: BitString """References the user who holds this membership""" - actorId: UUID + actorId: UUID! profileId: UUID } -"""The output of our update `Schema` mutation.""" -type UpdateSchemaPayload { +"""The output of our create `Schema` mutation.""" +type CreateSchemaPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Schema` that was updated by this mutation.""" + """The `Schema` that was created by this mutation.""" schema: Schema """ @@ -42925,29 +48124,24 @@ type UpdateSchemaPayload { ): SchemaEdge } -"""All input for the `updateSchema` mutation.""" -input UpdateSchemaInput { +"""All input for the create `Schema` mutation.""" +input CreateSchemaInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `Schema` being updated. - """ - schemaPatch: SchemaPatch! + """The `Schema` to be created by this mutation.""" + schema: SchemaInput! } -""" -Represents an update to a `Schema`. Fields that are set will be updated. -""" -input SchemaPatch { +"""An input for mutations affecting `Schema`""" +input SchemaInput { id: UUID - databaseId: UUID - name: String - schemaName: String + databaseId: UUID! + name: String! + schemaName: String! label: String description: String smartTags: JSON @@ -42960,15 +48154,15 @@ input SchemaPatch { updatedAt: Datetime } -"""The output of our update `Index` mutation.""" -type UpdateIndexPayload { +"""The output of our create `Index` mutation.""" +type CreateIndexPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Index` that was updated by this mutation.""" + """The `Index` that was created by this mutation.""" index: Index """ @@ -42983,28 +48177,23 @@ type UpdateIndexPayload { ): IndexEdge } -"""All input for the `updateIndex` mutation.""" -input UpdateIndexInput { +"""All input for the create `Index` mutation.""" +input CreateIndexInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `Index` being updated. - """ - indexPatch: IndexPatch! + """The `Index` to be created by this mutation.""" + index: IndexInput! } -""" -Represents an update to a `Index`. Fields that are set will be updated. -""" -input IndexPatch { +"""An input for mutations affecting `Index`""" +input IndexInput { id: UUID - databaseId: UUID - tableId: UUID + databaseId: UUID! + tableId: UUID! name: String fieldIds: [UUID] includeFieldIds: [UUID] @@ -43023,78 +48212,74 @@ input IndexPatch { updatedAt: Datetime } -"""The output of our update `LimitsModule` mutation.""" -type UpdateLimitsModulePayload { +"""The output of our create `BillingProviderModule` mutation.""" +type CreateBillingProviderModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `LimitsModule` that was updated by this mutation.""" - limitsModule: LimitsModule + """The `BillingProviderModule` that was created by this mutation.""" + billingProviderModule: BillingProviderModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `LimitsModule`. May be used by Relay 1.""" - limitsModuleEdge( - """The method to use when ordering `LimitsModule`.""" - orderBy: [LimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): LimitsModuleEdge + """An edge for our `BillingProviderModule`. May be used by Relay 1.""" + billingProviderModuleEdge( + """The method to use when ordering `BillingProviderModule`.""" + orderBy: [BillingProviderModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): BillingProviderModuleEdge } -"""All input for the `updateLimitsModule` mutation.""" -input UpdateLimitsModuleInput { +"""All input for the create `BillingProviderModule` mutation.""" +input CreateBillingProviderModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `LimitsModule` being updated. - """ - limitsModulePatch: LimitsModulePatch! + """The `BillingProviderModule` to be created by this mutation.""" + billingProviderModule: BillingProviderModuleInput! } -""" -Represents an update to a `LimitsModule`. Fields that are set will be updated. -""" -input LimitsModulePatch { +"""An input for mutations affecting `BillingProviderModule`""" +input BillingProviderModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! schemaId: UUID privateSchemaId: UUID - tableId: UUID - tableName: String - defaultTableId: UUID - defaultTableName: String - limitIncrementFunction: String - limitDecrementFunction: String - limitIncrementTrigger: String - limitDecrementTrigger: String - limitUpdateTrigger: String - limitCheckFunction: String - aggregateTableId: UUID + provider: String + productsTableId: UUID + pricesTableId: UUID + subscriptionsTableId: UUID + billingCustomersTableId: UUID + billingCustomersTableName: String + billingProductsTableId: UUID + billingProductsTableName: String + billingPricesTableId: UUID + billingPricesTableName: String + billingSubscriptionsTableId: UUID + billingSubscriptionsTableName: String + billingWebhookEventsTableId: UUID + billingWebhookEventsTableName: String + processBillingEventFunction: String prefix: String - membershipType: Int - entityTableId: UUID - actorTableId: UUID } -"""The output of our update `BlueprintTemplate` mutation.""" -type UpdateBlueprintTemplatePayload { +"""The output of our create `BlueprintTemplate` mutation.""" +type CreateBlueprintTemplatePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `BlueprintTemplate` that was updated by this mutation.""" + """The `BlueprintTemplate` that was created by this mutation.""" blueprintTemplate: BlueprintTemplate """ @@ -43109,46 +48294,39 @@ type UpdateBlueprintTemplatePayload { ): BlueprintTemplateEdge } -"""All input for the `updateBlueprintTemplate` mutation.""" -input UpdateBlueprintTemplateInput { +"""All input for the create `BlueprintTemplate` mutation.""" +input CreateBlueprintTemplateInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - """Unique identifier for this template.""" - id: UUID! - - """ - An object where the defined keys will be set on the `BlueprintTemplate` being updated. - """ - blueprintTemplatePatch: BlueprintTemplatePatch! + """The `BlueprintTemplate` to be created by this mutation.""" + blueprintTemplate: BlueprintTemplateInput! } -""" -Represents an update to a `BlueprintTemplate`. Fields that are set will be updated. -""" -input BlueprintTemplatePatch { +"""An input for mutations affecting `BlueprintTemplate`""" +input BlueprintTemplateInput { """Unique identifier for this template.""" id: UUID """ Machine-readable name for the template (e.g. e_commerce_basic). Must be unique per owner + version. """ - name: String + name: String! """Semantic version string. Defaults to 1.0.0.""" version: String """Human-readable display name for the template (e.g. E-Commerce Basic).""" - displayName: String + displayName: String! """Optional description of what the template provisions.""" description: String """The user who created or published this template.""" - ownerId: UUID + ownerId: UUID! """ Access control for the template. private: only the owner can see and copy. public: anyone can browse and copy from the marketplace. Defaults to private. @@ -43168,7 +48346,7 @@ input BlueprintTemplatePatch { """ The blueprint definition as a JSONB document. Contains tables[] (each with nodes[] for data behaviors via string shorthand or {"$type": "...", "data": {...}} objects, fields[], grants[], and policies[] using {"$type": "...", "data": {...}}), and relations[] (using $type for relation_type with junction config in data). This is the core payload that gets copied into a blueprint for execution. """ - definition: JSON + definition: JSON! """ Version of the definition format schema. Used for forward-compatible parsing. Defaults to 1. @@ -43217,15 +48395,15 @@ input BlueprintTemplatePatch { updatedAt: Datetime } -"""The output of our update `HierarchyModule` mutation.""" -type UpdateHierarchyModulePayload { +"""The output of our create `HierarchyModule` mutation.""" +type CreateHierarchyModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `HierarchyModule` that was updated by this mutation.""" + """The `HierarchyModule` that was created by this mutation.""" hierarchyModule: HierarchyModule """ @@ -43240,27 +48418,22 @@ type UpdateHierarchyModulePayload { ): HierarchyModuleEdge } -"""All input for the `updateHierarchyModule` mutation.""" -input UpdateHierarchyModuleInput { +"""All input for the create `HierarchyModule` mutation.""" +input CreateHierarchyModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `HierarchyModule` being updated. - """ - hierarchyModulePatch: HierarchyModulePatch! + """The `HierarchyModule` to be created by this mutation.""" + hierarchyModule: HierarchyModuleInput! } -""" -Represents an update to a `HierarchyModule`. Fields that are set will be updated. -""" -input HierarchyModulePatch { +"""An input for mutations affecting `HierarchyModule`""" +input HierarchyModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! schemaId: UUID privateSchemaId: UUID chartEdgesTableId: UUID @@ -43269,8 +48442,8 @@ input HierarchyModulePatch { hierarchySprtTableName: String chartEdgeGrantsTableId: UUID chartEdgeGrantsTableName: String - entityTableId: UUID - usersTableId: UUID + entityTableId: UUID! + usersTableId: UUID! prefix: String privateSchemaName: String sprtTableName: String @@ -43281,15 +48454,15 @@ input HierarchyModulePatch { createdAt: Datetime } -"""The output of our update `ProfilesModule` mutation.""" -type UpdateProfilesModulePayload { +"""The output of our create `ProfilesModule` mutation.""" +type CreateProfilesModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ProfilesModule` that was updated by this mutation.""" + """The `ProfilesModule` that was created by this mutation.""" profilesModule: ProfilesModule """ @@ -43304,27 +48477,22 @@ type UpdateProfilesModulePayload { ): ProfilesModuleEdge } -"""All input for the `updateProfilesModule` mutation.""" -input UpdateProfilesModuleInput { +"""All input for the create `ProfilesModule` mutation.""" +input CreateProfilesModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `ProfilesModule` being updated. - """ - profilesModulePatch: ProfilesModulePatch! + """The `ProfilesModule` to be created by this mutation.""" + profilesModule: ProfilesModuleInput! } -""" -Represents an update to a `ProfilesModule`. Fields that are set will be updated. -""" -input ProfilesModulePatch { +"""An input for mutations affecting `ProfilesModule`""" +input ProfilesModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! schemaId: UUID privateSchemaId: UUID tableId: UUID @@ -43337,7 +48505,7 @@ input ProfilesModulePatch { profileDefinitionGrantsTableName: String profileTemplatesTableId: UUID profileTemplatesTableName: String - membershipType: Int + membershipType: Int! entityTableId: UUID actorTableId: UUID permissionsTableId: UUID @@ -43345,15 +48513,15 @@ input ProfilesModulePatch { prefix: String } -"""The output of our update `OrgMembership` mutation.""" -type UpdateOrgMembershipPayload { +"""The output of our create `OrgMembership` mutation.""" +type CreateOrgMembershipPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembership` that was updated by this mutation.""" + """The `OrgMembership` that was created by this mutation.""" orgMembership: OrgMembership """ @@ -43368,25 +48536,20 @@ type UpdateOrgMembershipPayload { ): OrgMembershipEdge } -"""All input for the `updateOrgMembership` mutation.""" -input UpdateOrgMembershipInput { +"""All input for the create `OrgMembership` mutation.""" +input CreateOrgMembershipInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `OrgMembership` being updated. - """ - orgMembershipPatch: OrgMembershipPatch! + """The `OrgMembership` to be created by this mutation.""" + orgMembership: OrgMembershipInput! } -""" -Represents an update to a `OrgMembership`. Fields that are set will be updated. -""" -input OrgMembershipPatch { +"""An input for mutations affecting `OrgMembership`""" +input OrgMembershipInput { id: UUID createdAt: Datetime updatedAt: Datetime @@ -43429,25 +48592,25 @@ input OrgMembershipPatch { granted: BitString """References the user who holds this membership""" - actorId: UUID + actorId: UUID! """References the entity (org or group) this membership belongs to""" - entityId: UUID + entityId: UUID! """Whether this member has read-only access (blocks mutations when true)""" isReadOnly: Boolean profileId: UUID } -"""The output of our update `ForeignKeyConstraint` mutation.""" -type UpdateForeignKeyConstraintPayload { +"""The output of our create `ForeignKeyConstraint` mutation.""" +type CreateForeignKeyConstraintPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ForeignKeyConstraint` that was updated by this mutation.""" + """The `ForeignKeyConstraint` that was created by this mutation.""" foreignKeyConstraint: ForeignKeyConstraint """ @@ -43462,35 +48625,30 @@ type UpdateForeignKeyConstraintPayload { ): ForeignKeyConstraintEdge } -"""All input for the `updateForeignKeyConstraint` mutation.""" -input UpdateForeignKeyConstraintInput { +"""All input for the create `ForeignKeyConstraint` mutation.""" +input CreateForeignKeyConstraintInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `ForeignKeyConstraint` being updated. - """ - foreignKeyConstraintPatch: ForeignKeyConstraintPatch! + """The `ForeignKeyConstraint` to be created by this mutation.""" + foreignKeyConstraint: ForeignKeyConstraintInput! } -""" -Represents an update to a `ForeignKeyConstraint`. Fields that are set will be updated. -""" -input ForeignKeyConstraintPatch { +"""An input for mutations affecting `ForeignKeyConstraint`""" +input ForeignKeyConstraintInput { id: UUID databaseId: UUID - tableId: UUID + tableId: UUID! name: String description: String smartTags: JSON type: String - fieldIds: [UUID] - refTableId: UUID - refFieldIds: [UUID] + fieldIds: [UUID]! + refTableId: UUID! + refFieldIds: [UUID]! deleteAction: String updateAction: String category: ObjectCategory @@ -43501,144 +48659,278 @@ input ForeignKeyConstraintPatch { updatedAt: Datetime } -"""The output of our update `StorageModule` mutation.""" -type UpdateStorageModulePayload { +"""The output of our create `Table` mutation.""" +type CreateTablePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `StorageModule` that was updated by this mutation.""" - storageModule: StorageModule + """The `Table` that was created by this mutation.""" + table: Table """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `StorageModule`. May be used by Relay 1.""" - storageModuleEdge( - """The method to use when ordering `StorageModule`.""" - orderBy: [StorageModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): StorageModuleEdge + """An edge for our `Table`. May be used by Relay 1.""" + tableEdge( + """The method to use when ordering `Table`.""" + orderBy: [TableOrderBy!]! = [PRIMARY_KEY_ASC] + ): TableEdge +} + +"""All input for the create `Table` mutation.""" +input CreateTableInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Table` to be created by this mutation.""" + table: TableInput! +} + +"""An input for mutations affecting `Table`""" +input TableInput { + id: UUID + databaseId: UUID + schemaId: UUID! + name: String! + label: String + description: String + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + useRls: Boolean + timestamps: Boolean + peoplestamps: Boolean + pluralName: String + singularName: String + tags: [String] + inheritsId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `RelationProvision` mutation.""" +type CreateRelationProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `RelationProvision` that was created by this mutation.""" + relationProvision: RelationProvision + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `RelationProvision`. May be used by Relay 1.""" + relationProvisionEdge( + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): RelationProvisionEdge +} + +"""All input for the create `RelationProvision` mutation.""" +input CreateRelationProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `RelationProvision` to be created by this mutation.""" + relationProvision: RelationProvisionInput! } -"""All input for the `updateStorageModule` mutation.""" -input UpdateStorageModuleInput { +"""An input for mutations affecting `RelationProvision`""" +input RelationProvisionInput { + """Unique identifier for this relation provision row.""" + id: UUID + + """ + The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. + """ + databaseId: UUID! + + """ + The type of relation to create. Uses SuperCase naming: + - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. + - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. + - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. + - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). + Each relation type uses a different subset of columns on this table. Required. + """ + relationType: String! + + """ + The source table in the relation. Required. + - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). + - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. + - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). + - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. + """ + sourceTableId: UUID! + + """ + The target table in the relation. Required. + - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). + - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). + - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). + - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. + """ + targetTableId: UUID! + + """ + FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. + - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). + - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). + For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. + Ignored for RelationManyToMany — use source_field_name/target_field_name instead. + """ + fieldName: String + + """ + FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). + """ + deleteAction: String + + """ + Whether the FK field is NOT NULL. Defaults to true. + - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). + - RelationHasMany: set to false if the child can exist without a parent. + - RelationHasOne: typically true. + Ignored for RelationManyToMany (junction FK fields are always required). + """ + isRequired: Boolean + + """ + Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. + When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. + When is_required is true, api_required is ignored (the field is already required at both levels). + Ignored for RelationManyToMany (junction FK fields are always required). + """ + apiRequired: Boolean + + """ + For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). + - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. + - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. + Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionTableId: UUID + + """ + For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionTableName: String + + """ + For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionSchemaId: UUID + + """ + For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. + """ + sourceFieldName: String + + """ + For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. + """ + targetFieldName: String + + """ + For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. + - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. + - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. + use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. + Ignored for RelationBelongsTo/RelationHasOne. + """ + useCompositeKey: Boolean + + """ + Whether to create a btree index on FK fields created by this relation. Defaults to true. + PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). + Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. + - RelationBelongsTo: creates an index on the FK field on the source table. + - RelationHasMany: creates an index on the FK field on the target table. + - RelationHasOne: skipped — the unique constraint already creates an implicit index. + - RelationManyToMany: creates indexes on both FK fields on the junction table. + Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + """ + createIndex: Boolean + + """ + For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. + When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates + clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). + When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. + Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + exposeInApi: Boolean + + """ + For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. + Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. + Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + nodes: JSON + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. """ - clientMutationId: String - id: UUID! + grants: JSON """ - An object where the defined keys will be set on the `StorageModule` being updated. + For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. + Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. + Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. """ - storageModulePatch: StorageModulePatch! -} - -""" -Represents an update to a `StorageModule`. Fields that are set will be updated. -""" -input StorageModulePatch { - id: UUID - databaseId: UUID - schemaId: UUID - privateSchemaId: UUID - bucketsTableId: UUID - filesTableId: UUID - bucketsTableName: String - filesTableName: String - membershipType: Int policies: JSON - skipDefaultPolicyTables: [String] - entityTableId: UUID - endpoint: String - publicUrlPrefix: String - provider: String - allowedOrigins: [String] - restrictReads: Boolean - uploadUrlExpirySeconds: Int - downloadUrlExpirySeconds: Int - defaultMaxFileSize: BigInt - maxFilenameLength: Int - cacheTtlSeconds: Int -} -"""The output of our update `Table` mutation.""" -type UpdateTablePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. """ - clientMutationId: String - - """The `Table` that was updated by this mutation.""" - table: Table + outFieldId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. """ - query: Query - - """An edge for our `Table`. May be used by Relay 1.""" - tableEdge( - """The method to use when ordering `Table`.""" - orderBy: [TableOrderBy!]! = [PRIMARY_KEY_ASC] - ): TableEdge -} + outJunctionTableId: UUID -"""All input for the `updateTable` mutation.""" -input UpdateTableInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. """ - clientMutationId: String - id: UUID! + outSourceFieldId: UUID """ - An object where the defined keys will be set on the `Table` being updated. + Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. """ - tablePatch: TablePatch! -} - -""" -Represents an update to a `Table`. Fields that are set will be updated. -""" -input TablePatch { - id: UUID - databaseId: UUID - schemaId: UUID - name: String - label: String - description: String - smartTags: JSON - category: ObjectCategory - module: String - scope: Int - useRls: Boolean - timestamps: Boolean - peoplestamps: Boolean - pluralName: String - singularName: String - tags: [String] - inheritsId: UUID - createdAt: Datetime - updatedAt: Datetime + outTargetFieldId: UUID } -"""The output of our update `EntityTypeProvision` mutation.""" -type UpdateEntityTypeProvisionPayload { +"""The output of our create `EntityTypeProvision` mutation.""" +type CreateEntityTypeProvisionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `EntityTypeProvision` that was updated by this mutation.""" + """The `EntityTypeProvision` that was created by this mutation.""" entityTypeProvision: EntityTypeProvision """ @@ -43653,38 +48945,31 @@ type UpdateEntityTypeProvisionPayload { ): EntityTypeProvisionEdge } -"""All input for the `updateEntityTypeProvision` mutation.""" -input UpdateEntityTypeProvisionInput { +"""All input for the create `EntityTypeProvision` mutation.""" +input CreateEntityTypeProvisionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - """Unique identifier for this provision row.""" - id: UUID! - - """ - An object where the defined keys will be set on the `EntityTypeProvision` being updated. - """ - entityTypeProvisionPatch: EntityTypeProvisionPatch! + """The `EntityTypeProvision` to be created by this mutation.""" + entityTypeProvision: EntityTypeProvisionInput! } -""" -Represents an update to a `EntityTypeProvision`. Fields that are set will be updated. -""" -input EntityTypeProvisionPatch { +"""An input for mutations affecting `EntityTypeProvision`""" +input EntityTypeProvisionInput { """Unique identifier for this provision row.""" id: UUID """The database to provision this entity type in. Required.""" - databaseId: UUID + databaseId: UUID! """ Human-readable name for this entity type, e.g. 'Data Room', 'Team Channel'. Required. Stored in the entity_types registry table. """ - name: String + name: String! """ SQL prefix used for table and module naming, e.g. 'data_room', 'team_channel'. Required. @@ -43692,7 +48977,7 @@ input EntityTypeProvisionPatch { and membership table names (prefix_memberships, prefix_members, etc.). Must be unique per database — the (database_id, prefix) constraint ensures graceful ON CONFLICT DO NOTHING. """ - prefix: String + prefix: String! """ Description of this entity type. Stored in the entity_types registry table. Defaults to empty string. @@ -43885,6 +49170,7 @@ input EntityTypeProvisionPatch { Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. """ outFilesTableId: UUID + outPathSharesTableId: UUID """ Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. @@ -43894,227 +49180,15 @@ input EntityTypeProvisionPatch { outInvitesModuleId: UUID } -"""The output of our update `RelationProvision` mutation.""" -type UpdateRelationProvisionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `RelationProvision` that was updated by this mutation.""" - relationProvision: RelationProvision - - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query - - """An edge for our `RelationProvision`. May be used by Relay 1.""" - relationProvisionEdge( - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): RelationProvisionEdge -} - -"""All input for the `updateRelationProvision` mutation.""" -input UpdateRelationProvisionInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - - """Unique identifier for this relation provision row.""" - id: UUID! - - """ - An object where the defined keys will be set on the `RelationProvision` being updated. - """ - relationProvisionPatch: RelationProvisionPatch! -} - -""" -Represents an update to a `RelationProvision`. Fields that are set will be updated. -""" -input RelationProvisionPatch { - """Unique identifier for this relation provision row.""" - id: UUID - - """ - The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. - """ - databaseId: UUID - - """ - The type of relation to create. Uses SuperCase naming: - - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. - - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. - - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. - - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). - Each relation type uses a different subset of columns on this table. Required. - """ - relationType: String - - """ - The source table in the relation. Required. - - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). - - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. - - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). - - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. - """ - sourceTableId: UUID - - """ - The target table in the relation. Required. - - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). - - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). - - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). - - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. - """ - targetTableId: UUID - - """ - FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. - - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). - - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). - For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. - Ignored for RelationManyToMany — use source_field_name/target_field_name instead. - """ - fieldName: String - - """ - FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). - """ - deleteAction: String - - """ - Whether the FK field is NOT NULL. Defaults to true. - - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). - - RelationHasMany: set to false if the child can exist without a parent. - - RelationHasOne: typically true. - Ignored for RelationManyToMany (junction FK fields are always required). - """ - isRequired: Boolean - - """ - Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. - When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. - When is_required is true, api_required is ignored (the field is already required at both levels). - Ignored for RelationManyToMany (junction FK fields are always required). - """ - apiRequired: Boolean - - """ - For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). - - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. - - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. - Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionTableId: UUID - - """ - For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionTableName: String - - """ - For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. - """ - junctionSchemaId: UUID - - """ - For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. - """ - sourceFieldName: String - - """ - For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. - """ - targetFieldName: String - - """ - For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. - - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. - - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. - use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. - Ignored for RelationBelongsTo/RelationHasOne. - """ - useCompositeKey: Boolean - - """ - Whether to create a btree index on FK fields created by this relation. Defaults to true. - PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). - Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. - - RelationBelongsTo: creates an index on the FK field on the source table. - - RelationHasMany: creates an index on the FK field on the target table. - - RelationHasOne: skipped — the unique constraint already creates an implicit index. - - RelationManyToMany: creates indexes on both FK fields on the junction table. - Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. - """ - createIndex: Boolean - - """ - For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. - When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates - clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). - When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. - Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - exposeInApi: Boolean - - """ - For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. - Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. - Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - nodes: JSON - - """ - For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. - """ - grants: JSON - - """ - For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. - Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. - Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). - Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. - """ - policies: JSON - - """ - Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. - """ - outFieldId: UUID - - """ - Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outJunctionTableId: UUID - - """ - Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outSourceFieldId: UUID - - """ - Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. - """ - outTargetFieldId: UUID -} - -"""The output of our update `LevelsModule` mutation.""" -type UpdateLevelsModulePayload { +"""The output of our create `LevelsModule` mutation.""" +type CreateLevelsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `LevelsModule` that was updated by this mutation.""" + """The `LevelsModule` that was created by this mutation.""" levelsModule: LevelsModule """ @@ -44129,27 +49203,22 @@ type UpdateLevelsModulePayload { ): LevelsModuleEdge } -"""All input for the `updateLevelsModule` mutation.""" -input UpdateLevelsModuleInput { +"""All input for the create `LevelsModule` mutation.""" +input CreateLevelsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `LevelsModule` being updated. - """ - levelsModulePatch: LevelsModulePatch! + """The `LevelsModule` to be created by this mutation.""" + levelsModule: LevelsModuleInput! } -""" -Represents an update to a `LevelsModule`. Fields that are set will be updated. -""" -input LevelsModulePatch { +"""An input for mutations affecting `LevelsModule`""" +input LevelsModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! schemaId: UUID privateSchemaId: UUID stepsTableId: UUID @@ -44171,20 +49240,20 @@ input LevelsModulePatch { stepsRequired: String levelAchieved: String prefix: String - membershipType: Int + membershipType: Int! entityTableId: UUID actorTableId: UUID } -"""The output of our update `UserAuthModule` mutation.""" -type UpdateUserAuthModulePayload { +"""The output of our create `UserAuthModule` mutation.""" +type CreateUserAuthModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `UserAuthModule` that was updated by this mutation.""" + """The `UserAuthModule` that was created by this mutation.""" userAuthModule: UserAuthModule """ @@ -44199,27 +49268,22 @@ type UpdateUserAuthModulePayload { ): UserAuthModuleEdge } -"""All input for the `updateUserAuthModule` mutation.""" -input UpdateUserAuthModuleInput { +"""All input for the create `UserAuthModule` mutation.""" +input CreateUserAuthModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `UserAuthModule` being updated. - """ - userAuthModulePatch: UserAuthModulePatch! + """The `UserAuthModule` to be created by this mutation.""" + userAuthModule: UserAuthModuleInput! } -""" -Represents an update to a `UserAuthModule`. Fields that are set will be updated. -""" -input UserAuthModulePatch { +"""An input for mutations affecting `UserAuthModule`""" +input UserAuthModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! schemaId: UUID emailsTableId: UUID usersTableId: UUID @@ -44246,83 +49310,215 @@ input UserAuthModulePatch { extendTokenExpires: String } -"""The output of our update `Field` mutation.""" -type UpdateFieldPayload { +"""The output of our create `Field` mutation.""" +type CreateFieldPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Field` that was created by this mutation.""" + field: Field + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Field`. May be used by Relay 1.""" + fieldEdge( + """The method to use when ordering `Field`.""" + orderBy: [FieldOrderBy!]! = [PRIMARY_KEY_ASC] + ): FieldEdge +} + +"""All input for the create `Field` mutation.""" +input CreateFieldInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `Field` to be created by this mutation.""" + field: FieldInput! +} + +"""An input for mutations affecting `Field`""" +input FieldInput { + id: UUID + databaseId: UUID + tableId: UUID! + name: String! + label: String + description: String + smartTags: JSON + isRequired: Boolean + apiRequired: Boolean + defaultValue: String + defaultValueAst: JSON + type: String! + fieldOrder: Int + regexp: String + chk: JSON + chkExpr: JSON + min: Float + max: Float + tags: [String] + category: ObjectCategory + module: String + scope: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our create `LimitsModule` mutation.""" +type CreateLimitsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `LimitsModule` that was created by this mutation.""" + limitsModule: LimitsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `LimitsModule`. May be used by Relay 1.""" + limitsModuleEdge( + """The method to use when ordering `LimitsModule`.""" + orderBy: [LimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): LimitsModuleEdge +} + +"""All input for the create `LimitsModule` mutation.""" +input CreateLimitsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """The `LimitsModule` to be created by this mutation.""" + limitsModule: LimitsModuleInput! +} + +"""An input for mutations affecting `LimitsModule`""" +input LimitsModuleInput { + id: UUID + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + tableName: String + defaultTableId: UUID + defaultTableName: String + limitIncrementFunction: String + limitDecrementFunction: String + limitIncrementTrigger: String + limitDecrementTrigger: String + limitUpdateTrigger: String + limitCheckFunction: String + limitCreditsTableId: UUID + eventsTableId: UUID + creditCodesTableId: UUID + creditCodeItemsTableId: UUID + creditRedemptionsTableId: UUID + aggregateTableId: UUID + limitCapsTableId: UUID + limitCapsDefaultsTableId: UUID + capCheckTrigger: String + resolveCapFunction: String + prefix: String + membershipType: Int! + entityTableId: UUID + actorTableId: UUID +} + +"""The output of our create `StorageModule` mutation.""" +type CreateStorageModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Field` that was updated by this mutation.""" - field: Field + """The `StorageModule` that was created by this mutation.""" + storageModule: StorageModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Field`. May be used by Relay 1.""" - fieldEdge( - """The method to use when ordering `Field`.""" - orderBy: [FieldOrderBy!]! = [PRIMARY_KEY_ASC] - ): FieldEdge + """An edge for our `StorageModule`. May be used by Relay 1.""" + storageModuleEdge( + """The method to use when ordering `StorageModule`.""" + orderBy: [StorageModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): StorageModuleEdge } -"""All input for the `updateField` mutation.""" -input UpdateFieldInput { +"""All input for the create `StorageModule` mutation.""" +input CreateStorageModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `Field` being updated. - """ - fieldPatch: FieldPatch! + """The `StorageModule` to be created by this mutation.""" + storageModule: StorageModuleInput! } -""" -Represents an update to a `Field`. Fields that are set will be updated. -""" -input FieldPatch { +"""An input for mutations affecting `StorageModule`""" +input StorageModuleInput { id: UUID - databaseId: UUID - tableId: UUID - name: String - label: String - description: String - smartTags: JSON - isRequired: Boolean - apiRequired: Boolean - defaultValue: String - defaultValueAst: JSON - type: String - fieldOrder: Int - regexp: String - chk: JSON - chkExpr: JSON - min: Float - max: Float - tags: [String] - category: ObjectCategory - module: String - scope: Int - createdAt: Datetime - updatedAt: Datetime + databaseId: UUID! + schemaId: UUID + privateSchemaId: UUID + bucketsTableId: UUID + filesTableId: UUID + bucketsTableName: String + filesTableName: String + membershipType: Int + policies: JSON + skipDefaultPolicyTables: [String] + entityTableId: UUID + endpoint: String + publicUrlPrefix: String + provider: String + allowedOrigins: [String] + restrictReads: Boolean + hasPathShares: Boolean + pathSharesTableId: UUID + uploadUrlExpirySeconds: Int + downloadUrlExpirySeconds: Int + defaultMaxFileSize: BigInt + maxFilenameLength: Int + cacheTtlSeconds: Int + maxBulkFiles: Int + maxBulkTotalSize: BigInt + hasVersioning: Boolean + hasContentHash: Boolean + hasCustomKeys: Boolean + hasAuditLog: Boolean + fileEventsTableId: UUID } -"""The output of our update `MembershipsModule` mutation.""" -type UpdateMembershipsModulePayload { +"""The output of our create `MembershipsModule` mutation.""" +type CreateMembershipsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `MembershipsModule` that was updated by this mutation.""" + """The `MembershipsModule` that was created by this mutation.""" membershipsModule: MembershipsModule """ @@ -44337,27 +49533,22 @@ type UpdateMembershipsModulePayload { ): MembershipsModuleEdge } -"""All input for the `updateMembershipsModule` mutation.""" -input UpdateMembershipsModuleInput { +"""All input for the create `MembershipsModule` mutation.""" +input CreateMembershipsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! - """ - An object where the defined keys will be set on the `MembershipsModule` being updated. - """ - membershipsModulePatch: MembershipsModulePatch! + """The `MembershipsModule` to be created by this mutation.""" + membershipsModule: MembershipsModuleInput! } -""" -Represents an update to a `MembershipsModule`. Fields that are set will be updated. -""" -input MembershipsModulePatch { +"""An input for mutations affecting `MembershipsModule`""" +input MembershipsModuleInput { id: UUID - databaseId: UUID + databaseId: UUID! schemaId: UUID privateSchemaId: UUID membershipsTableId: UUID @@ -44380,7 +49571,7 @@ input MembershipsModulePatch { adminGrantsTableName: String ownerGrantsTableId: UUID ownerGrantsTableName: String - membershipType: Int + membershipType: Int! entityTableId: UUID entityTableOwnerId: UUID prefix: String @@ -44392,15 +49583,15 @@ input MembershipsModulePatch { memberProfilesTableId: UUID } -"""The output of our delete `DefaultIdsModule` mutation.""" -type DeleteDefaultIdsModulePayload { +"""The output of our update `DefaultIdsModule` mutation.""" +type UpdateDefaultIdsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `DefaultIdsModule` that was deleted by this mutation.""" + """The `DefaultIdsModule` that was updated by this mutation.""" defaultIdsModule: DefaultIdsModule """ @@ -44415,25 +49606,38 @@ type DeleteDefaultIdsModulePayload { ): DefaultIdsModuleEdge } -"""All input for the `deleteDefaultIdsModule` mutation.""" -input DeleteDefaultIdsModuleInput { +"""All input for the `updateDefaultIdsModule` mutation.""" +input UpdateDefaultIdsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `DefaultIdsModule` being updated. + """ + defaultIdsModulePatch: DefaultIdsModulePatch! } -"""The output of our delete `RoleType` mutation.""" -type DeleteRoleTypePayload { +""" +Represents an update to a `DefaultIdsModule`. Fields that are set will be updated. +""" +input DefaultIdsModulePatch { + id: UUID + databaseId: UUID +} + +"""The output of our update `RoleType` mutation.""" +type UpdateRoleTypePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `RoleType` that was deleted by this mutation.""" + """The `RoleType` that was updated by this mutation.""" roleType: RoleType """ @@ -44448,25 +49652,137 @@ type DeleteRoleTypePayload { ): RoleTypeEdge } -"""All input for the `deleteRoleType` mutation.""" -input DeleteRoleTypeInput { +"""All input for the `updateRoleType` mutation.""" +input UpdateRoleTypeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: Int! + + """ + An object where the defined keys will be set on the `RoleType` being updated. + """ + roleTypePatch: RoleTypePatch! } -"""The output of our delete `ViewTable` mutation.""" -type DeleteViewTablePayload { +""" +Represents an update to a `RoleType`. Fields that are set will be updated. +""" +input RoleTypePatch { + id: Int + name: String +} + +"""The output of our update `AppLimitCreditRedemption` mutation.""" +type UpdateAppLimitCreditRedemptionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ViewTable` that was deleted by this mutation.""" + """The `AppLimitCreditRedemption` that was updated by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemption + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `AppLimitCreditRedemption`. May be used by Relay 1.""" + appLimitCreditRedemptionEdge( + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionEdge +} + +"""All input for the `updateAppLimitCreditRedemption` mutation.""" +input UpdateAppLimitCreditRedemptionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCreditRedemption` being updated. + """ + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch! +} + +""" +Represents an update to a `AppLimitCreditRedemption`. Fields that are set will be updated. +""" +input AppLimitCreditRedemptionPatch { + id: UUID + + """FK to credit_codes — which code is being redeemed""" + creditCodeId: UUID + + """Entity receiving the credits (personal org user_id or org entity_id)""" + entityId: UUID +} + +"""The output of our update `Function` mutation.""" +type UpdateFunctionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Function` that was updated by this mutation.""" + function: Function + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `Function`. May be used by Relay 1.""" + functionEdge( + """The method to use when ordering `Function`.""" + orderBy: [FunctionOrderBy!]! = [PRIMARY_KEY_ASC] + ): FunctionEdge +} + +"""All input for the `updateFunction` mutation.""" +input UpdateFunctionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + + """ + An object where the defined keys will be set on the `Function` being updated. + """ + functionPatch: FunctionPatch! +} + +""" +Represents an update to a `Function`. Fields that are set will be updated. +""" +input FunctionPatch { + id: UUID + databaseId: UUID + schemaId: UUID + name: String +} + +"""The output of our update `ViewTable` mutation.""" +type UpdateViewTablePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `ViewTable` that was updated by this mutation.""" viewTable: ViewTable """ @@ -44481,25 +49797,40 @@ type DeleteViewTablePayload { ): ViewTableEdge } -"""All input for the `deleteViewTable` mutation.""" -input DeleteViewTableInput { +"""All input for the `updateViewTable` mutation.""" +input UpdateViewTableInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `ViewTable` being updated. + """ + viewTablePatch: ViewTablePatch! } -"""The output of our delete `ApiSchema` mutation.""" -type DeleteApiSchemaPayload { +""" +Represents an update to a `ViewTable`. Fields that are set will be updated. +""" +input ViewTablePatch { + id: UUID + viewId: UUID + tableId: UUID + joinOrder: Int +} + +"""The output of our update `ApiSchema` mutation.""" +type UpdateApiSchemaPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ApiSchema` that was deleted by this mutation.""" + """The `ApiSchema` that was updated by this mutation.""" apiSchema: ApiSchema """ @@ -44514,8 +49845,8 @@ type DeleteApiSchemaPayload { ): ApiSchemaEdge } -"""All input for the `deleteApiSchema` mutation.""" -input DeleteApiSchemaInput { +"""All input for the `updateApiSchema` mutation.""" +input UpdateApiSchemaInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -44524,17 +49855,96 @@ input DeleteApiSchemaInput { """Unique identifier for this API-schema mapping""" id: UUID! + + """ + An object where the defined keys will be set on the `ApiSchema` being updated. + """ + apiSchemaPatch: ApiSchemaPatch! } -"""The output of our delete `OrgMember` mutation.""" -type DeleteOrgMemberPayload { +""" +Represents an update to a `ApiSchema`. Fields that are set will be updated. +""" +input ApiSchemaPatch { + """Unique identifier for this API-schema mapping""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID + + """Metaschema schema being exposed through the API""" + schemaId: UUID + + """API that exposes this schema""" + apiId: UUID +} + +"""The output of our update `CorsSetting` mutation.""" +type UpdateCorsSettingPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMember` that was deleted by this mutation.""" + """The `CorsSetting` that was updated by this mutation.""" + corsSetting: CorsSetting + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `CorsSetting`. May be used by Relay 1.""" + corsSettingEdge( + """The method to use when ordering `CorsSetting`.""" + orderBy: [CorsSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): CorsSettingEdge +} + +"""All input for the `updateCorsSetting` mutation.""" +input UpdateCorsSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """Unique identifier for this CORS settings record""" + id: UUID! + + """ + An object where the defined keys will be set on the `CorsSetting` being updated. + """ + corsSettingPatch: CorsSettingPatch! +} + +""" +Represents an update to a `CorsSetting`. Fields that are set will be updated. +""" +input CorsSettingPatch { + """Unique identifier for this CORS settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID + + """Optional API for per-API override; NULL means database-wide default""" + apiId: UUID + + """Array of allowed CORS origins (e.g. https://example.com)""" + allowedOrigins: [String] +} + +"""The output of our update `OrgMember` mutation.""" +type UpdateOrgMemberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgMember` that was updated by this mutation.""" orgMember: OrgMember """ @@ -44549,25 +49959,46 @@ type DeleteOrgMemberPayload { ): OrgMemberEdge } -"""All input for the `deleteOrgMember` mutation.""" -input DeleteOrgMemberInput { +"""All input for the `updateOrgMember` mutation.""" +input UpdateOrgMemberInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgMember` being updated. + """ + orgMemberPatch: OrgMemberPatch! } -"""The output of our delete `SiteTheme` mutation.""" -type DeleteSiteThemePayload { +""" +Represents an update to a `OrgMember`. Fields that are set will be updated. +""" +input OrgMemberPatch { + id: UUID + + """Whether this member has admin privileges""" + isAdmin: Boolean + + """References the user who is a member""" + actorId: UUID + + """References the entity (org or group) this member belongs to""" + entityId: UUID +} + +"""The output of our update `SiteTheme` mutation.""" +type UpdateSiteThemePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SiteTheme` that was deleted by this mutation.""" + """The `SiteTheme` that was updated by this mutation.""" siteTheme: SiteTheme """ @@ -44582,8 +50013,8 @@ type DeleteSiteThemePayload { ): SiteThemeEdge } -"""All input for the `deleteSiteTheme` mutation.""" -input DeleteSiteThemeInput { +"""All input for the `updateSiteTheme` mutation.""" +input UpdateSiteThemeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -44592,17 +50023,41 @@ input DeleteSiteThemeInput { """Unique identifier for this theme record""" id: UUID! + + """ + An object where the defined keys will be set on the `SiteTheme` being updated. + """ + siteThemePatch: SiteThemePatch! } -"""The output of our delete `Ref` mutation.""" -type DeleteRefPayload { +""" +Represents an update to a `SiteTheme`. Fields that are set will be updated. +""" +input SiteThemePatch { + """Unique identifier for this theme record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID + + """Site this theme belongs to""" + siteId: UUID + + """ + JSONB object containing theme tokens (colors, typography, spacing, etc.) + """ + theme: JSON +} + +"""The output of our update `Ref` mutation.""" +type UpdateRefPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Ref` that was deleted by this mutation.""" + """The `Ref` that was updated by this mutation.""" ref: Ref """ @@ -44617,8 +50072,8 @@ type DeleteRefPayload { ): RefEdge } -"""All input for the `deleteRef` mutation.""" -input DeleteRefInput { +"""All input for the `updateRef` mutation.""" +input UpdateRefInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -44628,17 +50083,34 @@ input DeleteRefInput { """The primary unique identifier for the ref.""" id: UUID! databaseId: UUID! + + """ + An object where the defined keys will be set on the `Ref` being updated. + """ + refPatch: RefPatch! } -"""The output of our delete `Store` mutation.""" -type DeleteStorePayload { +"""Represents an update to a `Ref`. Fields that are set will be updated.""" +input RefPatch { + """The primary unique identifier for the ref.""" + id: UUID + + """The name of the ref or branch""" + name: String + databaseId: UUID + storeId: UUID + commitId: UUID +} + +"""The output of our update `Store` mutation.""" +type UpdateStorePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Store` that was deleted by this mutation.""" + """The `Store` that was updated by this mutation.""" store: Store """ @@ -44653,8 +50125,8 @@ type DeleteStorePayload { ): StoreEdge } -"""All input for the `deleteStore` mutation.""" -input DeleteStoreInput { +"""All input for the `updateStore` mutation.""" +input UpdateStoreInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -44663,17 +50135,40 @@ input DeleteStoreInput { """The primary unique identifier for the store.""" id: UUID! + + """ + An object where the defined keys will be set on the `Store` being updated. + """ + storePatch: StorePatch! } -"""The output of our delete `EncryptedSecretsModule` mutation.""" -type DeleteEncryptedSecretsModulePayload { +""" +Represents an update to a `Store`. Fields that are set will be updated. +""" +input StorePatch { + """The primary unique identifier for the store.""" + id: UUID + + """The name of the store (e.g., metaschema, migrations).""" + name: String + + """The database this store belongs to.""" + databaseId: UUID + + """The current head tree_id for this store.""" + hash: UUID + createdAt: Datetime +} + +"""The output of our update `EncryptedSecretsModule` mutation.""" +type UpdateEncryptedSecretsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `EncryptedSecretsModule` that was deleted by this mutation.""" + """The `EncryptedSecretsModule` that was updated by this mutation.""" encryptedSecretsModule: EncryptedSecretsModule """ @@ -44688,25 +50183,41 @@ type DeleteEncryptedSecretsModulePayload { ): EncryptedSecretsModuleEdge } -"""All input for the `deleteEncryptedSecretsModule` mutation.""" -input DeleteEncryptedSecretsModuleInput { +"""All input for the `updateEncryptedSecretsModule` mutation.""" +input UpdateEncryptedSecretsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `EncryptedSecretsModule` being updated. + """ + encryptedSecretsModulePatch: EncryptedSecretsModulePatch! } -"""The output of our delete `MembershipTypesModule` mutation.""" -type DeleteMembershipTypesModulePayload { +""" +Represents an update to a `EncryptedSecretsModule`. Fields that are set will be updated. +""" +input EncryptedSecretsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + tableId: UUID + tableName: String +} + +"""The output of our update `MembershipTypesModule` mutation.""" +type UpdateMembershipTypesModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `MembershipTypesModule` that was deleted by this mutation.""" + """The `MembershipTypesModule` that was updated by this mutation.""" membershipTypesModule: MembershipTypesModule """ @@ -44721,25 +50232,41 @@ type DeleteMembershipTypesModulePayload { ): MembershipTypesModuleEdge } -"""All input for the `deleteMembershipTypesModule` mutation.""" -input DeleteMembershipTypesModuleInput { +"""All input for the `updateMembershipTypesModule` mutation.""" +input UpdateMembershipTypesModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `MembershipTypesModule` being updated. + """ + membershipTypesModulePatch: MembershipTypesModulePatch! } -"""The output of our delete `SecretsModule` mutation.""" -type DeleteSecretsModulePayload { +""" +Represents an update to a `MembershipTypesModule`. Fields that are set will be updated. +""" +input MembershipTypesModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + tableId: UUID + tableName: String +} + +"""The output of our update `SecretsModule` mutation.""" +type UpdateSecretsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SecretsModule` that was deleted by this mutation.""" + """The `SecretsModule` that was updated by this mutation.""" secretsModule: SecretsModule """ @@ -44754,25 +50281,41 @@ type DeleteSecretsModulePayload { ): SecretsModuleEdge } -"""All input for the `deleteSecretsModule` mutation.""" -input DeleteSecretsModuleInput { +"""All input for the `updateSecretsModule` mutation.""" +input UpdateSecretsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `SecretsModule` being updated. + """ + secretsModulePatch: SecretsModulePatch! +} + +""" +Represents an update to a `SecretsModule`. Fields that are set will be updated. +""" +input SecretsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + tableId: UUID + tableName: String } -"""The output of our delete `AppPermissionDefault` mutation.""" -type DeleteAppPermissionDefaultPayload { +"""The output of our update `AppPermissionDefault` mutation.""" +type UpdateAppPermissionDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppPermissionDefault` that was deleted by this mutation.""" + """The `AppPermissionDefault` that was updated by this mutation.""" appPermissionDefault: AppPermissionDefault """ @@ -44787,25 +50330,40 @@ type DeleteAppPermissionDefaultPayload { ): AppPermissionDefaultEdge } -"""All input for the `deleteAppPermissionDefault` mutation.""" -input DeleteAppPermissionDefaultInput { +"""All input for the `updateAppPermissionDefault` mutation.""" +input UpdateAppPermissionDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppPermissionDefault` being updated. + """ + appPermissionDefaultPatch: AppPermissionDefaultPatch! } -"""The output of our delete `ApiModule` mutation.""" -type DeleteApiModulePayload { +""" +Represents an update to a `AppPermissionDefault`. Fields that are set will be updated. +""" +input AppPermissionDefaultPatch { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString +} + +"""The output of our update `ApiModule` mutation.""" +type UpdateApiModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ApiModule` that was deleted by this mutation.""" + """The `ApiModule` that was updated by this mutation.""" apiModule: ApiModule """ @@ -44820,8 +50378,8 @@ type DeleteApiModulePayload { ): ApiModuleEdge } -"""All input for the `deleteApiModule` mutation.""" -input DeleteApiModuleInput { +"""All input for the `updateApiModule` mutation.""" +input UpdateApiModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -44830,17 +50388,42 @@ input DeleteApiModuleInput { """Unique identifier for this API module record""" id: UUID! + + """ + An object where the defined keys will be set on the `ApiModule` being updated. + """ + apiModulePatch: ApiModulePatch! } -"""The output of our delete `SiteModule` mutation.""" -type DeleteSiteModulePayload { +""" +Represents an update to a `ApiModule`. Fields that are set will be updated. +""" +input ApiModulePatch { + """Unique identifier for this API module record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID + + """API this module configuration belongs to""" + apiId: UUID + + """Module name (e.g. auth, uploads, webhooks)""" + name: String + + """JSON configuration data for this module""" + data: JSON +} + +"""The output of our update `SiteModule` mutation.""" +type UpdateSiteModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SiteModule` that was deleted by this mutation.""" + """The `SiteModule` that was updated by this mutation.""" siteModule: SiteModule """ @@ -44855,8 +50438,8 @@ type DeleteSiteModulePayload { ): SiteModuleEdge } -"""All input for the `deleteSiteModule` mutation.""" -input DeleteSiteModuleInput { +"""All input for the `updateSiteModule` mutation.""" +input UpdateSiteModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. @@ -44865,10689 +50448,12747 @@ input DeleteSiteModuleInput { """Unique identifier for this site module record""" id: UUID! -} -"""The output of our delete `SchemaGrant` mutation.""" -type DeleteSchemaGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `SiteModule` being updated. """ - clientMutationId: String + siteModulePatch: SiteModulePatch! +} - """The `SchemaGrant` that was deleted by this mutation.""" - schemaGrant: SchemaGrant +""" +Represents an update to a `SiteModule`. Fields that are set will be updated. +""" +input SiteModulePatch { + """Unique identifier for this site module record""" + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reference to the metaschema database""" + databaseId: UUID - """An edge for our `SchemaGrant`. May be used by Relay 1.""" - schemaGrantEdge( - """The method to use when ordering `SchemaGrant`.""" - orderBy: [SchemaGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): SchemaGrantEdge -} + """Site this module configuration belongs to""" + siteId: UUID -"""All input for the `deleteSchemaGrant` mutation.""" -input DeleteSchemaGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Module name (e.g. user_auth_module, analytics)""" + name: String + + """JSON configuration data for this module""" + data: JSON } -"""The output of our delete `TriggerFunction` mutation.""" -type DeleteTriggerFunctionPayload { +"""The output of our update `AppLimitCreditCode` mutation.""" +type UpdateAppLimitCreditCodePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `TriggerFunction` that was deleted by this mutation.""" - triggerFunction: TriggerFunction + """The `AppLimitCreditCode` that was updated by this mutation.""" + appLimitCreditCode: AppLimitCreditCode """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `TriggerFunction`. May be used by Relay 1.""" - triggerFunctionEdge( - """The method to use when ordering `TriggerFunction`.""" - orderBy: [TriggerFunctionOrderBy!]! = [PRIMARY_KEY_ASC] - ): TriggerFunctionEdge + """An edge for our `AppLimitCreditCode`. May be used by Relay 1.""" + appLimitCreditCodeEdge( + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeEdge } -"""All input for the `deleteTriggerFunction` mutation.""" -input DeleteTriggerFunctionInput { +"""All input for the `updateAppLimitCreditCode` mutation.""" +input UpdateAppLimitCreditCodeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `ViewRule` mutation.""" -type DeleteViewRulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AppLimitCreditCode` being updated. """ - clientMutationId: String + appLimitCreditCodePatch: AppLimitCreditCodePatch! +} - """The `ViewRule` that was deleted by this mutation.""" - viewRule: ViewRule +""" +Represents an update to a `AppLimitCreditCode`. Fields that are set will be updated. +""" +input AppLimitCreditCodePatch { + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Human-readable credit code (case-insensitive, unique)""" + code: String - """An edge for our `ViewRule`. May be used by Relay 1.""" - viewRuleEdge( - """The method to use when ordering `ViewRule`.""" - orderBy: [ViewRuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewRuleEdge -} + """Maximum total redemptions allowed; NULL for unlimited""" + maxRedemptions: Int -"""All input for the `deleteViewRule` mutation.""" -input DeleteViewRuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Current number of redemptions (incremented by trigger on credit_redemptions) """ - clientMutationId: String - id: UUID! + currentRedemptions: Int + + """Expiration timestamp; NULL for no expiry""" + expiresAt: Datetime } -"""The output of our delete `IdentityProvidersModule` mutation.""" -type DeleteIdentityProvidersModulePayload { +"""The output of our update `SchemaGrant` mutation.""" +type UpdateSchemaGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `IdentityProvidersModule` that was deleted by this mutation.""" - identityProvidersModule: IdentityProvidersModule + """The `SchemaGrant` that was updated by this mutation.""" + schemaGrant: SchemaGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `IdentityProvidersModule`. May be used by Relay 1.""" - identityProvidersModuleEdge( - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleEdge + """An edge for our `SchemaGrant`. May be used by Relay 1.""" + schemaGrantEdge( + """The method to use when ordering `SchemaGrant`.""" + orderBy: [SchemaGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): SchemaGrantEdge } -"""All input for the `deleteIdentityProvidersModule` mutation.""" -input DeleteIdentityProvidersModuleInput { +"""All input for the `updateSchemaGrant` mutation.""" +input UpdateSchemaGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} - -"""The output of our delete `SessionSecretsModule` mutation.""" -type DeleteSessionSecretsModulePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `SessionSecretsModule` that was deleted by this mutation.""" - sessionSecretsModule: SessionSecretsModule """ - Our root query field type. Allows us to run any query from our mutation payload. + An object where the defined keys will be set on the `SchemaGrant` being updated. """ - query: Query - - """An edge for our `SessionSecretsModule`. May be used by Relay 1.""" - sessionSecretsModuleEdge( - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleEdge + schemaGrantPatch: SchemaGrantPatch! } -"""All input for the `deleteSessionSecretsModule` mutation.""" -input DeleteSessionSecretsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +""" +Represents an update to a `SchemaGrant`. Fields that are set will be updated. +""" +input SchemaGrantPatch { + id: UUID + databaseId: UUID + schemaId: UUID + granteeName: String + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `AppAdminGrant` mutation.""" -type DeleteAppAdminGrantPayload { +"""The output of our update `TriggerFunction` mutation.""" +type UpdateTriggerFunctionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppAdminGrant` that was deleted by this mutation.""" - appAdminGrant: AppAdminGrant + """The `TriggerFunction` that was updated by this mutation.""" + triggerFunction: TriggerFunction """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppAdminGrant`. May be used by Relay 1.""" - appAdminGrantEdge( - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAdminGrantEdge + """An edge for our `TriggerFunction`. May be used by Relay 1.""" + triggerFunctionEdge( + """The method to use when ordering `TriggerFunction`.""" + orderBy: [TriggerFunctionOrderBy!]! = [PRIMARY_KEY_ASC] + ): TriggerFunctionEdge } -"""All input for the `deleteAppAdminGrant` mutation.""" -input DeleteAppAdminGrantInput { +"""All input for the `updateTriggerFunction` mutation.""" +input UpdateTriggerFunctionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} - -"""The output of our delete `AppOwnerGrant` mutation.""" -type DeleteAppOwnerGrantPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppOwnerGrant` that was deleted by this mutation.""" - appOwnerGrant: AppOwnerGrant """ - Our root query field type. Allows us to run any query from our mutation payload. + An object where the defined keys will be set on the `TriggerFunction` being updated. """ - query: Query - - """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" - appOwnerGrantEdge( - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppOwnerGrantEdge + triggerFunctionPatch: TriggerFunctionPatch! } -"""All input for the `deleteAppOwnerGrant` mutation.""" -input DeleteAppOwnerGrantInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! +""" +Represents an update to a `TriggerFunction`. Fields that are set will be updated. +""" +input TriggerFunctionPatch { + id: UUID + databaseId: UUID + name: String + code: String + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `AppAchievement` mutation.""" -type DeleteAppAchievementPayload { +"""The output of our update `ViewRule` mutation.""" +type UpdateViewRulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppAchievement` that was deleted by this mutation.""" - appAchievement: AppAchievement + """The `ViewRule` that was updated by this mutation.""" + viewRule: ViewRule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppAchievement`. May be used by Relay 1.""" - appAchievementEdge( - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppAchievementEdge + """An edge for our `ViewRule`. May be used by Relay 1.""" + viewRuleEdge( + """The method to use when ordering `ViewRule`.""" + orderBy: [ViewRuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewRuleEdge } -"""All input for the `deleteAppAchievement` mutation.""" -input DeleteAppAchievementInput { +"""All input for the `updateViewRule` mutation.""" +input UpdateViewRuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `AppStep` mutation.""" -type DeleteAppStepPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `ViewRule` being updated. """ - clientMutationId: String - - """The `AppStep` that was deleted by this mutation.""" - appStep: AppStep + viewRulePatch: ViewRulePatch! +} - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query +""" +Represents an update to a `ViewRule`. Fields that are set will be updated. +""" +input ViewRulePatch { + id: UUID + databaseId: UUID + viewId: UUID + name: String - """An edge for our `AppStep`. May be used by Relay 1.""" - appStepEdge( - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppStepEdge -} + """INSERT, UPDATE, or DELETE""" + event: String -"""All input for the `deleteAppStep` mutation.""" -input DeleteAppStepInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """NOTHING (for read-only) or custom action""" + action: String } -"""The output of our delete `OrgPermissionDefault` mutation.""" -type DeleteOrgPermissionDefaultPayload { +"""The output of our update `IdentityProvidersModule` mutation.""" +type UpdateIdentityProvidersModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgPermissionDefault` that was deleted by this mutation.""" - orgPermissionDefault: OrgPermissionDefault + """The `IdentityProvidersModule` that was updated by this mutation.""" + identityProvidersModule: IdentityProvidersModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" - orgPermissionDefaultEdge( - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultEdge + """An edge for our `IdentityProvidersModule`. May be used by Relay 1.""" + identityProvidersModuleEdge( + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleEdge } -"""All input for the `deleteOrgPermissionDefault` mutation.""" -input DeleteOrgPermissionDefaultInput { +"""All input for the `updateIdentityProvidersModule` mutation.""" +input UpdateIdentityProvidersModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} - -"""The output of our delete `AppPermission` mutation.""" -type DeleteAppPermissionPayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `AppPermission` that was deleted by this mutation.""" - appPermission: AppPermission """ - Our root query field type. Allows us to run any query from our mutation payload. + An object where the defined keys will be set on the `IdentityProvidersModule` being updated. """ - query: Query - - """An edge for our `AppPermission`. May be used by Relay 1.""" - appPermissionEdge( - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppPermissionEdge + identityProvidersModulePatch: IdentityProvidersModulePatch! } -"""All input for the `deleteAppPermission` mutation.""" -input DeleteAppPermissionInput { +""" +Represents an update to a `IdentityProvidersModule`. Fields that are set will be updated. +""" +input IdentityProvidersModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Private schema that hosts SECURITY DEFINER admin helpers which write to identity_providers (create / update / enable / disable / rotate-secret / delete) and the per-app quota check. """ - clientMutationId: String - id: UUID! + privateSchemaId: UUID + tableId: UUID + tableName: String } -"""The output of our delete `OrgPermission` mutation.""" -type DeleteOrgPermissionPayload { +"""The output of our update `SessionSecretsModule` mutation.""" +type UpdateSessionSecretsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgPermission` that was deleted by this mutation.""" - orgPermission: OrgPermission + """The `SessionSecretsModule` that was updated by this mutation.""" + sessionSecretsModule: SessionSecretsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgPermission`. May be used by Relay 1.""" - orgPermissionEdge( - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgPermissionEdge + """An edge for our `SessionSecretsModule`. May be used by Relay 1.""" + sessionSecretsModuleEdge( + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleEdge } -"""All input for the `deleteOrgPermission` mutation.""" -input DeleteOrgPermissionInput { +"""All input for the `updateSessionSecretsModule` mutation.""" +input UpdateSessionSecretsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} - -"""The output of our delete `MembershipType` mutation.""" -type DeleteMembershipTypePayload { - """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. - """ - clientMutationId: String - - """The `MembershipType` that was deleted by this mutation.""" - membershipType: MembershipType """ - Our root query field type. Allows us to run any query from our mutation payload. + An object where the defined keys will be set on the `SessionSecretsModule` being updated. """ - query: Query - - """An edge for our `MembershipType`. May be used by Relay 1.""" - membershipTypeEdge( - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipTypeEdge + sessionSecretsModulePatch: SessionSecretsModulePatch! } -"""All input for the `deleteMembershipType` mutation.""" -input DeleteMembershipTypeInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String +""" +Represents an update to a `SessionSecretsModule`. Fields that are set will be updated. +""" +input SessionSecretsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + tableId: UUID + tableName: String """ - Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + Resolved reference to sessions_module.sessions_table, used to FK session_secrets.session_id with ON DELETE CASCADE. """ - id: Int! + sessionsTableId: UUID } -"""The output of our delete `DefaultPrivilege` mutation.""" -type DeleteDefaultPrivilegePayload { +"""The output of our update `AppAdminGrant` mutation.""" +type UpdateAppAdminGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `DefaultPrivilege` that was deleted by this mutation.""" - defaultPrivilege: DefaultPrivilege + """The `AppAdminGrant` that was updated by this mutation.""" + appAdminGrant: AppAdminGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `DefaultPrivilege`. May be used by Relay 1.""" - defaultPrivilegeEdge( - """The method to use when ordering `DefaultPrivilege`.""" - orderBy: [DefaultPrivilegeOrderBy!]! = [PRIMARY_KEY_ASC] - ): DefaultPrivilegeEdge + """An edge for our `AppAdminGrant`. May be used by Relay 1.""" + appAdminGrantEdge( + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAdminGrantEdge } -"""All input for the `deleteDefaultPrivilege` mutation.""" -input DeleteDefaultPrivilegeInput { +"""All input for the `updateAppAdminGrant` mutation.""" +input UpdateAppAdminGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppAdminGrant` being updated. + """ + appAdminGrantPatch: AppAdminGrantPatch! +} + +""" +Represents an update to a `AppAdminGrant`. Fields that are set will be updated. +""" +input AppAdminGrantPatch { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `ViewGrant` mutation.""" -type DeleteViewGrantPayload { +"""The output of our update `AppOwnerGrant` mutation.""" +type UpdateAppOwnerGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ViewGrant` that was deleted by this mutation.""" - viewGrant: ViewGrant + """The `AppOwnerGrant` that was updated by this mutation.""" + appOwnerGrant: AppOwnerGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `ViewGrant`. May be used by Relay 1.""" - viewGrantEdge( - """The method to use when ordering `ViewGrant`.""" - orderBy: [ViewGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewGrantEdge + """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" + appOwnerGrantEdge( + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppOwnerGrantEdge } -"""All input for the `deleteViewGrant` mutation.""" -input DeleteViewGrantInput { +"""All input for the `updateAppOwnerGrant` mutation.""" +input UpdateAppOwnerGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppOwnerGrant` being updated. + """ + appOwnerGrantPatch: AppOwnerGrantPatch! } -"""The output of our delete `Api` mutation.""" -type DeleteApiPayload { +""" +Represents an update to a `AppOwnerGrant`. Fields that are set will be updated. +""" +input AppOwnerGrantPatch { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppAchievement` mutation.""" +type UpdateAppAchievementPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Api` that was deleted by this mutation.""" - api: Api + """The `AppAchievement` that was updated by this mutation.""" + appAchievement: AppAchievement """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Api`. May be used by Relay 1.""" - apiEdge( - """The method to use when ordering `Api`.""" - orderBy: [ApiOrderBy!]! = [PRIMARY_KEY_ASC] - ): ApiEdge + """An edge for our `AppAchievement`. May be used by Relay 1.""" + appAchievementEdge( + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAchievementEdge } -"""All input for the `deleteApi` mutation.""" -input DeleteApiInput { +"""All input for the `updateAppAchievement` mutation.""" +input UpdateAppAchievementInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """Unique identifier for this API""" id: UUID! + + """ + An object where the defined keys will be set on the `AppAchievement` being updated. + """ + appAchievementPatch: AppAchievementPatch! } -"""The output of our delete `ConnectedAccountsModule` mutation.""" -type DeleteConnectedAccountsModulePayload { +""" +Represents an update to a `AppAchievement`. Fields that are set will be updated. +""" +input AppAchievementPatch { + id: UUID + actorId: UUID + + """Name identifier of the level requirement being tracked""" + name: String + + """Cumulative count of completed steps toward this requirement""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppStep` mutation.""" +type UpdateAppStepPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ConnectedAccountsModule` that was deleted by this mutation.""" - connectedAccountsModule: ConnectedAccountsModule + """The `AppStep` that was updated by this mutation.""" + appStep: AppStep """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `ConnectedAccountsModule`. May be used by Relay 1.""" - connectedAccountsModuleEdge( - """The method to use when ordering `ConnectedAccountsModule`.""" - orderBy: [ConnectedAccountsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ConnectedAccountsModuleEdge + """An edge for our `AppStep`. May be used by Relay 1.""" + appStepEdge( + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppStepEdge } -"""All input for the `deleteConnectedAccountsModule` mutation.""" -input DeleteConnectedAccountsModuleInput { +"""All input for the `updateAppStep` mutation.""" +input UpdateAppStepInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppStep` being updated. + """ + appStepPatch: AppStepPatch! } -"""The output of our delete `DevicesModule` mutation.""" -type DeleteDevicesModulePayload { +""" +Represents an update to a `AppStep`. Fields that are set will be updated. +""" +input AppStepPatch { + id: UUID + actorId: UUID + + """Name identifier of the level requirement this step fulfills""" + name: String + + """Number of units completed in this step action""" + count: Int + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `OrgPermissionDefault` mutation.""" +type UpdateOrgPermissionDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `DevicesModule` that was deleted by this mutation.""" - devicesModule: DevicesModule + """The `OrgPermissionDefault` that was updated by this mutation.""" + orgPermissionDefault: OrgPermissionDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `DevicesModule`. May be used by Relay 1.""" - devicesModuleEdge( - """The method to use when ordering `DevicesModule`.""" - orderBy: [DevicesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DevicesModuleEdge + """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" + orgPermissionDefaultEdge( + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultEdge } -"""All input for the `deleteDevicesModule` mutation.""" -input DeleteDevicesModuleInput { +"""All input for the `updateOrgPermissionDefault` mutation.""" +input UpdateOrgPermissionDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgPermissionDefault` being updated. + """ + orgPermissionDefaultPatch: OrgPermissionDefaultPatch! } -"""The output of our delete `EmailsModule` mutation.""" -type DeleteEmailsModulePayload { +""" +Represents an update to a `OrgPermissionDefault`. Fields that are set will be updated. +""" +input OrgPermissionDefaultPatch { + id: UUID + + """Default permission bitmask applied to new members""" + permissions: BitString + + """References the entity these default permissions apply to""" + entityId: UUID +} + +"""The output of our update `AppPermission` mutation.""" +type UpdateAppPermissionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `EmailsModule` that was deleted by this mutation.""" - emailsModule: EmailsModule + """The `AppPermission` that was updated by this mutation.""" + appPermission: AppPermission """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `EmailsModule`. May be used by Relay 1.""" - emailsModuleEdge( - """The method to use when ordering `EmailsModule`.""" - orderBy: [EmailsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailsModuleEdge + """An edge for our `AppPermission`. May be used by Relay 1.""" + appPermissionEdge( + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionEdge } -"""All input for the `deleteEmailsModule` mutation.""" -input DeleteEmailsModuleInput { +"""All input for the `updateAppPermission` mutation.""" +input UpdateAppPermissionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `PhoneNumbersModule` mutation.""" -type DeletePhoneNumbersModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AppPermission` being updated. """ - clientMutationId: String + appPermissionPatch: AppPermissionPatch! +} - """The `PhoneNumbersModule` that was deleted by this mutation.""" - phoneNumbersModule: PhoneNumbersModule +""" +Represents an update to a `AppPermission`. Fields that are set will be updated. +""" +input AppPermissionPatch { + id: UUID + + """Human-readable permission name (e.g. read, write, manage)""" + name: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Position of this permission in the bitmask (1-indexed), must be unique per permission set """ - query: Query - - """An edge for our `PhoneNumbersModule`. May be used by Relay 1.""" - phoneNumbersModuleEdge( - """The method to use when ordering `PhoneNumbersModule`.""" - orderBy: [PhoneNumbersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumbersModuleEdge -} + bitnum: Int -"""All input for the `deletePhoneNumbersModule` mutation.""" -input DeletePhoneNumbersModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations """ - clientMutationId: String - id: UUID! + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String } -"""The output of our delete `UsersModule` mutation.""" -type DeleteUsersModulePayload { +"""The output of our update `OrgPermission` mutation.""" +type UpdateOrgPermissionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `UsersModule` that was deleted by this mutation.""" - usersModule: UsersModule + """The `OrgPermission` that was updated by this mutation.""" + orgPermission: OrgPermission """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `UsersModule`. May be used by Relay 1.""" - usersModuleEdge( - """The method to use when ordering `UsersModule`.""" - orderBy: [UsersModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): UsersModuleEdge + """An edge for our `OrgPermission`. May be used by Relay 1.""" + orgPermissionEdge( + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionEdge } -"""All input for the `deleteUsersModule` mutation.""" -input DeleteUsersModuleInput { +"""All input for the `updateOrgPermission` mutation.""" +input UpdateOrgPermissionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `WebauthnCredentialsModule` mutation.""" -type DeleteWebauthnCredentialsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `OrgPermission` being updated. """ - clientMutationId: String + orgPermissionPatch: OrgPermissionPatch! +} - """The `WebauthnCredentialsModule` that was deleted by this mutation.""" - webauthnCredentialsModule: WebauthnCredentialsModule +""" +Represents an update to a `OrgPermission`. Fields that are set will be updated. +""" +input OrgPermissionPatch { + id: UUID + + """Human-readable permission name (e.g. read, write, manage)""" + name: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Position of this permission in the bitmask (1-indexed), must be unique per permission set """ - query: Query - - """An edge for our `WebauthnCredentialsModule`. May be used by Relay 1.""" - webauthnCredentialsModuleEdge( - """The method to use when ordering `WebauthnCredentialsModule`.""" - orderBy: [WebauthnCredentialsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialsModuleEdge -} + bitnum: Int -"""All input for the `deleteWebauthnCredentialsModule` mutation.""" -input DeleteWebauthnCredentialsModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Pre-computed bitmask with only this permission bit set, used for bitwise OR/AND operations """ - clientMutationId: String - id: UUID! + bitstr: BitString + + """Human-readable description of what this permission allows""" + description: String } -"""The output of our delete `OrgAdminGrant` mutation.""" -type DeleteOrgAdminGrantPayload { +"""The output of our update `AppLimitCapsDefault` mutation.""" +type UpdateAppLimitCapsDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgAdminGrant` that was deleted by this mutation.""" - orgAdminGrant: OrgAdminGrant + """The `AppLimitCapsDefault` that was updated by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" - orgAdminGrantEdge( - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgAdminGrantEdge + """An edge for our `AppLimitCapsDefault`. May be used by Relay 1.""" + appLimitCapsDefaultEdge( + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultEdge } -"""All input for the `deleteOrgAdminGrant` mutation.""" -input DeleteOrgAdminGrantInput { +"""All input for the `updateAppLimitCapsDefault` mutation.""" +input UpdateAppLimitCapsDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `OrgOwnerGrant` mutation.""" -type DeleteOrgOwnerGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AppLimitCapsDefault` being updated. """ - clientMutationId: String + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch! +} - """The `OrgOwnerGrant` that was deleted by this mutation.""" - orgOwnerGrant: OrgOwnerGrant +""" +Represents an update to a `AppLimitCapsDefault`. Fields that are set will be updated. +""" +input AppLimitCapsDefaultPatch { + id: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) """ - query: Query - - """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" - orgOwnerGrantEdge( - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantEdge -} + name: String -"""All input for the `deleteOrgOwnerGrant` mutation.""" -input DeleteOrgOwnerGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. """ - clientMutationId: String - id: UUID! + max: BigInt } -"""The output of our delete `NodeTypeRegistry` mutation.""" -type DeleteNodeTypeRegistryPayload { +"""The output of our update `OrgLimitCapsDefault` mutation.""" +type UpdateOrgLimitCapsDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `NodeTypeRegistry` that was deleted by this mutation.""" - nodeTypeRegistry: NodeTypeRegistry + """The `OrgLimitCapsDefault` that was updated by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `NodeTypeRegistry`. May be used by Relay 1.""" - nodeTypeRegistryEdge( - """The method to use when ordering `NodeTypeRegistry`.""" - orderBy: [NodeTypeRegistryOrderBy!]! = [PRIMARY_KEY_ASC] - ): NodeTypeRegistryEdge + """An edge for our `OrgLimitCapsDefault`. May be used by Relay 1.""" + orgLimitCapsDefaultEdge( + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultEdge } -"""All input for the `deleteNodeTypeRegistry` mutation.""" -input DeleteNodeTypeRegistryInput { +"""All input for the `updateOrgLimitCapsDefault` mutation.""" +input UpdateOrgLimitCapsDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - name: String! -} + id: UUID! -"""The output of our delete `AppLimitDefault` mutation.""" -type DeleteAppLimitDefaultPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `OrgLimitCapsDefault` being updated. """ - clientMutationId: String + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch! +} - """The `AppLimitDefault` that was deleted by this mutation.""" - appLimitDefault: AppLimitDefault +""" +Represents an update to a `OrgLimitCapsDefault`. Fields that are set will be updated. +""" +input OrgLimitCapsDefaultPatch { + id: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) """ - query: Query - - """An edge for our `AppLimitDefault`. May be used by Relay 1.""" - appLimitDefaultEdge( - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitDefaultEdge -} + name: String -"""All input for the `deleteAppLimitDefault` mutation.""" -input DeleteAppLimitDefaultInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. """ - clientMutationId: String - id: UUID! + max: BigInt } -"""The output of our delete `OrgLimitDefault` mutation.""" -type DeleteOrgLimitDefaultPayload { +"""The output of our update `AppLimitCap` mutation.""" +type UpdateAppLimitCapPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgLimitDefault` that was deleted by this mutation.""" - orgLimitDefault: OrgLimitDefault + """The `AppLimitCap` that was updated by this mutation.""" + appLimitCap: AppLimitCap """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" - orgLimitDefaultEdge( - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultEdge + """An edge for our `AppLimitCap`. May be used by Relay 1.""" + appLimitCapEdge( + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapEdge } -"""All input for the `deleteOrgLimitDefault` mutation.""" -input DeleteOrgLimitDefaultInput { +"""All input for the `updateAppLimitCap` mutation.""" +input UpdateAppLimitCapInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitCap` being updated. + """ + appLimitCapPatch: AppLimitCapPatch! } -"""The output of our delete `Database` mutation.""" -type DeleteDatabasePayload { +""" +Represents an update to a `AppLimitCap`. Fields that are set will be updated. +""" +input AppLimitCapPatch { + id: UUID + + """Name identifier of the cap being overridden""" + name: String + + """Entity this cap override applies to""" + entityId: UUID + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our update `OrgLimitCap` mutation.""" +type UpdateOrgLimitCapPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Database` that was deleted by this mutation.""" - database: Database + """The `OrgLimitCap` that was updated by this mutation.""" + orgLimitCap: OrgLimitCap """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Database`. May be used by Relay 1.""" - databaseEdge( - """The method to use when ordering `Database`.""" - orderBy: [DatabaseOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseEdge + """An edge for our `OrgLimitCap`. May be used by Relay 1.""" + orgLimitCapEdge( + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapEdge } -"""All input for the `deleteDatabase` mutation.""" -input DeleteDatabaseInput { +"""All input for the `updateOrgLimitCap` mutation.""" +input UpdateOrgLimitCapInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitCap` being updated. + """ + orgLimitCapPatch: OrgLimitCapPatch! } -"""The output of our delete `CryptoAddressesModule` mutation.""" -type DeleteCryptoAddressesModulePayload { +""" +Represents an update to a `OrgLimitCap`. Fields that are set will be updated. +""" +input OrgLimitCapPatch { + id: UUID + + """Name identifier of the cap being overridden""" + name: String + + """Entity this cap override applies to""" + entityId: UUID + + """Override cap value for this entity""" + max: BigInt +} + +"""The output of our update `MembershipType` mutation.""" +type UpdateMembershipTypePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `CryptoAddressesModule` that was deleted by this mutation.""" - cryptoAddressesModule: CryptoAddressesModule + """The `MembershipType` that was updated by this mutation.""" + membershipType: MembershipType """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `CryptoAddressesModule`. May be used by Relay 1.""" - cryptoAddressesModuleEdge( - """The method to use when ordering `CryptoAddressesModule`.""" - orderBy: [CryptoAddressesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressesModuleEdge + """An edge for our `MembershipType`. May be used by Relay 1.""" + membershipTypeEdge( + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypeEdge } -"""All input for the `deleteCryptoAddressesModule` mutation.""" -input DeleteCryptoAddressesModuleInput { +"""All input for the `updateMembershipType` mutation.""" +input UpdateMembershipTypeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + + """ + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + """ + id: Int! + + """ + An object where the defined keys will be set on the `MembershipType` being updated. + """ + membershipTypePatch: MembershipTypePatch! } -"""The output of our delete `CryptoAddress` mutation.""" -type DeleteCryptoAddressPayload { +""" +Represents an update to a `MembershipType`. Fields that are set will be updated. +""" +input MembershipTypePatch { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) """ - clientMutationId: String + id: Int - """The `CryptoAddress` that was deleted by this mutation.""" - cryptoAddress: CryptoAddress + """Human-readable name of the membership type""" + name: String + + """Description of what this membership type represents""" + description: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Short prefix used to namespace tables and functions for this membership scope """ - query: Query + prefix: String - """An edge for our `CryptoAddress`. May be used by Relay 1.""" - cryptoAddressEdge( - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAddressEdge -} + """ + Parent membership type ID for SPRT cascade chain (e.g. type 2 parent=1, type 3 parent=2) + """ + parentMembershipType: Int -"""All input for the `deleteCryptoAddress` mutation.""" -input DeleteCryptoAddressInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + When true, entities of this membership type get a one-to-one ID in the users table and a corresponding role_type entry, enabling them to own resources via owner_id FKs """ - clientMutationId: String - id: UUID! + hasUsersTableEntry: Boolean } -"""The output of our delete `AgentMessage` mutation.""" -type DeleteAgentMessagePayload { +"""The output of our update `DefaultPrivilege` mutation.""" +type UpdateDefaultPrivilegePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AgentMessage` that was deleted by this mutation.""" - agentMessage: AgentMessage + """The `DefaultPrivilege` that was updated by this mutation.""" + defaultPrivilege: DefaultPrivilege """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AgentMessage`. May be used by Relay 1.""" - agentMessageEdge( - """The method to use when ordering `AgentMessage`.""" - orderBy: [AgentMessageOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentMessageEdge + """An edge for our `DefaultPrivilege`. May be used by Relay 1.""" + defaultPrivilegeEdge( + """The method to use when ordering `DefaultPrivilege`.""" + orderBy: [DefaultPrivilegeOrderBy!]! = [PRIMARY_KEY_ASC] + ): DefaultPrivilegeEdge } -"""All input for the `deleteAgentMessage` mutation.""" -input DeleteAgentMessageInput { +"""All input for the `updateDefaultPrivilege` mutation.""" +input UpdateDefaultPrivilegeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `DefaultPrivilege` being updated. + """ + defaultPrivilegePatch: DefaultPrivilegePatch! } -"""The output of our delete `Object` mutation.""" -type DeleteObjectPayload { +""" +Represents an update to a `DefaultPrivilege`. Fields that are set will be updated. +""" +input DefaultPrivilegePatch { + id: UUID + databaseId: UUID + schemaId: UUID + objectType: String + privilege: String + granteeName: String + isGrant: Boolean +} + +"""The output of our update `ViewGrant` mutation.""" +type UpdateViewGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Object` that was deleted by this mutation.""" - object: Object + """The `ViewGrant` that was updated by this mutation.""" + viewGrant: ViewGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Object`. May be used by Relay 1.""" - objectEdge( - """The method to use when ordering `Object`.""" - orderBy: [ObjectOrderBy!]! = [PRIMARY_KEY_ASC] - ): ObjectEdge + """An edge for our `ViewGrant`. May be used by Relay 1.""" + viewGrantEdge( + """The method to use when ordering `ViewGrant`.""" + orderBy: [ViewGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewGrantEdge } -"""All input for the `deleteObject` mutation.""" -input DeleteObjectInput { +"""All input for the `updateViewGrant` mutation.""" +input UpdateViewGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! - databaseId: UUID! + + """ + An object where the defined keys will be set on the `ViewGrant` being updated. + """ + viewGrantPatch: ViewGrantPatch! } -"""The output of our delete `SiteMetadatum` mutation.""" -type DeleteSiteMetadatumPayload { +""" +Represents an update to a `ViewGrant`. Fields that are set will be updated. +""" +input ViewGrantPatch { + id: UUID + databaseId: UUID + viewId: UUID + granteeName: String + privilege: String + withGrantOption: Boolean + isGrant: Boolean +} + +"""The output of our update `Api` mutation.""" +type UpdateApiPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SiteMetadatum` that was deleted by this mutation.""" - siteMetadatum: SiteMetadatum + """The `Api` that was updated by this mutation.""" + api: Api """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `SiteMetadatum`. May be used by Relay 1.""" - siteMetadatumEdge( - """The method to use when ordering `SiteMetadatum`.""" - orderBy: [SiteMetadatumOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteMetadatumEdge + """An edge for our `Api`. May be used by Relay 1.""" + apiEdge( + """The method to use when ordering `Api`.""" + orderBy: [ApiOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiEdge } -"""All input for the `deleteSiteMetadatum` mutation.""" -input DeleteSiteMetadatumInput { +"""All input for the `updateApi` mutation.""" +input UpdateApiInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - """Unique identifier for this metadata record""" + """Unique identifier for this API""" id: UUID! + + """ + An object where the defined keys will be set on the `Api` being updated. + """ + apiPatch: ApiPatch! } -"""The output of our delete `AppLevelRequirement` mutation.""" -type DeleteAppLevelRequirementPayload { +"""Represents an update to a `Api`. Fields that are set will be updated.""" +input ApiPatch { + """Unique identifier for this API""" + id: UUID + + """Reference to the metaschema database this API serves""" + databaseId: UUID + + """Unique name for this API within its database""" + name: String + + """PostgreSQL database name to connect to""" + dbname: String + + """PostgreSQL role used for authenticated requests""" + roleName: String + + """PostgreSQL role used for anonymous/unauthenticated requests""" + anonRole: String + + """Whether this API is publicly accessible without authentication""" + isPublic: Boolean +} + +"""The output of our update `ConnectedAccountsModule` mutation.""" +type UpdateConnectedAccountsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppLevelRequirement` that was deleted by this mutation.""" - appLevelRequirement: AppLevelRequirement + """The `ConnectedAccountsModule` that was updated by this mutation.""" + connectedAccountsModule: ConnectedAccountsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" - appLevelRequirementEdge( - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelRequirementEdge + """An edge for our `ConnectedAccountsModule`. May be used by Relay 1.""" + connectedAccountsModuleEdge( + """The method to use when ordering `ConnectedAccountsModule`.""" + orderBy: [ConnectedAccountsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ConnectedAccountsModuleEdge } -"""All input for the `deleteAppLevelRequirement` mutation.""" -input DeleteAppLevelRequirementInput { +"""All input for the `updateConnectedAccountsModule` mutation.""" +input UpdateConnectedAccountsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `ConnectedAccountsModule` being updated. + """ + connectedAccountsModulePatch: ConnectedAccountsModulePatch! } -"""The output of our delete `FullTextSearch` mutation.""" -type DeleteFullTextSearchPayload { +""" +Represents an update to a `ConnectedAccountsModule`. Fields that are set will be updated. +""" +input ConnectedAccountsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String +} + +"""The output of our update `DevicesModule` mutation.""" +type UpdateDevicesModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `FullTextSearch` that was deleted by this mutation.""" - fullTextSearch: FullTextSearch + """The `DevicesModule` that was updated by this mutation.""" + devicesModule: DevicesModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `FullTextSearch`. May be used by Relay 1.""" - fullTextSearchEdge( - """The method to use when ordering `FullTextSearch`.""" - orderBy: [FullTextSearchOrderBy!]! = [PRIMARY_KEY_ASC] - ): FullTextSearchEdge + """An edge for our `DevicesModule`. May be used by Relay 1.""" + devicesModuleEdge( + """The method to use when ordering `DevicesModule`.""" + orderBy: [DevicesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DevicesModuleEdge } -"""All input for the `deleteFullTextSearch` mutation.""" -input DeleteFullTextSearchInput { +"""All input for the `updateDevicesModule` mutation.""" +input UpdateDevicesModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `DevicesModule` being updated. + """ + devicesModulePatch: DevicesModulePatch! } -"""The output of our delete `TableGrant` mutation.""" -type DeleteTableGrantPayload { +""" +Represents an update to a `DevicesModule`. Fields that are set will be updated. +""" +input DevicesModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + userDevicesTableId: UUID + deviceSettingsTableId: UUID + userDevicesTable: String + deviceSettingsTable: String +} + +"""The output of our update `EmailsModule` mutation.""" +type UpdateEmailsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `TableGrant` that was deleted by this mutation.""" - tableGrant: TableGrant + """The `EmailsModule` that was updated by this mutation.""" + emailsModule: EmailsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `TableGrant`. May be used by Relay 1.""" - tableGrantEdge( - """The method to use when ordering `TableGrant`.""" - orderBy: [TableGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): TableGrantEdge + """An edge for our `EmailsModule`. May be used by Relay 1.""" + emailsModuleEdge( + """The method to use when ordering `EmailsModule`.""" + orderBy: [EmailsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailsModuleEdge } -"""All input for the `deleteTableGrant` mutation.""" -input DeleteTableGrantInput { +"""All input for the `updateEmailsModule` mutation.""" +input UpdateEmailsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `EmailsModule` being updated. + """ + emailsModulePatch: EmailsModulePatch! } -"""The output of our delete `Commit` mutation.""" -type DeleteCommitPayload { +""" +Represents an update to a `EmailsModule`. Fields that are set will be updated. +""" +input EmailsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String +} + +"""The output of our update `PhoneNumbersModule` mutation.""" +type UpdatePhoneNumbersModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Commit` that was deleted by this mutation.""" - commit: Commit + """The `PhoneNumbersModule` that was updated by this mutation.""" + phoneNumbersModule: PhoneNumbersModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Commit`. May be used by Relay 1.""" - commitEdge( - """The method to use when ordering `Commit`.""" - orderBy: [CommitOrderBy!]! = [PRIMARY_KEY_ASC] - ): CommitEdge + """An edge for our `PhoneNumbersModule`. May be used by Relay 1.""" + phoneNumbersModuleEdge( + """The method to use when ordering `PhoneNumbersModule`.""" + orderBy: [PhoneNumbersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumbersModuleEdge } -"""All input for the `deleteCommit` mutation.""" -input DeleteCommitInput { +"""All input for the `updatePhoneNumbersModule` mutation.""" +input UpdatePhoneNumbersModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """The primary unique identifier for the commit.""" id: UUID! - """The repository identifier""" - databaseId: UUID! + """ + An object where the defined keys will be set on the `PhoneNumbersModule` being updated. + """ + phoneNumbersModulePatch: PhoneNumbersModulePatch! } -"""The output of our delete `RateLimitsModule` mutation.""" -type DeleteRateLimitsModulePayload { +""" +Represents an update to a `PhoneNumbersModule`. Fields that are set will be updated. +""" +input PhoneNumbersModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String +} + +"""The output of our update `UsersModule` mutation.""" +type UpdateUsersModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `RateLimitsModule` that was deleted by this mutation.""" - rateLimitsModule: RateLimitsModule + """The `UsersModule` that was updated by this mutation.""" + usersModule: UsersModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `RateLimitsModule`. May be used by Relay 1.""" - rateLimitsModuleEdge( - """The method to use when ordering `RateLimitsModule`.""" - orderBy: [RateLimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): RateLimitsModuleEdge + """An edge for our `UsersModule`. May be used by Relay 1.""" + usersModuleEdge( + """The method to use when ordering `UsersModule`.""" + orderBy: [UsersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): UsersModuleEdge } -"""All input for the `deleteRateLimitsModule` mutation.""" -input DeleteRateLimitsModuleInput { +"""All input for the `updateUsersModule` mutation.""" +input UpdateUsersModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `UsersModule` being updated. + """ + usersModulePatch: UsersModulePatch! } -"""The output of our delete `OrgChartEdgeGrant` mutation.""" -type DeleteOrgChartEdgeGrantPayload { +""" +Represents an update to a `UsersModule`. Fields that are set will be updated. +""" +input UsersModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + tableId: UUID + tableName: String + typeTableId: UUID + typeTableName: String +} + +"""The output of our update `WebauthnCredentialsModule` mutation.""" +type UpdateWebauthnCredentialsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgChartEdgeGrant` that was deleted by this mutation.""" - orgChartEdgeGrant: OrgChartEdgeGrant + """The `WebauthnCredentialsModule` that was updated by this mutation.""" + webauthnCredentialsModule: WebauthnCredentialsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" - orgChartEdgeGrantEdge( - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantEdge + """An edge for our `WebauthnCredentialsModule`. May be used by Relay 1.""" + webauthnCredentialsModuleEdge( + """The method to use when ordering `WebauthnCredentialsModule`.""" + orderBy: [WebauthnCredentialsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialsModuleEdge } -"""All input for the `deleteOrgChartEdgeGrant` mutation.""" -input DeleteOrgChartEdgeGrantInput { +"""All input for the `updateWebauthnCredentialsModule` mutation.""" +input UpdateWebauthnCredentialsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `WebauthnCredentialsModule` being updated. + """ + webauthnCredentialsModulePatch: WebauthnCredentialsModulePatch! } -"""The output of our delete `PhoneNumber` mutation.""" -type DeletePhoneNumberPayload { +""" +Represents an update to a `WebauthnCredentialsModule`. Fields that are set will be updated. +""" +input WebauthnCredentialsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + + """ + Private schema that hosts SECURITY DEFINER helpers which write to webauthn_credentials (registration / counter-bump / delete). + """ + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String +} + +"""The output of our update `OrgAdminGrant` mutation.""" +type UpdateOrgAdminGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `PhoneNumber` that was deleted by this mutation.""" - phoneNumber: PhoneNumber + """The `OrgAdminGrant` that was updated by this mutation.""" + orgAdminGrant: OrgAdminGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `PhoneNumber`. May be used by Relay 1.""" - phoneNumberEdge( - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] - ): PhoneNumberEdge + """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" + orgAdminGrantEdge( + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgAdminGrantEdge } -"""All input for the `deletePhoneNumber` mutation.""" -input DeletePhoneNumberInput { +"""All input for the `updateOrgAdminGrant` mutation.""" +input UpdateOrgAdminGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgAdminGrant` being updated. + """ + orgAdminGrantPatch: OrgAdminGrantPatch! } -"""The output of our delete `AppClaimedInvite` mutation.""" -type DeleteAppClaimedInvitePayload { +""" +Represents an update to a `OrgAdminGrant`. Fields that are set will be updated. +""" +input OrgAdminGrantPatch { + id: UUID + + """True to grant admin, false to revoke admin""" + isGrant: Boolean + + """The member receiving or losing the admin grant""" + actorId: UUID + + """The entity (org or group) this admin grant applies to""" + entityId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `OrgOwnerGrant` mutation.""" +type UpdateOrgOwnerGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppClaimedInvite` that was deleted by this mutation.""" - appClaimedInvite: AppClaimedInvite + """The `OrgOwnerGrant` that was updated by this mutation.""" + orgOwnerGrant: OrgOwnerGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" - appClaimedInviteEdge( - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppClaimedInviteEdge + """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" + orgOwnerGrantEdge( + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantEdge } -"""All input for the `deleteAppClaimedInvite` mutation.""" -input DeleteAppClaimedInviteInput { +"""All input for the `updateOrgOwnerGrant` mutation.""" +input UpdateOrgOwnerGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgOwnerGrant` being updated. + """ + orgOwnerGrantPatch: OrgOwnerGrantPatch! } -"""The output of our delete `AppMembershipDefault` mutation.""" -type DeleteAppMembershipDefaultPayload { +""" +Represents an update to a `OrgOwnerGrant`. Fields that are set will be updated. +""" +input OrgOwnerGrantPatch { + id: UUID + + """True to grant ownership, false to revoke ownership""" + isGrant: Boolean + + """The member receiving or losing the ownership grant""" + actorId: UUID + + """The entity (org or group) this ownership grant applies to""" + entityId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `NodeTypeRegistry` mutation.""" +type UpdateNodeTypeRegistryPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppMembershipDefault` that was deleted by this mutation.""" - appMembershipDefault: AppMembershipDefault + """The `NodeTypeRegistry` that was updated by this mutation.""" + nodeTypeRegistry: NodeTypeRegistry """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" - appMembershipDefaultEdge( - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultEdge + """An edge for our `NodeTypeRegistry`. May be used by Relay 1.""" + nodeTypeRegistryEdge( + """The method to use when ordering `NodeTypeRegistry`.""" + orderBy: [NodeTypeRegistryOrderBy!]! = [PRIMARY_KEY_ASC] + ): NodeTypeRegistryEdge } -"""All input for the `deleteAppMembershipDefault` mutation.""" -input DeleteAppMembershipDefaultInput { +"""All input for the `updateNodeTypeRegistry` mutation.""" +input UpdateNodeTypeRegistryInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! + name: String! + + """ + An object where the defined keys will be set on the `NodeTypeRegistry` being updated. + """ + nodeTypeRegistryPatch: NodeTypeRegistryPatch! +} + +""" +Represents an update to a `NodeTypeRegistry`. Fields that are set will be updated. +""" +input NodeTypeRegistryPatch { + name: String + slug: String + category: String + displayName: String + description: String + parameterSchema: JSON + tags: [String] } -"""The output of our delete `OrgMembershipDefault` mutation.""" -type DeleteOrgMembershipDefaultPayload { +"""The output of our update `AppLimitDefault` mutation.""" +type UpdateAppLimitDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembershipDefault` that was deleted by this mutation.""" - orgMembershipDefault: OrgMembershipDefault + """The `AppLimitDefault` that was updated by this mutation.""" + appLimitDefault: AppLimitDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" - orgMembershipDefaultEdge( - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultEdge + """An edge for our `AppLimitDefault`. May be used by Relay 1.""" + appLimitDefaultEdge( + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitDefaultEdge } -"""All input for the `deleteOrgMembershipDefault` mutation.""" -input DeleteOrgMembershipDefaultInput { +"""All input for the `updateAppLimitDefault` mutation.""" +input UpdateAppLimitDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppLimitDefault` being updated. + """ + appLimitDefaultPatch: AppLimitDefaultPatch! } -"""The output of our delete `AuditLog` mutation.""" -type DeleteAuditLogPayload { +""" +Represents an update to a `AppLimitDefault`. Fields that are set will be updated. +""" +input AppLimitDefaultPatch { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our update `OrgLimitDefault` mutation.""" +type UpdateOrgLimitDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AuditLog` that was deleted by this mutation.""" - auditLog: AuditLog + """The `OrgLimitDefault` that was updated by this mutation.""" + orgLimitDefault: OrgLimitDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AuditLog`. May be used by Relay 1.""" - auditLogEdge( - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] - ): AuditLogEdge + """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" + orgLimitDefaultEdge( + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultEdge } -"""All input for the `deleteAuditLog` mutation.""" -input DeleteAuditLogInput { +"""All input for the `updateOrgLimitDefault` mutation.""" +input UpdateOrgLimitDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgLimitDefault` being updated. + """ + orgLimitDefaultPatch: OrgLimitDefaultPatch! } -"""The output of our delete `Domain` mutation.""" -type DeleteDomainPayload { +""" +Represents an update to a `OrgLimitDefault`. Fields that are set will be updated. +""" +input OrgLimitDefaultPatch { + id: UUID + + """Name identifier of the limit this default applies to""" + name: String + + """Default maximum usage allowed for this limit""" + max: BigInt + + """Default soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt +} + +"""The output of our update `AppLimitCreditCodeItem` mutation.""" +type UpdateAppLimitCreditCodeItemPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Domain` that was deleted by this mutation.""" - domain: Domain + """The `AppLimitCreditCodeItem` that was updated by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItem """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Domain`. May be used by Relay 1.""" - domainEdge( - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!]! = [PRIMARY_KEY_ASC] - ): DomainEdge + """An edge for our `AppLimitCreditCodeItem`. May be used by Relay 1.""" + appLimitCreditCodeItemEdge( + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemEdge } -"""All input for the `deleteDomain` mutation.""" -input DeleteDomainInput { +"""All input for the `updateAppLimitCreditCodeItem` mutation.""" +input UpdateAppLimitCreditCodeItemInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """Unique identifier for this domain record""" id: UUID! -} -"""The output of our delete `AgentTask` mutation.""" -type DeleteAgentTaskPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AppLimitCreditCodeItem` being updated. """ - clientMutationId: String + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch! +} - """The `AgentTask` that was deleted by this mutation.""" - agentTask: AgentTask +""" +Represents an update to a `AppLimitCreditCodeItem`. Fields that are set will be updated. +""" +input AppLimitCreditCodeItemPatch { + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """FK to credit_codes — which code this item belongs to""" + creditCodeId: UUID - """An edge for our `AgentTask`. May be used by Relay 1.""" - agentTaskEdge( - """The method to use when ordering `AgentTask`.""" - orderBy: [AgentTaskOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentTaskEdge -} + """FK to default_limits — which limit this item grants credits for""" + defaultLimitId: UUID + + """Number of credits this item grants per redemption""" + amount: BigInt -"""All input for the `deleteAgentTask` mutation.""" -input DeleteAgentTaskInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - clientMutationId: String - id: UUID! + creditType: String } -"""The output of our delete `AgentThread` mutation.""" -type DeleteAgentThreadPayload { +"""The output of our update `Database` mutation.""" +type UpdateDatabasePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AgentThread` that was deleted by this mutation.""" - agentThread: AgentThread + """The `Database` that was updated by this mutation.""" + database: Database """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AgentThread`. May be used by Relay 1.""" - agentThreadEdge( - """The method to use when ordering `AgentThread`.""" - orderBy: [AgentThreadOrderBy!]! = [PRIMARY_KEY_ASC] - ): AgentThreadEdge + """An edge for our `Database`. May be used by Relay 1.""" + databaseEdge( + """The method to use when ordering `Database`.""" + orderBy: [DatabaseOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseEdge } -"""All input for the `deleteAgentThread` mutation.""" -input DeleteAgentThreadInput { +"""All input for the `updateDatabase` mutation.""" +input UpdateDatabaseInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `Database` being updated. + """ + databasePatch: DatabasePatch! } -"""The output of our delete `Email` mutation.""" -type DeleteEmailPayload { +""" +Represents an update to a `Database`. Fields that are set will be updated. +""" +input DatabasePatch { + id: UUID + ownerId: UUID + schemaHash: String + name: String + label: String + hash: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `CryptoAddressesModule` mutation.""" +type UpdateCryptoAddressesModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Email` that was deleted by this mutation.""" - email: Email + """The `CryptoAddressesModule` that was updated by this mutation.""" + cryptoAddressesModule: CryptoAddressesModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Email`. May be used by Relay 1.""" - emailEdge( - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmailEdge + """An edge for our `CryptoAddressesModule`. May be used by Relay 1.""" + cryptoAddressesModuleEdge( + """The method to use when ordering `CryptoAddressesModule`.""" + orderBy: [CryptoAddressesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressesModuleEdge } -"""All input for the `deleteEmail` mutation.""" -input DeleteEmailInput { +"""All input for the `updateCryptoAddressesModule` mutation.""" +input UpdateCryptoAddressesModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `CryptoAddressesModule` being updated. + """ + cryptoAddressesModulePatch: CryptoAddressesModulePatch! } -"""The output of our delete `AppGrant` mutation.""" -type DeleteAppGrantPayload { +""" +Represents an update to a `CryptoAddressesModule`. Fields that are set will be updated. +""" +input CryptoAddressesModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + ownerTableId: UUID + tableName: String + cryptoNetwork: String +} + +"""The output of our update `CryptoAddress` mutation.""" +type UpdateCryptoAddressPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppGrant` that was deleted by this mutation.""" - appGrant: AppGrant + """The `CryptoAddress` that was updated by this mutation.""" + cryptoAddress: CryptoAddress """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppGrant`. May be used by Relay 1.""" - appGrantEdge( - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppGrantEdge + """An edge for our `CryptoAddress`. May be used by Relay 1.""" + cryptoAddressEdge( + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressEdge } -"""All input for the `deleteAppGrant` mutation.""" -input DeleteAppGrantInput { +"""All input for the `updateCryptoAddress` mutation.""" +input UpdateCryptoAddressInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `OrgClaimedInvite` mutation.""" -type DeleteOrgClaimedInvitePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `CryptoAddress` being updated. """ - clientMutationId: String + cryptoAddressPatch: CryptoAddressPatch! +} - """The `OrgClaimedInvite` that was deleted by this mutation.""" - orgClaimedInvite: OrgClaimedInvite +""" +Represents an update to a `CryptoAddress`. Fields that are set will be updated. +""" +input CryptoAddressPatch { + id: UUID + ownerId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + The cryptocurrency wallet address, validated against network-specific patterns """ - query: Query + address: String - """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" - orgClaimedInviteEdge( - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteEdge -} + """Whether ownership of this address has been cryptographically verified""" + isVerified: Boolean + + """Whether this is the user's primary cryptocurrency address""" + isPrimary: Boolean -"""All input for the `deleteOrgClaimedInvite` mutation.""" -input DeleteOrgClaimedInviteInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). """ - clientMutationId: String - id: UUID! + name: String + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `OrgChartEdge` mutation.""" -type DeleteOrgChartEdgePayload { +"""The output of our update `AgentMessage` mutation.""" +type UpdateAgentMessagePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgChartEdge` that was deleted by this mutation.""" - orgChartEdge: OrgChartEdge + """The `AgentMessage` that was updated by this mutation.""" + agentMessage: AgentMessage """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgChartEdge`. May be used by Relay 1.""" - orgChartEdgeEdge( - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgChartEdgeEdge + """An edge for our `AgentMessage`. May be used by Relay 1.""" + agentMessageEdge( + """The method to use when ordering `AgentMessage`.""" + orderBy: [AgentMessageOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentMessageEdge } -"""All input for the `deleteOrgChartEdge` mutation.""" -input DeleteOrgChartEdgeInput { +"""All input for the `updateAgentMessage` mutation.""" +input UpdateAgentMessageInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `AppLimit` mutation.""" -type DeleteAppLimitPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AgentMessage` being updated. """ - clientMutationId: String - - """The `AppLimit` that was deleted by this mutation.""" - appLimit: AppLimit + agentMessagePatch: AgentMessagePatch! +} +""" +Represents an update to a `AgentMessage`. Fields that are set will be updated. +""" +input AgentMessagePatch { """ - Our root query field type. Allows us to run any query from our mutation payload. + Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. """ - query: Query + threadId: UUID - """An edge for our `AppLimit`. May be used by Relay 1.""" - appLimitEdge( - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLimitEdge -} + """ + Entity (org/group/personal-org id) this message is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger, which copies it from agent_thread.entity_id via thread_id; the application never sets this column directly. Used for org-scoped grouping queries (e.g. 'all my messages in org X'), NOT for RLS — RLS is owner-only. + """ + entityId: UUID -"""All input for the `deleteAppLimit` mutation.""" -input DeleteAppLimitInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Who authored this message: 'user' or 'assistant'. Stored as free-text (no CHECK) so additional roles can be introduced without migration. Tool inputs/outputs do NOT get their own role — they appear as ToolPart entries inside the assistant message's `parts` array. """ - clientMutationId: String - id: UUID! + authorRole: String + id: UUID + + """Timestamp when this record was created""" + createdAt: Datetime + + """Timestamp when this record was last updated""" + updatedAt: Datetime + + """User who owns this record""" + ownerId: UUID + + """JSON metadata for extensible key-value storage""" + parts: JSON } -"""The output of our delete `OrgLimitAggregate` mutation.""" -type DeleteOrgLimitAggregatePayload { +"""The output of our update `Object` mutation.""" +type UpdateObjectPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgLimitAggregate` that was deleted by this mutation.""" - orgLimitAggregate: OrgLimitAggregate + """The `Object` that was updated by this mutation.""" + object: Object """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" - orgLimitAggregateEdge( - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateEdge + """An edge for our `Object`. May be used by Relay 1.""" + objectEdge( + """The method to use when ordering `Object`.""" + orderBy: [ObjectOrderBy!]! = [PRIMARY_KEY_ASC] + ): ObjectEdge } -"""All input for the `deleteOrgLimitAggregate` mutation.""" -input DeleteOrgLimitAggregateInput { +"""All input for the `updateObject` mutation.""" +input UpdateObjectInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + databaseId: UUID! + + """ + An object where the defined keys will be set on the `Object` being updated. + """ + objectPatch: ObjectPatch! } -"""The output of our delete `BlueprintConstruction` mutation.""" -type DeleteBlueprintConstructionPayload { +""" +Represents an update to a `Object`. Fields that are set will be updated. +""" +input ObjectPatch { + id: UUID + databaseId: UUID + kids: [UUID] + ktree: [String] + data: JSON + frzn: Boolean + createdAt: Datetime +} + +"""The output of our update `SiteMetadatum` mutation.""" +type UpdateSiteMetadatumPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `BlueprintConstruction` that was deleted by this mutation.""" - blueprintConstruction: BlueprintConstruction + """The `SiteMetadatum` that was updated by this mutation.""" + siteMetadatum: SiteMetadatum """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `BlueprintConstruction`. May be used by Relay 1.""" - blueprintConstructionEdge( - """The method to use when ordering `BlueprintConstruction`.""" - orderBy: [BlueprintConstructionOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintConstructionEdge + """An edge for our `SiteMetadatum`. May be used by Relay 1.""" + siteMetadatumEdge( + """The method to use when ordering `SiteMetadatum`.""" + orderBy: [SiteMetadatumOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteMetadatumEdge } -"""All input for the `deleteBlueprintConstruction` mutation.""" -input DeleteBlueprintConstructionInput { +"""All input for the `updateSiteMetadatum` mutation.""" +input UpdateSiteMetadatumInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - """Unique identifier for this construction attempt.""" + """Unique identifier for this metadata record""" id: UUID! -} -"""The output of our delete `PlansModule` mutation.""" -type DeletePlansModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `SiteMetadatum` being updated. """ - clientMutationId: String + siteMetadatumPatch: SiteMetadatumPatch! +} - """The `PlansModule` that was deleted by this mutation.""" - plansModule: PlansModule +""" +Represents an update to a `SiteMetadatum`. Fields that are set will be updated. +""" +input SiteMetadatumPatch { + """Unique identifier for this metadata record""" + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reference to the metaschema database""" + databaseId: UUID - """An edge for our `PlansModule`. May be used by Relay 1.""" - plansModuleEdge( - """The method to use when ordering `PlansModule`.""" - orderBy: [PlansModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PlansModuleEdge -} + """Site this metadata belongs to""" + siteId: UUID -"""All input for the `deletePlansModule` mutation.""" -input DeletePlansModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Page title for SEO (max 120 characters)""" + title: String + + """Meta description for SEO and social sharing (max 120 characters)""" + description: String + + """Open Graph image for social media previews""" + ogImage: ConstructiveInternalTypeImage + + """Upload for Open Graph image for social media previews""" + ogImageUpload: Upload } -"""The output of our delete `RlsModule` mutation.""" -type DeleteRlsModulePayload { +"""The `Upload` scalar type represents a file upload.""" +scalar Upload + +"""The output of our update `AppLevelRequirement` mutation.""" +type UpdateAppLevelRequirementPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `RlsModule` that was deleted by this mutation.""" - rlsModule: RlsModule + """The `AppLevelRequirement` that was updated by this mutation.""" + appLevelRequirement: AppLevelRequirement """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `RlsModule`. May be used by Relay 1.""" - rlsModuleEdge( - """The method to use when ordering `RlsModule`.""" - orderBy: [RlsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): RlsModuleEdge + """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" + appLevelRequirementEdge( + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelRequirementEdge } -"""All input for the `deleteRlsModule` mutation.""" -input DeleteRlsModuleInput { +"""All input for the `updateAppLevelRequirement` mutation.""" +input UpdateAppLevelRequirementInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppLevelRequirement` being updated. + """ + appLevelRequirementPatch: AppLevelRequirementPatch! +} + +""" +Represents an update to a `AppLevelRequirement`. Fields that are set will be updated. +""" +input AppLevelRequirementPatch { + id: UUID + + """Name identifier of the requirement (matches step names)""" + name: String + + """Name of the level this requirement belongs to""" + level: String + + """Human-readable description of what this requirement entails""" + description: String + + """Number of steps needed to satisfy this requirement""" + requiredCount: Int + + """Display ordering priority; lower values appear first""" + priority: Int + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `SessionsModule` mutation.""" -type DeleteSessionsModulePayload { +"""The output of our update `AppLimitCredit` mutation.""" +type UpdateAppLimitCreditPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SessionsModule` that was deleted by this mutation.""" - sessionsModule: SessionsModule + """The `AppLimitCredit` that was updated by this mutation.""" + appLimitCredit: AppLimitCredit """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `SessionsModule`. May be used by Relay 1.""" - sessionsModuleEdge( - """The method to use when ordering `SessionsModule`.""" - orderBy: [SessionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): SessionsModuleEdge + """An edge for our `AppLimitCredit`. May be used by Relay 1.""" + appLimitCreditEdge( + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditEdge } -"""All input for the `deleteSessionsModule` mutation.""" -input DeleteSessionsModuleInput { +"""All input for the `updateAppLimitCredit` mutation.""" +input UpdateAppLimitCreditInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `OrgGrant` mutation.""" -type DeleteOrgGrantPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AppLimitCredit` being updated. """ - clientMutationId: String + appLimitCreditPatch: AppLimitCreditPatch! +} - """The `OrgGrant` that was deleted by this mutation.""" - orgGrant: OrgGrant +""" +Represents an update to a `AppLimitCredit`. Fields that are set will be updated. +""" +input AppLimitCreditPatch { + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID - """An edge for our `OrgGrant`. May be used by Relay 1.""" - orgGrantEdge( - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgGrantEdge -} + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt -"""All input for the `deleteOrgGrant` mutation.""" -input DeleteOrgGrantInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - clientMutationId: String - id: UUID! + creditType: String + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String } -"""The output of our delete `AppLevel` mutation.""" -type DeleteAppLevelPayload { +"""The output of our update `OrgLimitCredit` mutation.""" +type UpdateOrgLimitCreditPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppLevel` that was deleted by this mutation.""" - appLevel: AppLevel + """The `OrgLimitCredit` that was updated by this mutation.""" + orgLimitCredit: OrgLimitCredit """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppLevel`. May be used by Relay 1.""" - appLevelEdge( - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppLevelEdge + """An edge for our `OrgLimitCredit`. May be used by Relay 1.""" + orgLimitCreditEdge( + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCreditEdge } -"""All input for the `deleteAppLevel` mutation.""" -input DeleteAppLevelInput { +"""All input for the `updateOrgLimitCredit` mutation.""" +input UpdateOrgLimitCreditInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `OrgLimit` mutation.""" -type DeleteOrgLimitPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `OrgLimitCredit` being updated. """ - clientMutationId: String + orgLimitCreditPatch: OrgLimitCreditPatch! +} - """The `OrgLimit` that was deleted by this mutation.""" - orgLimit: OrgLimit +""" +Represents an update to a `OrgLimitCredit`. Fields that are set will be updated. +""" +input OrgLimitCreditPatch { + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """FK to default_limits — which limit definition this credit applies to""" + defaultLimitId: UUID - """An edge for our `OrgLimit`. May be used by Relay 1.""" - orgLimitEdge( - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgLimitEdge -} + """User this credit is for; NULL for aggregate entity-level credits""" + actorId: UUID + + """Entity this credit applies to; NULL for actor-only credits""" + entityId: UUID + + """Number of credits to grant (positive to add, negative to revoke)""" + amount: BigInt -"""All input for the `deleteOrgLimit` mutation.""" -input DeleteOrgLimitInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Credit durability: permanent (survives window reset) or period (resets on window expiry) """ - clientMutationId: String - id: UUID! + creditType: String + + """Optional reason for the credit grant (promo code, admin grant, etc.)""" + reason: String } -"""The output of our delete `Blueprint` mutation.""" -type DeleteBlueprintPayload { +"""The output of our update `FullTextSearch` mutation.""" +type UpdateFullTextSearchPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Blueprint` that was deleted by this mutation.""" - blueprint: Blueprint + """The `FullTextSearch` that was updated by this mutation.""" + fullTextSearch: FullTextSearch """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Blueprint`. May be used by Relay 1.""" - blueprintEdge( - """The method to use when ordering `Blueprint`.""" - orderBy: [BlueprintOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintEdge + """An edge for our `FullTextSearch`. May be used by Relay 1.""" + fullTextSearchEdge( + """The method to use when ordering `FullTextSearch`.""" + orderBy: [FullTextSearchOrderBy!]! = [PRIMARY_KEY_ASC] + ): FullTextSearchEdge } -"""All input for the `deleteBlueprint` mutation.""" -input DeleteBlueprintInput { +"""All input for the `updateFullTextSearch` mutation.""" +input UpdateFullTextSearchInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """Unique identifier for this blueprint.""" id: UUID! + + """ + An object where the defined keys will be set on the `FullTextSearch` being updated. + """ + fullTextSearchPatch: FullTextSearchPatch! } -"""The output of our delete `DenormalizedTableField` mutation.""" -type DeleteDenormalizedTableFieldPayload { +""" +Represents an update to a `FullTextSearch`. Fields that are set will be updated. +""" +input FullTextSearchPatch { + id: UUID + databaseId: UUID + tableId: UUID + fieldId: UUID + fieldIds: [UUID] + weights: [String] + langs: [String] + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `TableGrant` mutation.""" +type UpdateTableGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `DenormalizedTableField` that was deleted by this mutation.""" - denormalizedTableField: DenormalizedTableField + """The `TableGrant` that was updated by this mutation.""" + tableGrant: TableGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `DenormalizedTableField`. May be used by Relay 1.""" - denormalizedTableFieldEdge( - """The method to use when ordering `DenormalizedTableField`.""" - orderBy: [DenormalizedTableFieldOrderBy!]! = [PRIMARY_KEY_ASC] - ): DenormalizedTableFieldEdge + """An edge for our `TableGrant`. May be used by Relay 1.""" + tableGrantEdge( + """The method to use when ordering `TableGrant`.""" + orderBy: [TableGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): TableGrantEdge } -"""All input for the `deleteDenormalizedTableField` mutation.""" -input DeleteDenormalizedTableFieldInput { +"""All input for the `updateTableGrant` mutation.""" +input UpdateTableGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `TableGrant` being updated. + """ + tableGrantPatch: TableGrantPatch! } -"""The output of our delete `OrgMemberProfile` mutation.""" -type DeleteOrgMemberProfilePayload { +""" +Represents an update to a `TableGrant`. Fields that are set will be updated. +""" +input TableGrantPatch { + id: UUID + databaseId: UUID + tableId: UUID + privilege: String + granteeName: String + fieldIds: [UUID] + isGrant: Boolean + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `Commit` mutation.""" +type UpdateCommitPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMemberProfile` that was deleted by this mutation.""" - orgMemberProfile: OrgMemberProfile + """The `Commit` that was updated by this mutation.""" + commit: Commit """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" - orgMemberProfileEdge( - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMemberProfileEdge + """An edge for our `Commit`. May be used by Relay 1.""" + commitEdge( + """The method to use when ordering `Commit`.""" + orderBy: [CommitOrderBy!]! = [PRIMARY_KEY_ASC] + ): CommitEdge } -"""All input for the `deleteOrgMemberProfile` mutation.""" -input DeleteOrgMemberProfileInput { +"""All input for the `updateCommit` mutation.""" +input UpdateCommitInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String + + """The primary unique identifier for the commit.""" id: UUID! -} -"""The output of our delete `DatabaseTransfer` mutation.""" -type DeleteDatabaseTransferPayload { + """The repository identifier""" + databaseId: UUID! + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `Commit` being updated. """ - clientMutationId: String + commitPatch: CommitPatch! +} - """The `DatabaseTransfer` that was deleted by this mutation.""" - databaseTransfer: DatabaseTransfer +""" +Represents an update to a `Commit`. Fields that are set will be updated. +""" +input CommitPatch { + """The primary unique identifier for the commit.""" + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """The commit message""" + message: String - """An edge for our `DatabaseTransfer`. May be used by Relay 1.""" - databaseTransferEdge( - """The method to use when ordering `DatabaseTransfer`.""" - orderBy: [DatabaseTransferOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseTransferEdge -} + """The repository identifier""" + databaseId: UUID + storeId: UUID -"""All input for the `deleteDatabaseTransfer` mutation.""" -input DeleteDatabaseTransferInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Parent commits""" + parentIds: [UUID] + + """The author of the commit""" + authorId: UUID + + """The committer of the commit""" + committerId: UUID + + """The root of the tree""" + treeId: UUID + date: Datetime } -"""The output of our delete `BillingModule` mutation.""" -type DeleteBillingModulePayload { +"""The output of our update `PubkeySetting` mutation.""" +type UpdatePubkeySettingPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `BillingModule` that was deleted by this mutation.""" - billingModule: BillingModule + """The `PubkeySetting` that was updated by this mutation.""" + pubkeySetting: PubkeySetting """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `BillingModule`. May be used by Relay 1.""" - billingModuleEdge( - """The method to use when ordering `BillingModule`.""" - orderBy: [BillingModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): BillingModuleEdge + """An edge for our `PubkeySetting`. May be used by Relay 1.""" + pubkeySettingEdge( + """The method to use when ordering `PubkeySetting`.""" + orderBy: [PubkeySettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): PubkeySettingEdge } -"""All input for the `deleteBillingModule` mutation.""" -input DeleteBillingModuleInput { +"""All input for the `updatePubkeySetting` mutation.""" +input UpdatePubkeySettingInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String + + """Unique identifier for this pubkey settings record""" id: UUID! -} -"""The output of our delete `CryptoAuthModule` mutation.""" -type DeleteCryptoAuthModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `PubkeySetting` being updated. """ - clientMutationId: String + pubkeySettingPatch: PubkeySettingPatch! +} - """The `CryptoAuthModule` that was deleted by this mutation.""" - cryptoAuthModule: CryptoAuthModule +""" +Represents an update to a `PubkeySetting`. Fields that are set will be updated. +""" +input PubkeySettingPatch { + """Unique identifier for this pubkey settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Schema containing the crypto auth functions (FK to metaschema_public.schema) """ - query: Query + schemaId: UUID - """An edge for our `CryptoAuthModule`. May be used by Relay 1.""" - cryptoAuthModuleEdge( - """The method to use when ordering `CryptoAuthModule`.""" - orderBy: [CryptoAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): CryptoAuthModuleEdge -} + """Crypto network for key derivation (e.g. cosmos, ethereum)""" + cryptoNetwork: String + + """Field name used to identify the user in crypto auth functions""" + userField: String -"""All input for the `deleteCryptoAuthModule` mutation.""" -input DeleteCryptoAuthModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the sign-up-with-key function (FK to metaschema_public.function) """ - clientMutationId: String - id: UUID! -} + signUpWithKeyFunctionId: UUID -"""The output of our delete `DatabaseProvisionModule` mutation.""" -type DeleteDatabaseProvisionModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reference to the sign-in challenge request function (FK to metaschema_public.function) """ - clientMutationId: String - - """The `DatabaseProvisionModule` that was deleted by this mutation.""" - databaseProvisionModule: DatabaseProvisionModule + signInRequestChallengeFunctionId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Reference to the sign-in failure recording function (FK to metaschema_public.function) """ - query: Query - - """An edge for our `DatabaseProvisionModule`. May be used by Relay 1.""" - databaseProvisionModuleEdge( - """The method to use when ordering `DatabaseProvisionModule`.""" - orderBy: [DatabaseProvisionModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): DatabaseProvisionModuleEdge -} + signInRecordFailureFunctionId: UUID -"""All input for the `deleteDatabaseProvisionModule` mutation.""" -input DeleteDatabaseProvisionModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the sign-in-with-challenge function (FK to metaschema_public.function) """ - clientMutationId: String - id: UUID! + signInWithChallengeFunctionId: UUID } -"""The output of our delete `InvitesModule` mutation.""" -type DeleteInvitesModulePayload { +"""The output of our update `RateLimitsModule` mutation.""" +type UpdateRateLimitsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `InvitesModule` that was deleted by this mutation.""" - invitesModule: InvitesModule + """The `RateLimitsModule` that was updated by this mutation.""" + rateLimitsModule: RateLimitsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `InvitesModule`. May be used by Relay 1.""" - invitesModuleEdge( - """The method to use when ordering `InvitesModule`.""" - orderBy: [InvitesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): InvitesModuleEdge + """An edge for our `RateLimitsModule`. May be used by Relay 1.""" + rateLimitsModuleEdge( + """The method to use when ordering `RateLimitsModule`.""" + orderBy: [RateLimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): RateLimitsModuleEdge } -"""All input for the `deleteInvitesModule` mutation.""" -input DeleteInvitesModuleInput { +"""All input for the `updateRateLimitsModule` mutation.""" +input UpdateRateLimitsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `RateLimitsModule` being updated. + """ + rateLimitsModulePatch: RateLimitsModulePatch! } -"""The output of our delete `SecureTableProvision` mutation.""" -type DeleteSecureTableProvisionPayload { +""" +Represents an update to a `RateLimitsModule`. Fields that are set will be updated. +""" +input RateLimitsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + rateLimitSettingsTableId: UUID + ipRateLimitsTableId: UUID + rateLimitsTableId: UUID + rateLimitSettingsTable: String + ipRateLimitsTable: String + rateLimitsTable: String +} + +"""The output of our update `OrgChartEdgeGrant` mutation.""" +type UpdateOrgChartEdgeGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SecureTableProvision` that was deleted by this mutation.""" - secureTableProvision: SecureTableProvision + """The `OrgChartEdgeGrant` that was updated by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `SecureTableProvision`. May be used by Relay 1.""" - secureTableProvisionEdge( - """The method to use when ordering `SecureTableProvision`.""" - orderBy: [SecureTableProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): SecureTableProvisionEdge + """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" + orgChartEdgeGrantEdge( + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantEdge } -"""All input for the `deleteSecureTableProvision` mutation.""" -input DeleteSecureTableProvisionInput { +"""All input for the `updateOrgChartEdgeGrant` mutation.""" +input UpdateOrgChartEdgeGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """Unique identifier for this provision row.""" id: UUID! -} -"""The output of our delete `Enum` mutation.""" -type DeleteEnumPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `OrgChartEdgeGrant` being updated. """ - clientMutationId: String + orgChartEdgeGrantPatch: OrgChartEdgeGrantPatch! +} - """The `Enum` that was deleted by this mutation.""" - enum: Enum +""" +Represents an update to a `OrgChartEdgeGrant`. Fields that are set will be updated. +""" +input OrgChartEdgeGrantPatch { + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Organization this grant applies to""" + entityId: UUID - """An edge for our `Enum`. May be used by Relay 1.""" - enumEdge( - """The method to use when ordering `Enum`.""" - orderBy: [EnumOrderBy!]! = [PRIMARY_KEY_ASC] - ): EnumEdge -} + """User ID of the subordinate being placed in the hierarchy""" + childId: UUID + + """User ID of the manager being assigned; NULL for top-level positions""" + parentId: UUID -"""All input for the `deleteEnum` mutation.""" -input DeleteEnumInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + User ID of the admin who performed this grant or revocation; NULL if grantor was deleted """ - clientMutationId: String - id: UUID! + grantorId: UUID + + """TRUE to add/update the edge, FALSE to remove it""" + isGrant: Boolean + + """Job title or role name being assigned in this grant""" + positionTitle: String + + """Numeric seniority level being assigned in this grant""" + positionLevel: Int + + """Timestamp when this grant or revocation was recorded""" + createdAt: Datetime } -"""The output of our delete `User` mutation.""" -type DeleteUserPayload { +"""The output of our update `PhoneNumber` mutation.""" +type UpdatePhoneNumberPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `User` that was deleted by this mutation.""" - user: User + """The `PhoneNumber` that was updated by this mutation.""" + phoneNumber: PhoneNumber """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `User`. May be used by Relay 1.""" - userEdge( - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserEdge + """An edge for our `PhoneNumber`. May be used by Relay 1.""" + phoneNumberEdge( + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumberEdge } -"""All input for the `deleteUser` mutation.""" -input DeleteUserInput { +"""All input for the `updatePhoneNumber` mutation.""" +input UpdatePhoneNumberInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `View` mutation.""" -type DeleteViewPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `PhoneNumber` being updated. """ - clientMutationId: String + phoneNumberPatch: PhoneNumberPatch! +} - """The `View` that was deleted by this mutation.""" - view: View +""" +Represents an update to a `PhoneNumber`. Fields that are set will be updated. +""" +input PhoneNumberPatch { + id: UUID + ownerId: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Country calling code (e.g. +1, +44)""" + cc: String - """An edge for our `View`. May be used by Relay 1.""" - viewEdge( - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!]! = [PRIMARY_KEY_ASC] - ): ViewEdge -} + """The phone number without country code""" + number: String + + """Whether the phone number has been verified via SMS code""" + isVerified: Boolean + + """Whether this is the user's primary phone number""" + isPrimary: Boolean -"""All input for the `deleteView` mutation.""" -input DeleteViewInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Optional user-provided label for this phone number (e.g. "Mobile", "Work"). """ - clientMutationId: String - id: UUID! + name: String + createdAt: Datetime + updatedAt: Datetime } -"""The output of our delete `WebauthnAuthModule` mutation.""" -type DeleteWebauthnAuthModulePayload { +"""The output of our update `AppClaimedInvite` mutation.""" +type UpdateAppClaimedInvitePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `WebauthnAuthModule` that was deleted by this mutation.""" - webauthnAuthModule: WebauthnAuthModule + """The `AppClaimedInvite` that was updated by this mutation.""" + appClaimedInvite: AppClaimedInvite """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `WebauthnAuthModule`. May be used by Relay 1.""" - webauthnAuthModuleEdge( - """The method to use when ordering `WebauthnAuthModule`.""" - orderBy: [WebauthnAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnAuthModuleEdge + """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" + appClaimedInviteEdge( + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppClaimedInviteEdge } -"""All input for the `deleteWebauthnAuthModule` mutation.""" -input DeleteWebauthnAuthModuleInput { +"""All input for the `updateAppClaimedInvite` mutation.""" +input UpdateAppClaimedInviteInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppClaimedInvite` being updated. + """ + appClaimedInvitePatch: AppClaimedInvitePatch! } -"""The output of our delete `AppInvite` mutation.""" -type DeleteAppInvitePayload { +""" +Represents an update to a `AppClaimedInvite`. Fields that are set will be updated. +""" +input AppClaimedInvitePatch { + id: UUID + + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppMembershipDefault` mutation.""" +type UpdateAppMembershipDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppInvite` that was deleted by this mutation.""" - appInvite: AppInvite + """The `AppMembershipDefault` that was updated by this mutation.""" + appMembershipDefault: AppMembershipDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppInvite`. May be used by Relay 1.""" - appInviteEdge( - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppInviteEdge + """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" + appMembershipDefaultEdge( + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultEdge } -"""All input for the `deleteAppInvite` mutation.""" -input DeleteAppInviteInput { +"""All input for the `updateAppMembershipDefault` mutation.""" +input UpdateAppMembershipDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppMembershipDefault` being updated. + """ + appMembershipDefaultPatch: AppMembershipDefaultPatch! } -"""The output of our delete `OrgMembershipSetting` mutation.""" -type DeleteOrgMembershipSettingPayload { +""" +Represents an update to a `AppMembershipDefault`. Fields that are set will be updated. +""" +input AppMembershipDefaultPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether new members are automatically approved upon joining""" + isApproved: Boolean + + """Whether new members are automatically verified upon joining""" + isVerified: Boolean +} + +"""The output of our update `OrgMembershipDefault` mutation.""" +type UpdateOrgMembershipDefaultPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembershipSetting` that was deleted by this mutation.""" - orgMembershipSetting: OrgMembershipSetting + """The `OrgMembershipDefault` that was updated by this mutation.""" + orgMembershipDefault: OrgMembershipDefault """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" - orgMembershipSettingEdge( - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingEdge + """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" + orgMembershipDefaultEdge( + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultEdge } -"""All input for the `deleteOrgMembershipSetting` mutation.""" -input DeleteOrgMembershipSettingInput { +"""All input for the `updateOrgMembershipDefault` mutation.""" +input UpdateOrgMembershipDefaultInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgMembershipDefault` being updated. + """ + orgMembershipDefaultPatch: OrgMembershipDefaultPatch! } -"""The output of our delete `App` mutation.""" -type DeleteAppPayload { +""" +Represents an update to a `OrgMembershipDefault`. Fields that are set will be updated. +""" +input OrgMembershipDefaultPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID + + """Whether new members are automatically approved upon joining""" + isApproved: Boolean + + """References the entity these membership defaults apply to""" + entityId: UUID +} + +"""The output of our update `AuditLog` mutation.""" +type UpdateAuditLogPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `App` that was deleted by this mutation.""" - app: App + """The `AuditLog` that was updated by this mutation.""" + auditLog: AuditLog """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `App`. May be used by Relay 1.""" - appEdge( - """The method to use when ordering `App`.""" - orderBy: [AppOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppEdge + """An edge for our `AuditLog`. May be used by Relay 1.""" + auditLogEdge( + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] + ): AuditLogEdge } -"""All input for the `deleteApp` mutation.""" -input DeleteAppInput { +"""All input for the `updateAuditLog` mutation.""" +input UpdateAuditLogInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - - """Unique identifier for this app""" id: UUID! -} -"""The output of our delete `Site` mutation.""" -type DeleteSitePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AuditLog` being updated. """ - clientMutationId: String + auditLogPatch: AuditLogPatch! +} - """The `Site` that was deleted by this mutation.""" - site: Site +""" +Represents an update to a `AuditLog`. Fields that are set will be updated. +""" +input AuditLogPatch { + id: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) """ - query: Query + event: String - """An edge for our `Site`. May be used by Relay 1.""" - siteEdge( - """The method to use when ordering `Site`.""" - orderBy: [SiteOrderBy!]! = [PRIMARY_KEY_ASC] - ): SiteEdge -} + """User who performed the authentication action; NULL if user was deleted""" + actorId: UUID -"""All input for the `deleteSite` mutation.""" -input DeleteSiteInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String + """Request origin (domain) where the auth event occurred""" + origin: ConstructiveInternalTypeOrigin - """Unique identifier for this site""" - id: UUID! + """Browser or client user-agent string from the request""" + userAgent: String + + """IP address of the client that initiated the auth event""" + ipAddress: InternetAddress + + """Whether the authentication attempt succeeded""" + success: Boolean + + """Timestamp when the audit event was recorded""" + createdAt: Datetime } -"""The output of our delete `NotificationsModule` mutation.""" -type DeleteNotificationsModulePayload { +"""The output of our update `Domain` mutation.""" +type UpdateDomainPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `NotificationsModule` that was deleted by this mutation.""" - notificationsModule: NotificationsModule + """The `Domain` that was updated by this mutation.""" + domain: Domain """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `NotificationsModule`. May be used by Relay 1.""" - notificationsModuleEdge( - """The method to use when ordering `NotificationsModule`.""" - orderBy: [NotificationsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): NotificationsModuleEdge + """An edge for our `Domain`. May be used by Relay 1.""" + domainEdge( + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!]! = [PRIMARY_KEY_ASC] + ): DomainEdge } -"""All input for the `deleteNotificationsModule` mutation.""" -input DeleteNotificationsModuleInput { +"""All input for the `updateDomain` mutation.""" +input UpdateDomainInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String + + """Unique identifier for this domain record""" id: UUID! -} -"""The output of our delete `PermissionsModule` mutation.""" -type DeletePermissionsModulePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `Domain` being updated. """ - clientMutationId: String + domainPatch: DomainPatch! +} - """The `PermissionsModule` that was deleted by this mutation.""" - permissionsModule: PermissionsModule +""" +Represents an update to a `Domain`. Fields that are set will be updated. +""" +input DomainPatch { + """Unique identifier for this domain record""" + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Reference to the metaschema database this domain belongs to""" + databaseId: UUID - """An edge for our `PermissionsModule`. May be used by Relay 1.""" - permissionsModuleEdge( - """The method to use when ordering `PermissionsModule`.""" - orderBy: [PermissionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): PermissionsModuleEdge -} + """API endpoint this domain routes to (mutually exclusive with site_id)""" + apiId: UUID -"""All input for the `deletePermissionsModule` mutation.""" -input DeletePermissionsModuleInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Site this domain routes to (mutually exclusive with api_id)""" + siteId: UUID + + """Subdomain portion of the hostname""" + subdomain: ConstructiveInternalTypeHostname + + """Root domain of the hostname""" + domain: ConstructiveInternalTypeHostname } -"""The output of our delete `WebauthnCredential` mutation.""" -type DeleteWebauthnCredentialPayload { +"""The output of our update `RlsSetting` mutation.""" +type UpdateRlsSettingPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `WebauthnCredential` that was deleted by this mutation.""" - webauthnCredential: WebauthnCredential + """The `RlsSetting` that was updated by this mutation.""" + rlsSetting: RlsSetting """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `WebauthnCredential`. May be used by Relay 1.""" - webauthnCredentialEdge( - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] - ): WebauthnCredentialEdge + """An edge for our `RlsSetting`. May be used by Relay 1.""" + rlsSettingEdge( + """The method to use when ordering `RlsSetting`.""" + orderBy: [RlsSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): RlsSettingEdge } -"""All input for the `deleteWebauthnCredential` mutation.""" -input DeleteWebauthnCredentialInput { +"""All input for the `updateRlsSetting` mutation.""" +input UpdateRlsSettingInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String + + """Unique identifier for this RLS settings record""" id: UUID! -} -"""The output of our delete `PrimaryKeyConstraint` mutation.""" -type DeletePrimaryKeyConstraintPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `RlsSetting` being updated. """ - clientMutationId: String + rlsSettingPatch: RlsSettingPatch! +} - """The `PrimaryKeyConstraint` that was deleted by this mutation.""" - primaryKeyConstraint: PrimaryKeyConstraint +""" +Represents an update to a `RlsSetting`. Fields that are set will be updated. +""" +input RlsSettingPatch { + """Unique identifier for this RLS settings record""" + id: UUID + + """Reference to the metaschema database""" + databaseId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) """ - query: Query + authenticateSchemaId: UUID - """An edge for our `PrimaryKeyConstraint`. May be used by Relay 1.""" - primaryKeyConstraintEdge( - """The method to use when ordering `PrimaryKeyConstraint`.""" - orderBy: [PrimaryKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): PrimaryKeyConstraintEdge -} + """ + Schema containing current_role and related functions (FK to metaschema_public.schema) + """ + roleSchemaId: UUID -"""All input for the `deletePrimaryKeyConstraint` mutation.""" -input DeletePrimaryKeyConstraintInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the authenticate function (FK to metaschema_public.function) """ - clientMutationId: String - id: UUID! -} + authenticateFunctionId: UUID -"""The output of our delete `Trigger` mutation.""" -type DeleteTriggerPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + Reference to the strict authenticate function (FK to metaschema_public.function) """ - clientMutationId: String + authenticateStrictFunctionId: UUID - """The `Trigger` that was deleted by this mutation.""" - trigger: Trigger + """ + Reference to the current_role function (FK to metaschema_public.function) + """ + currentRoleFunctionId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Reference to the current_role_id function (FK to metaschema_public.function) """ - query: Query + currentRoleIdFunctionId: UUID - """An edge for our `Trigger`. May be used by Relay 1.""" - triggerEdge( - """The method to use when ordering `Trigger`.""" - orderBy: [TriggerOrderBy!]! = [PRIMARY_KEY_ASC] - ): TriggerEdge -} + """ + Reference to the current_user_agent function (FK to metaschema_public.function) + """ + currentUserAgentFunctionId: UUID -"""All input for the `deleteTrigger` mutation.""" -input DeleteTriggerInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Reference to the current_ip_address function (FK to metaschema_public.function) """ - clientMutationId: String - id: UUID! + currentIpAddressFunctionId: UUID } -"""The output of our delete `CheckConstraint` mutation.""" -type DeleteCheckConstraintPayload { +"""The output of our update `AgentTask` mutation.""" +type UpdateAgentTaskPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `CheckConstraint` that was deleted by this mutation.""" - checkConstraint: CheckConstraint + """The `AgentTask` that was updated by this mutation.""" + agentTask: AgentTask """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `CheckConstraint`. May be used by Relay 1.""" - checkConstraintEdge( - """The method to use when ordering `CheckConstraint`.""" - orderBy: [CheckConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): CheckConstraintEdge + """An edge for our `AgentTask`. May be used by Relay 1.""" + agentTaskEdge( + """The method to use when ordering `AgentTask`.""" + orderBy: [AgentTaskOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentTaskEdge } -"""All input for the `deleteCheckConstraint` mutation.""" -input DeleteCheckConstraintInput { +"""All input for the `updateAgentTask` mutation.""" +input UpdateAgentTaskInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `UniqueConstraint` mutation.""" -type DeleteUniqueConstraintPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AgentTask` being updated. """ - clientMutationId: String + agentTaskPatch: AgentTaskPatch! +} - """The `UniqueConstraint` that was deleted by this mutation.""" - uniqueConstraint: UniqueConstraint +""" +Represents an update to a `AgentTask`. Fields that are set will be updated. +""" +input AgentTaskPatch { + """ + Foreign key to agent_thread. Required; the FK constraint and cascade-delete behaviour are declared in the blueprint's relations[]. Declared explicitly in fields[] (rather than left for RelationBelongsTo to create) so that the DataInheritFromParent generator can validate this field exists when it provisions the entity_id-inheritance trigger. + """ + threadId: UUID """ - Our root query field type. Allows us to run any query from our mutation payload. + Entity (org/group/personal-org id) this task is filed under. Populated automatically by the DataInheritFromParent BEFORE INSERT trigger from agent_thread.entity_id via thread_id; the application never sets this column directly. """ - query: Query + entityId: UUID - """An edge for our `UniqueConstraint`. May be used by Relay 1.""" - uniqueConstraintEdge( - """The method to use when ordering `UniqueConstraint`.""" - orderBy: [UniqueConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): UniqueConstraintEdge -} + """Natural-language description of the work to do. Required.""" + description: String -"""All input for the `deleteUniqueConstraint` mutation.""" -input DeleteUniqueConstraintInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Who created the task: 'agent' (added by the LLM during planning) or 'user' (added manually by the human). Stored as free-text (no CHECK) so additional sources can be introduced later. """ - clientMutationId: String - id: UUID! + source: String + + """ + Error message captured when the task transitioned to 'failed'. NULL while the task is still pending/in-progress, or when it completed successfully. + """ + error: String + id: UUID + + """Timestamp when this record was created""" + createdAt: Datetime + + """Timestamp when this record was last updated""" + updatedAt: Datetime + + """User who owns this record""" + ownerId: UUID + + """Current status of this record""" + status: String } -"""The output of our delete `SpatialRelation` mutation.""" -type DeleteSpatialRelationPayload { +"""The output of our update `AgentThread` mutation.""" +type UpdateAgentThreadPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `SpatialRelation` that was deleted by this mutation.""" - spatialRelation: SpatialRelation + """The `AgentThread` that was updated by this mutation.""" + agentThread: AgentThread """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `SpatialRelation`. May be used by Relay 1.""" - spatialRelationEdge( - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!]! = [PRIMARY_KEY_ASC] - ): SpatialRelationEdge + """An edge for our `AgentThread`. May be used by Relay 1.""" + agentThreadEdge( + """The method to use when ordering `AgentThread`.""" + orderBy: [AgentThreadOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentThreadEdge } -"""All input for the `deleteSpatialRelation` mutation.""" -input DeleteSpatialRelationInput { +"""All input for the `updateAgentThread` mutation.""" +input UpdateAgentThreadInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `Policy` mutation.""" -type DeletePolicyPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AgentThread` being updated. """ - clientMutationId: String + agentThreadPatch: AgentThreadPatch! +} - """The `Policy` that was deleted by this mutation.""" - policy: Policy +""" +Represents an update to a `AgentThread`. Fields that are set will be updated. +""" +input AgentThreadPatch { + """ + Human-readable conversation title. Typically auto-generated from the first user message and editable by the user. NULL until a title has been computed. + """ + title: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Conversation mode: 'ask' for plain Q&A (no tool execution) or 'agent' for tool-enabled execution. Stored as free-text (no CHECK) so new modes can be added without migration. """ - query: Query + mode: String - """An edge for our `Policy`. May be used by Relay 1.""" - policyEdge( - """The method to use when ordering `Policy`.""" - orderBy: [PolicyOrderBy!]! = [PRIMARY_KEY_ASC] - ): PolicyEdge -} + """ + Snapshot of the LLM model id this thread is bound to (e.g. 'gpt-5', 'claude-sonnet-4'). Captured on creation so a resumed conversation stays on the same model even if app defaults change. NULL means use the app default at request time. + """ + model: String -"""All input for the `deletePolicy` mutation.""" -input DeletePolicyInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Snapshot of the system prompt active for this thread. Stored on the thread (rather than referenced from a registry) so the conversation remains reproducible even if a future system_prompt registry changes its canonical text. NULL means use the app default at request time. """ - clientMutationId: String - id: UUID! + systemPrompt: String + id: UUID + + """Timestamp when this record was created""" + createdAt: Datetime + + """Timestamp when this record was last updated""" + updatedAt: Datetime + + """User who owns this record within the entity""" + ownerId: UUID + + """Entity this record belongs to""" + entityId: UUID + + """Current status of this record""" + status: String } -"""The output of our delete `EmbeddingChunk` mutation.""" -type DeleteEmbeddingChunkPayload { +"""The output of our update `Email` mutation.""" +type UpdateEmailPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `EmbeddingChunk` that was deleted by this mutation.""" - embeddingChunk: EmbeddingChunk + """The `Email` that was updated by this mutation.""" + email: Email """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `EmbeddingChunk`. May be used by Relay 1.""" - embeddingChunkEdge( - """The method to use when ordering `EmbeddingChunk`.""" - orderBy: [EmbeddingChunkOrderBy!]! = [PRIMARY_KEY_ASC] - ): EmbeddingChunkEdge + """An edge for our `Email`. May be used by Relay 1.""" + emailEdge( + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailEdge } -"""All input for the `deleteEmbeddingChunk` mutation.""" -input DeleteEmbeddingChunkInput { +"""All input for the `updateEmail` mutation.""" +input UpdateEmailInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `Email` being updated. + """ + emailPatch: EmailPatch! } -"""The output of our delete `OrgInvite` mutation.""" -type DeleteOrgInvitePayload { +""" +Represents an update to a `Email`. Fields that are set will be updated. +""" +input EmailPatch { + id: UUID + ownerId: UUID + + """The email address""" + email: ConstructiveInternalTypeEmail + + """Whether the email address has been verified via confirmation link""" + isVerified: Boolean + + """Whether this is the user's primary email address""" + isPrimary: Boolean + + """Optional user-provided label for this email (e.g. "Work", "Personal").""" + name: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppGrant` mutation.""" +type UpdateAppGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgInvite` that was deleted by this mutation.""" - orgInvite: OrgInvite + """The `AppGrant` that was updated by this mutation.""" + appGrant: AppGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgInvite`. May be used by Relay 1.""" - orgInviteEdge( - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgInviteEdge + """An edge for our `AppGrant`. May be used by Relay 1.""" + appGrantEdge( + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppGrantEdge } -"""All input for the `deleteOrgInvite` mutation.""" -input DeleteOrgInviteInput { +"""All input for the `updateAppGrant` mutation.""" +input UpdateAppGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `AppGrant` being updated. + """ + appGrantPatch: AppGrantPatch! } -"""The output of our delete `AppMembership` mutation.""" -type DeleteAppMembershipPayload { +""" +Represents an update to a `AppGrant`. Fields that are set will be updated. +""" +input AppGrantPatch { + id: UUID + + """Bitmask of permissions being granted or revoked""" + permissions: BitString + + """True to grant the permissions, false to revoke them""" + isGrant: Boolean + + """The member receiving or losing the permission grant""" + actorId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `OrgClaimedInvite` mutation.""" +type UpdateOrgClaimedInvitePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `AppMembership` that was deleted by this mutation.""" - appMembership: AppMembership + """The `OrgClaimedInvite` that was updated by this mutation.""" + orgClaimedInvite: OrgClaimedInvite """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `AppMembership`. May be used by Relay 1.""" - appMembershipEdge( - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): AppMembershipEdge + """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" + orgClaimedInviteEdge( + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteEdge } -"""All input for the `deleteAppMembership` mutation.""" -input DeleteAppMembershipInput { +"""All input for the `updateOrgClaimedInvite` mutation.""" +input UpdateOrgClaimedInviteInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgClaimedInvite` being updated. + """ + orgClaimedInvitePatch: OrgClaimedInvitePatch! } -"""The output of our delete `Schema` mutation.""" -type DeleteSchemaPayload { +""" +Represents an update to a `OrgClaimedInvite`. Fields that are set will be updated. +""" +input OrgClaimedInvitePatch { + id: UUID + + """Optional JSON payload captured at the time the invite was claimed""" + data: JSON + + """User ID of the original invitation sender""" + senderId: UUID + + """User ID of the person who claimed and redeemed the invitation""" + receiverId: UUID + createdAt: Datetime + updatedAt: Datetime + entityId: UUID +} + +"""The output of our update `OrgChartEdge` mutation.""" +type UpdateOrgChartEdgePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Schema` that was deleted by this mutation.""" - schema: Schema + """The `OrgChartEdge` that was updated by this mutation.""" + orgChartEdge: OrgChartEdge """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Schema`. May be used by Relay 1.""" - schemaEdge( - """The method to use when ordering `Schema`.""" - orderBy: [SchemaOrderBy!]! = [PRIMARY_KEY_ASC] - ): SchemaEdge + """An edge for our `OrgChartEdge`. May be used by Relay 1.""" + orgChartEdgeEdge( + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeEdge } -"""All input for the `deleteSchema` mutation.""" -input DeleteSchemaInput { +"""All input for the `updateOrgChartEdge` mutation.""" +input UpdateOrgChartEdgeInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `Index` mutation.""" -type DeleteIndexPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `OrgChartEdge` being updated. """ - clientMutationId: String + orgChartEdgePatch: OrgChartEdgePatch! +} - """The `Index` that was deleted by this mutation.""" - index: Index +""" +Represents an update to a `OrgChartEdge`. Fields that are set will be updated. +""" +input OrgChartEdgePatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Organization this hierarchy edge belongs to""" + entityId: UUID - """An edge for our `Index`. May be used by Relay 1.""" - indexEdge( - """The method to use when ordering `Index`.""" - orderBy: [IndexOrderBy!]! = [PRIMARY_KEY_ASC] - ): IndexEdge -} + """User ID of the subordinate (employee) in this reporting relationship""" + childId: UUID -"""All input for the `deleteIndex` mutation.""" -input DeleteIndexInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + User ID of the manager; NULL indicates a top-level position with no direct report """ - clientMutationId: String - id: UUID! + parentId: UUID + + """Job title or role name for this position in the org chart""" + positionTitle: String + + """Numeric seniority level for this position (higher = more senior)""" + positionLevel: Int } -"""The output of our delete `LimitsModule` mutation.""" -type DeleteLimitsModulePayload { +"""The output of our update `Partition` mutation.""" +type UpdatePartitionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `LimitsModule` that was deleted by this mutation.""" - limitsModule: LimitsModule + """The `Partition` that was updated by this mutation.""" + partition: Partition """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `LimitsModule`. May be used by Relay 1.""" - limitsModuleEdge( - """The method to use when ordering `LimitsModule`.""" - orderBy: [LimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): LimitsModuleEdge + """An edge for our `Partition`. May be used by Relay 1.""" + partitionEdge( + """The method to use when ordering `Partition`.""" + orderBy: [PartitionOrderBy!]! = [PRIMARY_KEY_ASC] + ): PartitionEdge } -"""All input for the `deleteLimitsModule` mutation.""" -input DeleteLimitsModuleInput { +"""All input for the `updatePartition` mutation.""" +input UpdatePartitionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `Partition` being updated. + """ + partitionPatch: PartitionPatch! } -"""The output of our delete `BlueprintTemplate` mutation.""" -type DeleteBlueprintTemplatePayload { +""" +Represents an update to a `Partition`. Fields that are set will be updated. +""" +input PartitionPatch { + id: UUID + databaseId: UUID + tableId: UUID + strategy: String + partitionKeyId: UUID + interval: String + retention: String + lookahead: Int + namingPattern: String + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `BlueprintConstruction` mutation.""" +type UpdateBlueprintConstructionPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `BlueprintTemplate` that was deleted by this mutation.""" - blueprintTemplate: BlueprintTemplate + """The `BlueprintConstruction` that was updated by this mutation.""" + blueprintConstruction: BlueprintConstruction """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `BlueprintTemplate`. May be used by Relay 1.""" - blueprintTemplateEdge( - """The method to use when ordering `BlueprintTemplate`.""" - orderBy: [BlueprintTemplateOrderBy!]! = [PRIMARY_KEY_ASC] - ): BlueprintTemplateEdge + """An edge for our `BlueprintConstruction`. May be used by Relay 1.""" + blueprintConstructionEdge( + """The method to use when ordering `BlueprintConstruction`.""" + orderBy: [BlueprintConstructionOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintConstructionEdge } -"""All input for the `deleteBlueprintTemplate` mutation.""" -input DeleteBlueprintTemplateInput { +"""All input for the `updateBlueprintConstruction` mutation.""" +input UpdateBlueprintConstructionInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - """Unique identifier for this template.""" + """Unique identifier for this construction attempt.""" id: UUID! + + """ + An object where the defined keys will be set on the `BlueprintConstruction` being updated. + """ + blueprintConstructionPatch: BlueprintConstructionPatch! } -"""The output of our delete `HierarchyModule` mutation.""" -type DeleteHierarchyModulePayload { +""" +Represents an update to a `BlueprintConstruction`. Fields that are set will be updated. +""" +input BlueprintConstructionPatch { + """Unique identifier for this construction attempt.""" + id: UUID + + """The blueprint that was constructed.""" + blueprintId: UUID + + """The database the blueprint was constructed into.""" + databaseId: UUID + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + The default schema used for tables that did not specify an explicit schema_name. NULL if not yet resolved. """ - clientMutationId: String + schemaId: UUID - """The `HierarchyModule` that was deleted by this mutation.""" - hierarchyModule: HierarchyModule + """ + Execution state of this construction attempt. pending: created but not yet started. constructing: currently executing. constructed: successfully completed. failed: execution failed (see error_details). + """ + status: String """ - Our root query field type. Allows us to run any query from our mutation payload. + Error message from a failed construction attempt. NULL unless status is failed. """ - query: Query + errorDetails: String - """An edge for our `HierarchyModule`. May be used by Relay 1.""" - hierarchyModuleEdge( - """The method to use when ordering `HierarchyModule`.""" - orderBy: [HierarchyModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): HierarchyModuleEdge -} + """ + Mapping of table names to created table UUIDs, populated after successful construction. Format: {"products": "uuid", "categories": "uuid", ...}. Defaults to empty object. + """ + tableMap: JSON -"""All input for the `deleteHierarchyModule` mutation.""" -input DeleteHierarchyModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Immutable snapshot of the definition at construct-time. Preserved so the exact definition that was executed is recorded even if the user later modifies the blueprint definition. """ - clientMutationId: String - id: UUID! + constructedDefinition: JSON + + """ + Timestamp when construction successfully completed. NULL until constructed. + """ + constructedAt: Datetime + + """Timestamp when this construction attempt was created.""" + createdAt: Datetime + + """Timestamp when this construction attempt was last modified.""" + updatedAt: Datetime } -"""The output of our delete `ProfilesModule` mutation.""" -type DeleteProfilesModulePayload { +"""The output of our update `RlsModule` mutation.""" +type UpdateRlsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ProfilesModule` that was deleted by this mutation.""" - profilesModule: ProfilesModule + """The `RlsModule` that was updated by this mutation.""" + rlsModule: RlsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `ProfilesModule`. May be used by Relay 1.""" - profilesModuleEdge( - """The method to use when ordering `ProfilesModule`.""" - orderBy: [ProfilesModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): ProfilesModuleEdge + """An edge for our `RlsModule`. May be used by Relay 1.""" + rlsModuleEdge( + """The method to use when ordering `RlsModule`.""" + orderBy: [RlsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): RlsModuleEdge } -"""All input for the `deleteProfilesModule` mutation.""" -input DeleteProfilesModuleInput { +"""All input for the `updateRlsModule` mutation.""" +input UpdateRlsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `RlsModule` being updated. + """ + rlsModulePatch: RlsModulePatch! } -"""The output of our delete `OrgMembership` mutation.""" -type DeleteOrgMembershipPayload { +""" +Represents an update to a `RlsModule`. Fields that are set will be updated. +""" +input RlsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + sessionCredentialsTableId: UUID + sessionsTableId: UUID + usersTableId: UUID + authenticate: String + authenticateStrict: String + currentRole: String + currentRoleId: String +} + +"""The output of our update `SessionsModule` mutation.""" +type UpdateSessionsModulePayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `OrgMembership` that was deleted by this mutation.""" - orgMembership: OrgMembership + """The `SessionsModule` that was updated by this mutation.""" + sessionsModule: SessionsModule """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `OrgMembership`. May be used by Relay 1.""" - orgMembershipEdge( - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] - ): OrgMembershipEdge + """An edge for our `SessionsModule`. May be used by Relay 1.""" + sessionsModuleEdge( + """The method to use when ordering `SessionsModule`.""" + orderBy: [SessionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SessionsModuleEdge } -"""All input for the `deleteOrgMembership` mutation.""" -input DeleteOrgMembershipInput { +"""All input for the `updateSessionsModule` mutation.""" +input UpdateSessionsModuleInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `SessionsModule` being updated. + """ + sessionsModulePatch: SessionsModulePatch! } -"""The output of our delete `ForeignKeyConstraint` mutation.""" -type DeleteForeignKeyConstraintPayload { +""" +Represents an update to a `SessionsModule`. Fields that are set will be updated. +""" +input SessionsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + authSettingsTableId: UUID + usersTableId: UUID + sessionsDefaultExpiration: IntervalInput + sessionsTable: String + sessionCredentialsTable: String + authSettingsTable: String +} + +"""The output of our update `OrgGrant` mutation.""" +type UpdateOrgGrantPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `ForeignKeyConstraint` that was deleted by this mutation.""" - foreignKeyConstraint: ForeignKeyConstraint + """The `OrgGrant` that was updated by this mutation.""" + orgGrant: OrgGrant """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `ForeignKeyConstraint`. May be used by Relay 1.""" - foreignKeyConstraintEdge( - """The method to use when ordering `ForeignKeyConstraint`.""" - orderBy: [ForeignKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] - ): ForeignKeyConstraintEdge + """An edge for our `OrgGrant`. May be used by Relay 1.""" + orgGrantEdge( + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgGrantEdge } -"""All input for the `deleteForeignKeyConstraint` mutation.""" -input DeleteForeignKeyConstraintInput { +"""All input for the `updateOrgGrant` mutation.""" +input UpdateOrgGrantInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `OrgGrant` being updated. + """ + orgGrantPatch: OrgGrantPatch! } -"""The output of our delete `StorageModule` mutation.""" -type DeleteStorageModulePayload { +""" +Represents an update to a `OrgGrant`. Fields that are set will be updated. +""" +input OrgGrantPatch { + id: UUID + + """Bitmask of permissions being granted or revoked""" + permissions: BitString + + """True to grant the permissions, false to revoke them""" + isGrant: Boolean + + """The member receiving or losing the permission grant""" + actorId: UUID + + """The entity (org or group) this permission grant applies to""" + entityId: UUID + grantorId: UUID + createdAt: Datetime + updatedAt: Datetime +} + +"""The output of our update `AppLevel` mutation.""" +type UpdateAppLevelPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `StorageModule` that was deleted by this mutation.""" - storageModule: StorageModule + """The `AppLevel` that was updated by this mutation.""" + appLevel: AppLevel """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `StorageModule`. May be used by Relay 1.""" - storageModuleEdge( - """The method to use when ordering `StorageModule`.""" - orderBy: [StorageModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): StorageModuleEdge + """An edge for our `AppLevel`. May be used by Relay 1.""" + appLevelEdge( + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelEdge } -"""All input for the `deleteStorageModule` mutation.""" -input DeleteStorageModuleInput { +"""All input for the `updateAppLevel` mutation.""" +input UpdateAppLevelInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! -} -"""The output of our delete `Table` mutation.""" -type DeleteTablePayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `AppLevel` being updated. """ - clientMutationId: String + appLevelPatch: AppLevelPatch! +} - """The `Table` that was deleted by this mutation.""" - table: Table +""" +Represents an update to a `AppLevel`. Fields that are set will be updated. +""" +input AppLevelPatch { + id: UUID - """ - Our root query field type. Allows us to run any query from our mutation payload. - """ - query: Query + """Unique name of the level""" + name: String - """An edge for our `Table`. May be used by Relay 1.""" - tableEdge( - """The method to use when ordering `Table`.""" - orderBy: [TableOrderBy!]! = [PRIMARY_KEY_ASC] - ): TableEdge -} + """Human-readable description of what this level represents""" + description: String + + """Badge or icon image associated with this level""" + image: ConstructiveInternalTypeImage + + """Optional owner (actor) who created or manages this level""" + ownerId: UUID + createdAt: Datetime + updatedAt: Datetime -"""All input for the `deleteTable` mutation.""" -input DeleteTableInput { - """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. - """ - clientMutationId: String - id: UUID! + """Upload for Badge or icon image associated with this level""" + imageUpload: Upload } -"""The output of our delete `EntityTypeProvision` mutation.""" -type DeleteEntityTypeProvisionPayload { +"""The output of our update `DatabaseSetting` mutation.""" +type UpdateDatabaseSettingPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `EntityTypeProvision` that was deleted by this mutation.""" - entityTypeProvision: EntityTypeProvision + """The `DatabaseSetting` that was updated by this mutation.""" + databaseSetting: DatabaseSetting """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `EntityTypeProvision`. May be used by Relay 1.""" - entityTypeProvisionEdge( - """The method to use when ordering `EntityTypeProvision`.""" - orderBy: [EntityTypeProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): EntityTypeProvisionEdge + """An edge for our `DatabaseSetting`. May be used by Relay 1.""" + databaseSettingEdge( + """The method to use when ordering `DatabaseSetting`.""" + orderBy: [DatabaseSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseSettingEdge } -"""All input for the `deleteEntityTypeProvision` mutation.""" -input DeleteEntityTypeProvisionInput { +"""All input for the `updateDatabaseSetting` mutation.""" +input UpdateDatabaseSettingInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - """Unique identifier for this provision row.""" + """Unique identifier for this settings record""" id: UUID! -} -"""The output of our delete `RelationProvision` mutation.""" -type DeleteRelationProvisionPayload { """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + An object where the defined keys will be set on the `DatabaseSetting` being updated. """ - clientMutationId: String + databaseSettingPatch: DatabaseSettingPatch! +} - """The `RelationProvision` that was deleted by this mutation.""" - relationProvision: RelationProvision +""" +Represents an update to a `DatabaseSetting`. Fields that are set will be updated. +""" +input DatabaseSettingPatch { + """Unique identifier for this settings record""" + id: UUID + + """Reference to the metaschema database these settings apply to""" + databaseId: UUID + + """Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API""" + enableAggregates: Boolean + + """Enable PostGIS spatial types and operators in the GraphQL API""" + enablePostgis: Boolean """ - Our root query field type. Allows us to run any query from our mutation payload. + Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API """ - query: Query + enableSearch: Boolean - """An edge for our `RelationProvision`. May be used by Relay 1.""" - relationProvisionEdge( - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!]! = [PRIMARY_KEY_ASC] - ): RelationProvisionEdge -} + """Enable direct (multipart) file upload mutations in the GraphQL API""" + enableDirectUploads: Boolean + + """Enable presigned URL upload flow for S3/MinIO storage""" + enablePresignedUploads: Boolean + + """Enable many-to-many relationship queries in the GraphQL API""" + enableManyToMany: Boolean + + """Enable connection filter (where argument) in the GraphQL API""" + enableConnectionFilter: Boolean + + """Enable ltree hierarchical data type support in the GraphQL API""" + enableLtree: Boolean + + """Enable LLM/AI integration features in the GraphQL API""" + enableLlm: Boolean -"""All input for the `deleteRelationProvision` mutation.""" -input DeleteRelationProvisionInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + Extensible JSON for additional settings that do not have dedicated columns """ - clientMutationId: String - - """Unique identifier for this relation provision row.""" - id: UUID! + options: JSON } -"""The output of our delete `LevelsModule` mutation.""" -type DeleteLevelsModulePayload { +"""The output of our update `Blueprint` mutation.""" +type UpdateBlueprintPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `LevelsModule` that was deleted by this mutation.""" - levelsModule: LevelsModule + """The `Blueprint` that was updated by this mutation.""" + blueprint: Blueprint """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `LevelsModule`. May be used by Relay 1.""" - levelsModuleEdge( - """The method to use when ordering `LevelsModule`.""" - orderBy: [LevelsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): LevelsModuleEdge + """An edge for our `Blueprint`. May be used by Relay 1.""" + blueprintEdge( + """The method to use when ordering `Blueprint`.""" + orderBy: [BlueprintOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintEdge } -"""All input for the `deleteLevelsModule` mutation.""" -input DeleteLevelsModuleInput { +"""All input for the `updateBlueprint` mutation.""" +input UpdateBlueprintInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String + + """Unique identifier for this blueprint.""" id: UUID! + + """ + An object where the defined keys will be set on the `Blueprint` being updated. + """ + blueprintPatch: BlueprintPatch! } -"""The output of our delete `UserAuthModule` mutation.""" -type DeleteUserAuthModulePayload { +""" +Represents an update to a `Blueprint`. Fields that are set will be updated. +""" +input BlueprintPatch { + """Unique identifier for this blueprint.""" + id: UUID + + """The user who owns this blueprint.""" + ownerId: UUID + """ - The exact same `clientMutationId` that was provided in the mutation input, - unchanged and unused. May be used by a client to track mutations. + The database this blueprint is scoped to. Tables created by construct_blueprint() are provisioned in this database. """ - clientMutationId: String + databaseId: UUID - """The `UserAuthModule` that was deleted by this mutation.""" - userAuthModule: UserAuthModule + """Machine-readable name for the blueprint. Must be unique per database.""" + name: String + + """Human-readable display name for the blueprint.""" + displayName: String + + """Optional description of the blueprint.""" + description: String """ - Our root query field type. Allows us to run any query from our mutation payload. + The blueprint definition as a JSONB document. Contains tables[] (each with table_name, optional schema_name, nodes[] for data behaviors, fields[], grants[], and policies[] using $type), relations[] (using $type with source_table/target_table and optional source_schema/target_schema), indexes[] (using table_name + column), and full_text_searches[] (using table_name + field + sources[]). Everything is name-based — no UUIDs in the definition. """ - query: Query + definition: JSON - """An edge for our `UserAuthModule`. May be used by Relay 1.""" - userAuthModuleEdge( - """The method to use when ordering `UserAuthModule`.""" - orderBy: [UserAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): UserAuthModuleEdge -} + """ + If this blueprint was created by copying a template, the ID of the source template. NULL if built from scratch. + """ + templateId: UUID -"""All input for the `deleteUserAuthModule` mutation.""" -input DeleteUserAuthModuleInput { """ - An arbitrary string value with no semantic meaning. Will be included in the - payload verbatim. May be used to track mutations by the client. + UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication and provenance tracking. Backend-computed — clients should never set this directly. """ - clientMutationId: String - id: UUID! + definitionHash: UUID + + """ + JSONB map of table names to their individual UUIDv5 content hashes. Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across blueprints and templates. Backend-computed via trigger. + """ + tableHashes: JSON + + """Timestamp when this blueprint was created.""" + createdAt: Datetime + + """Timestamp when this blueprint was last modified.""" + updatedAt: Datetime } -"""The output of our delete `Field` mutation.""" -type DeleteFieldPayload { +"""The output of our update `DenormalizedTableField` mutation.""" +type UpdateDenormalizedTableFieldPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `Field` that was deleted by this mutation.""" - field: Field + """The `DenormalizedTableField` that was updated by this mutation.""" + denormalizedTableField: DenormalizedTableField """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `Field`. May be used by Relay 1.""" - fieldEdge( - """The method to use when ordering `Field`.""" - orderBy: [FieldOrderBy!]! = [PRIMARY_KEY_ASC] - ): FieldEdge + """An edge for our `DenormalizedTableField`. May be used by Relay 1.""" + denormalizedTableFieldEdge( + """The method to use when ordering `DenormalizedTableField`.""" + orderBy: [DenormalizedTableFieldOrderBy!]! = [PRIMARY_KEY_ASC] + ): DenormalizedTableFieldEdge } -"""All input for the `deleteField` mutation.""" -input DeleteFieldInput { +"""All input for the `updateDenormalizedTableField` mutation.""" +input UpdateDenormalizedTableFieldInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String id: UUID! + + """ + An object where the defined keys will be set on the `DenormalizedTableField` being updated. + """ + denormalizedTableFieldPatch: DenormalizedTableFieldPatch! } -"""The output of our delete `MembershipsModule` mutation.""" -type DeleteMembershipsModulePayload { +""" +Represents an update to a `DenormalizedTableField`. Fields that are set will be updated. +""" +input DenormalizedTableFieldPatch { + id: UUID + databaseId: UUID + tableId: UUID + fieldId: UUID + setIds: [UUID] + refTableId: UUID + refFieldId: UUID + refIds: [UUID] + useUpdates: Boolean + updateDefaults: Boolean + funcName: String + funcOrder: Int +} + +"""The output of our update `ApiSetting` mutation.""" +type UpdateApiSettingPayload { """ The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations. """ clientMutationId: String - """The `MembershipsModule` that was deleted by this mutation.""" - membershipsModule: MembershipsModule + """The `ApiSetting` that was updated by this mutation.""" + apiSetting: ApiSetting """ Our root query field type. Allows us to run any query from our mutation payload. """ query: Query - """An edge for our `MembershipsModule`. May be used by Relay 1.""" - membershipsModuleEdge( - """The method to use when ordering `MembershipsModule`.""" - orderBy: [MembershipsModuleOrderBy!]! = [PRIMARY_KEY_ASC] - ): MembershipsModuleEdge + """An edge for our `ApiSetting`. May be used by Relay 1.""" + apiSettingEdge( + """The method to use when ordering `ApiSetting`.""" + orderBy: [ApiSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiSettingEdge } -"""All input for the `deleteMembershipsModule` mutation.""" -input DeleteMembershipsModuleInput { +"""All input for the `updateApiSetting` mutation.""" +input UpdateApiSettingInput { """ An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client. """ clientMutationId: String - id: UUID! -} -input RequestUploadUrlInput { - """Bucket key (e.g., "public", "private")""" - bucketKey: String! + """Unique identifier for this API settings record""" + id: UUID! """ - Owner entity ID for entity-scoped uploads. - Omit for app-level (database-wide) storage. - When provided, resolves the storage module for the entity type - that owns this entity instance (e.g., a data room ID, team ID). + An object where the defined keys will be set on the `ApiSetting` being updated. """ - ownerId: UUID - - """SHA-256 content hash computed by the client (hex-encoded, 64 chars)""" - contentHash: String! - - """MIME type of the file (e.g., "image/png")""" - contentType: String! - - """File size in bytes""" - size: Int! - - """Original filename (optional, for display and Content-Disposition)""" - filename: String + apiSettingPatch: ApiSettingPatch! } -type RequestUploadUrlPayload { - """Presigned PUT URL (null if file was deduplicated)""" - uploadUrl: String - - """The file ID (existing if deduplicated, new if fresh upload)""" - fileId: UUID! - - """The S3 object key""" - key: String! - - """Whether this file was deduplicated (already exists with same hash)""" - deduplicated: Boolean! +""" +Represents an update to a `ApiSetting`. Fields that are set will be updated. +""" +input ApiSettingPatch { + """Unique identifier for this API settings record""" + id: UUID - """Presigned URL expiry time (null if deduplicated)""" - expiresAt: Datetime -} + """Reference to the metaschema database""" + databaseId: UUID -"""The root query type which gives access points into the data universe.""" -type Query { - currentUserId: UUID - currentUserAgent: String - currentIpAddress: InternetAddress - requireStepUp(stepUpType: String): Boolean - appPermissionsGetPaddedMask(mask: BitString): BitString - orgPermissionsGetPaddedMask(mask: BitString): BitString - stepsAchieved(level: String, roleId: UUID): Boolean - revParse(dbId: UUID, storeId: UUID, refname: String): UUID + """API these settings override for""" + apiId: UUID """ - Resolves a field_name within a given table_id to a field_id. Throws if no match is found. Used by construct_blueprint to translate user-authored field names (e.g. "location") into field UUIDs for downstream provisioning procedures. table_id must already be resolved (via resolve_blueprint_table) before calling this. + Override: enable aggregate queries (NULL = inherit from database_settings) """ - resolveBlueprintField(databaseId: UUID, tableId: UUID, fieldName: String): UUID - orgIsManagerOf(pEntityId: UUID, pManagerId: UUID, pUserId: UUID, pMaxDepth: Int): Boolean - - """Reads and enables pagination through a set of `OrgGetManagersRecord`.""" - orgGetManagers( - pEntityId: UUID - pUserId: UUID - pMaxDepth: Int - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): OrgGetManagersConnection + enableAggregates: Boolean """ - Reads and enables pagination through a set of `OrgGetSubordinatesRecord`. + Override: enable PostGIS spatial types (NULL = inherit from database_settings) """ - orgGetSubordinates( - pEntityId: UUID - pUserId: UUID - pMaxDepth: Int - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): OrgGetSubordinatesConnection - appPermissionsGetMask(ids: [UUID]): BitString - orgPermissionsGetMask(ids: [UUID]): BitString + enablePostgis: Boolean """ - Resolves a table_name (with optional schema_name) to a table_id. Resolution order: (1) if schema_name provided, exact lookup via metaschema_public.schema.name + metaschema_public.table; (2) check local table_map (tables created in current blueprint); (3) search metaschema_public.table by name across all schemas; (4) if multiple matches, throw ambiguous error asking for schema_name; (5) if no match, throw not-found error. + Override: enable unified search (NULL = inherit from database_settings) """ - resolveBlueprintTable(databaseId: UUID, tableName: String, schemaName: String, tableMap: JSON, defaultSchemaId: UUID): UUID - - """Reads and enables pagination through a set of `GetAllRecord`.""" - getAll( - databaseId: UUID - id: UUID - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): GetAllConnection - appPermissionsGetMaskByNames(names: [String]): BitString - orgPermissionsGetMaskByNames(names: [String]): BitString - - """Reads and enables pagination through a set of `AppPermission`.""" - appPermissionsGetByMask( - mask: BitString - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): AppPermissionConnection + enableSearch: Boolean - """Reads and enables pagination through a set of `OrgPermission`.""" - orgPermissionsGetByMask( - mask: BitString - - """Only read the first `n` values of the set.""" - first: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) + """ + enableDirectUploads: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): OrgPermissionConnection + """ + Override: enable presigned URL upload flow (NULL = inherit from database_settings) + """ + enablePresignedUploads: Boolean - """Reads and enables pagination through a set of `Object`.""" - getAllObjectsFromRoot( - databaseId: UUID - id: UUID + """ + Override: enable many-to-many relationships (NULL = inherit from database_settings) + """ + enableManyToMany: Boolean - """Only read the first `n` values of the set.""" - first: Int + """ + Override: enable connection filter (NULL = inherit from database_settings) + """ + enableConnectionFilter: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Override: enable ltree hierarchical data type (NULL = inherit from database_settings) + """ + enableLtree: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): ObjectConnection - getNodeAtPath(databaseId: UUID, id: UUID, path: [String]): Object + """ + Override: enable LLM/AI integration features (NULL = inherit from database_settings) + """ + enableLlm: Boolean - """Reads and enables pagination through a set of `Object`.""" - getPathObjectsFromRoot( - databaseId: UUID - id: UUID - path: [String] + """ + Extensible JSON for additional per-API settings that do not have dedicated columns + """ + options: JSON +} - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `PlansModule` mutation.""" +type UpdatePlansModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `PlansModule` that was updated by this mutation.""" + plansModule: PlansModule - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): ObjectConnection - getObjectAtPath(dbId: UUID, storeId: UUID, path: [String], refname: String): Object + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `AppLevelRequirement`.""" - stepsRequired( - level: String - roleId: UUID + """An edge for our `PlansModule`. May be used by Relay 1.""" + plansModuleEdge( + """The method to use when ordering `PlansModule`.""" + orderBy: [PlansModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PlansModuleEdge +} - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `updatePlansModule` mutation.""" +input UpdatePlansModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `PlansModule` being updated. + """ + plansModulePatch: PlansModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor - ): AppLevelRequirementConnection - currentUser: User +""" +Represents an update to a `PlansModule`. Fields that are set will be updated. +""" +input PlansModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + plansTableId: UUID + plansTableName: String + planLimitsTableId: UUID + planLimitsTableName: String + planPricingTableId: UUID + planOverridesTableId: UUID + applyPlanFunction: String + applyPlanAggregateFunction: String + prefix: String +} - """Reads and enables pagination through a set of `DefaultIdsModule`.""" - defaultIdsModules( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `OrgMemberProfile` mutation.""" +type UpdateOrgMemberProfilePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgMemberProfile` that was updated by this mutation.""" + orgMemberProfile: OrgMemberProfile - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" + orgMemberProfileEdge( + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberProfileEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateOrgMemberProfile` mutation.""" +input UpdateOrgMemberProfileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DefaultIdsModuleFilter + """ + An object where the defined keys will be set on the `OrgMemberProfile` being updated. + """ + orgMemberProfilePatch: OrgMemberProfilePatch! +} - """The method to use when ordering `DefaultIdsModule`.""" - orderBy: [DefaultIdsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): DefaultIdsModuleConnection +""" +Represents an update to a `OrgMemberProfile`. Fields that are set will be updated. +""" +input OrgMemberProfilePatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime - """Reads and enables pagination through a set of `RoleType`.""" - roleTypes( - """Only read the first `n` values of the set.""" - first: Int + """References the membership this profile belongs to (1:1)""" + membershipId: UUID - """Only read the last `n` values of the set.""" - last: Int + """References the entity this profile belongs to (used for RLS lookups)""" + entityId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """References the user who owns this profile (for self-edit RLS)""" + actorId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Display name shown to other entity members""" + displayName: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Email address visible to other entity members (auto-populated from verified primary email) + """ + email: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RoleTypeFilter + """Job title or role description visible to other entity members""" + title: String - """The method to use when ordering `RoleType`.""" - orderBy: [RoleTypeOrderBy!] = [PRIMARY_KEY_ASC] - ): RoleTypeConnection + """Short biography visible to other entity members""" + bio: String - """Reads and enables pagination through a set of `ViewTable`.""" - viewTables( - """Only read the first `n` values of the set.""" - first: Int + """Profile picture visible to other entity members""" + profilePicture: ConstructiveInternalTypeImage - """Only read the last `n` values of the set.""" - last: Int + """Upload for Profile picture visible to other entity members""" + profilePictureUpload: Upload +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our update `AppLimit` mutation.""" +type UpdateAppLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `AppLimit` that was updated by this mutation.""" + appLimit: AppLimit - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewTableFilter + """An edge for our `AppLimit`. May be used by Relay 1.""" + appLimitEdge( + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitEdge +} - """The method to use when ordering `ViewTable`.""" - orderBy: [ViewTableOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewTableConnection +"""All input for the `updateAppLimit` mutation.""" +input UpdateAppLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Reads and enables pagination through a set of `ApiSchema`.""" - apiSchemas( - """Only read the first `n` values of the set.""" - first: Int + """ + An object where the defined keys will be set on the `AppLimit` being updated. + """ + appLimitPatch: AppLimitPatch! +} - """Only read the last `n` values of the set.""" - last: Int +""" +Represents an update to a `AppLimit`. Fields that are set will be updated. +""" +input AppLimitPatch { + id: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Name identifier of the limit being tracked""" + name: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """User whose usage is being tracked against this limit""" + actorId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Current usage count for this actor and limit""" + num: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ApiSchemaFilter + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt - """The method to use when ordering `ApiSchema`.""" - orderBy: [ApiSchemaOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiSchemaConnection + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt - """Reads and enables pagination through a set of `OrgMember`.""" - orgMembers( - """Only read the first `n` values of the set.""" - first: Int + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime - """Only read the last `n` values of the set.""" - last: Int + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMemberFilter +"""The output of our update `DatabaseTransfer` mutation.""" +type UpdateDatabaseTransferPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `OrgMember`.""" - orderBy: [OrgMemberOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberConnection + """The `DatabaseTransfer` that was updated by this mutation.""" + databaseTransfer: DatabaseTransfer - """Reads and enables pagination through a set of `SiteTheme`.""" - siteThemes( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `DatabaseTransfer`. May be used by Relay 1.""" + databaseTransferEdge( + """The method to use when ordering `DatabaseTransfer`.""" + orderBy: [DatabaseTransferOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseTransferEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateDatabaseTransfer` mutation.""" +input UpdateDatabaseTransferInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `DatabaseTransfer` being updated. + """ + databaseTransferPatch: DatabaseTransferPatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `DatabaseTransfer`. Fields that are set will be updated. +""" +input DatabaseTransferPatch { + id: UUID + databaseId: UUID + targetOwnerId: UUID + sourceApproved: Boolean + targetApproved: Boolean + sourceApprovedAt: Datetime + targetApprovedAt: Datetime + status: String + initiatedBy: UUID + notes: String + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime + completedAt: Datetime +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteThemeFilter +"""The output of our update `BillingModule` mutation.""" +type UpdateBillingModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `SiteTheme`.""" - orderBy: [SiteThemeOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteThemeConnection + """The `BillingModule` that was updated by this mutation.""" + billingModule: BillingModule - """Reads and enables pagination through a set of `IdentityProvider`.""" - identityProviders( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `BillingModule`. May be used by Relay 1.""" + billingModuleEdge( + """The method to use when ordering `BillingModule`.""" + orderBy: [BillingModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): BillingModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateBillingModule` mutation.""" +input UpdateBillingModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `BillingModule` being updated. + """ + billingModulePatch: BillingModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `BillingModule`. Fields that are set will be updated. +""" +input BillingModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + metersTableId: UUID + metersTableName: String + planSubscriptionsTableId: UUID + planSubscriptionsTableName: String + ledgerTableId: UUID + ledgerTableName: String + balancesTableId: UUID + balancesTableName: String + recordUsageFunction: String + prefix: String +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: IdentityProviderFilter +"""The output of our update `CryptoAuthModule` mutation.""" +type UpdateCryptoAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `IdentityProvider`.""" - orderBy: [IdentityProviderOrderBy!] = [NATURAL] - ): IdentityProviderConnection + """The `CryptoAuthModule` that was updated by this mutation.""" + cryptoAuthModule: CryptoAuthModule - """Reads and enables pagination through a set of `Ref`.""" - refs( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `CryptoAuthModule`. May be used by Relay 1.""" + cryptoAuthModuleEdge( + """The method to use when ordering `CryptoAuthModule`.""" + orderBy: [CryptoAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAuthModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateCryptoAuthModule` mutation.""" +input UpdateCryptoAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `CryptoAuthModule` being updated. + """ + cryptoAuthModulePatch: CryptoAuthModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `CryptoAuthModule`. Fields that are set will be updated. +""" +input CryptoAuthModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + usersTableId: UUID + secretsTableId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + addressesTableId: UUID + userField: String + cryptoNetwork: String + signInRequestChallenge: String + signInRecordFailure: String + signUpWithKey: String + signInWithChallenge: String +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RefFilter +"""The output of our update `DatabaseProvisionModule` mutation.""" +type UpdateDatabaseProvisionModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `Ref`.""" - orderBy: [RefOrderBy!] = [PRIMARY_KEY_ASC] - ): RefConnection + """The `DatabaseProvisionModule` that was updated by this mutation.""" + databaseProvisionModule: DatabaseProvisionModule - """Reads and enables pagination through a set of `Store`.""" - stores( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `DatabaseProvisionModule`. May be used by Relay 1.""" + databaseProvisionModuleEdge( + """The method to use when ordering `DatabaseProvisionModule`.""" + orderBy: [DatabaseProvisionModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseProvisionModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateDatabaseProvisionModule` mutation.""" +input UpdateDatabaseProvisionModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `DatabaseProvisionModule` being updated. + """ + databaseProvisionModulePatch: DatabaseProvisionModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `DatabaseProvisionModule`. Fields that are set will be updated. +""" +input DatabaseProvisionModulePatch { + id: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: StoreFilter + """The name for the new database""" + databaseName: String - """The method to use when ordering `Store`.""" - orderBy: [StoreOrderBy!] = [PRIMARY_KEY_ASC] - ): StoreConnection + """UUID of the user who owns this database""" + ownerId: UUID """ - Reads and enables pagination through a set of `EncryptedSecretsModule`. + Subdomain prefix for the database. If null, auto-generated using unique_names + random chars """ - encryptedSecretsModules( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int + subdomain: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Base domain for the database (e.g., example.com)""" + domain: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Array of module IDs to install, or ["all"] for all modules""" + modules: [String] - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Additional configuration options for provisioning""" + options: JSON - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EncryptedSecretsModuleFilter + """ + When true, copies the owner user and password hash from source database to the newly provisioned database + """ + bootstrapUser: Boolean - """The method to use when ordering `EncryptedSecretsModule`.""" - orderBy: [EncryptedSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): EncryptedSecretsModuleConnection + """Current status: pending, in_progress, completed, or failed""" + status: String + errorMessage: String - """Reads and enables pagination through a set of `MembershipTypesModule`.""" - membershipTypesModules( - """Only read the first `n` values of the set.""" - first: Int + """The ID of the provisioned database (set by trigger before RLS check)""" + databaseId: UUID + createdAt: Datetime + updatedAt: Datetime + completedAt: Datetime +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `InvitesModule` mutation.""" +type UpdateInvitesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `InvitesModule` that was updated by this mutation.""" + invitesModule: InvitesModule - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `InvitesModule`. May be used by Relay 1.""" + invitesModuleEdge( + """The method to use when ordering `InvitesModule`.""" + orderBy: [InvitesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): InvitesModuleEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: MembershipTypesModuleFilter +"""All input for the `updateInvitesModule` mutation.""" +input UpdateInvitesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """The method to use when ordering `MembershipTypesModule`.""" - orderBy: [MembershipTypesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): MembershipTypesModuleConnection + """ + An object where the defined keys will be set on the `InvitesModule` being updated. + """ + invitesModulePatch: InvitesModulePatch! +} - """Reads and enables pagination through a set of `SecretsModule`.""" - secretsModules( - """Only read the first `n` values of the set.""" - first: Int +""" +Represents an update to a `InvitesModule`. Fields that are set will be updated. +""" +input InvitesModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + emailsTableId: UUID + usersTableId: UUID + invitesTableId: UUID + claimedInvitesTableId: UUID + invitesTableName: String + claimedInvitesTableName: String + submitInviteCodeFunction: String + prefix: String + membershipType: Int + entityTableId: UUID +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `SecureTableProvision` mutation.""" +type UpdateSecureTableProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `SecureTableProvision` that was updated by this mutation.""" + secureTableProvision: SecureTableProvision - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `SecureTableProvision`. May be used by Relay 1.""" + secureTableProvisionEdge( + """The method to use when ordering `SecureTableProvision`.""" + orderBy: [SecureTableProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): SecureTableProvisionEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SecretsModuleFilter +"""All input for the `updateSecureTableProvision` mutation.""" +input UpdateSecureTableProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """The method to use when ordering `SecretsModule`.""" - orderBy: [SecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SecretsModuleConnection + """Unique identifier for this provision row.""" + id: UUID! - """Reads and enables pagination through a set of `AppPermissionDefault`.""" - appPermissionDefaults( - """Only read the first `n` values of the set.""" - first: Int + """ + An object where the defined keys will be set on the `SecureTableProvision` being updated. + """ + secureTableProvisionPatch: SecureTableProvisionPatch! +} - """Only read the last `n` values of the set.""" - last: Int +""" +Represents an update to a `SecureTableProvision`. Fields that are set will be updated. +""" +input SecureTableProvisionPatch { + """Unique identifier for this provision row.""" + id: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The database this provision belongs to. Required.""" + databaseId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Target schema for the table. Defaults to uuid_nil(); the trigger resolves this to the app_public schema if not explicitly provided. + """ + schemaId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Target table to provision. Defaults to uuid_nil(); the trigger creates or resolves the table via table_name if not explicitly provided. + """ + tableId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppPermissionDefaultFilter + """ + Name of the target table. Used to create or look up the table when table_id is not provided. If omitted, it is backfilled from the resolved table. + """ + tableName: String - """The method to use when ordering `AppPermissionDefault`.""" - orderBy: [AppPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): AppPermissionDefaultConnection + """ + Array of node objects to apply to the table. Each element is a jsonb object with a required "$type" key (one of: DataId, DataDirectOwner, DataEntityMembership, DataOwnershipInEntity, DataTimestamps, DataPeoplestamps, DataPublishable, DataSoftDelete, DataEmbedding, DataFullTextSearch, DataSlug, etc.) and an optional "data" key containing generator-specific configuration. Supports multiple nodes per row, matching the blueprint definition format. Example: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. Defaults to '[]' (no node processing). + """ + nodes: JSON - """Reads and enables pagination through a set of `ApiModule`.""" - apiModules( - """Only read the first `n` values of the set.""" - first: Int + """ + If true and Row Level Security is not yet enabled on the target table, enable it. Automatically set to true by the trigger when policies[] is non-empty. Defaults to true. + """ + useRls: Boolean - """Only read the last `n` values of the set.""" - last: Int + """ + PostgreSQL array of jsonb field definition objects to create on the target table. Each object has keys: "name" (text, required), "type" (text, required), "default" (text, optional), "is_required" (boolean, optional, defaults to false), "min" (float, optional), "max" (float, optional), "regexp" (text, optional), "index" (boolean, optional, defaults to false — creates a btree index on the field). min/max generate CHECK constraints: for text/citext they constrain character_length, for integer/float types they constrain the value. regexp generates a CHECK (col ~ pattern) constraint for text/citext. Fields are created via metaschema.create_field() after any node_type generator runs, and their IDs are appended to out_fields. Example: ARRAY['{"name":"username","type":"citext","max":256,"regexp":"^[a-z0-9_]+$"}'::jsonb, '{"name":"score","type":"integer","min":0,"max":100}'::jsonb]. Defaults to '{}' (no additional fields). + """ + fields: [JSON] - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Array of grant objects defining table privileges. Each element is a jsonb object with keys: "roles" (text[], required — database roles to grant to, e.g. ["authenticated","admin"]), "privileges" (jsonb[], required — array of [privilege, columns] tuples, e.g. [["select","*"],["insert","*"]]). "*" means all columns; an array means column-level grant. Supports per-role privilege targeting: different grant entries can target different roles with different privileges. Example: [{"roles":["authenticated"],"privileges":[["select","*"]]},{"roles":["admin"],"privileges":[["insert","*"],["update","*"],["delete","*"]]}]. Defaults to '[]' (no grants). When policies[] omit explicit privileges/policy_role, they fall back to the verbs and first role from grants[]. + """ + grants: JSON - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Array of policy objects to create on the target table. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type, e.g. AuthzEntityMembership, AuthzMembership, AuthzDirectOwner, AuthzPublishable, AuthzAllowAll), "data" (jsonb, optional — opaque configuration passed to metaschema.create_policy(), structure varies by type), "privileges" (text[], optional — privileges the policy applies to, e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — role the policy targets; if omitted, falls back to first role in first grants[] entry, or 'authenticated' if no grants), "permissive" (boolean, optional — PERMISSIVE or RESTRICTIVE; defaults to true), "policy_name" (text, optional — custom suffix for the generated policy name; if omitted, auto-derived from $type by stripping Authz prefix). Supports multiple policies per row. Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "owner_id", "membership_type": 3}, "privileges": ["select", "insert"]}, {"$type": "AuthzDirectOwner", "data": {"entity_field": "actor_id"}, "privileges": ["update", "delete"]}]. Defaults to '[]' (no policies created). When non-empty, the trigger automatically enables RLS. + """ + policies: JSON - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Output column populated by the trigger after field creation. Contains the UUIDs of the metaschema fields created on the target table by this provision row's nodes. NULL when nodes is empty or before the trigger runs. Callers should not set this directly. + """ + outFields: [UUID] +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ApiModuleFilter +"""The output of our update `OrgLimitAggregate` mutation.""" +type UpdateOrgLimitAggregatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `ApiModule`.""" - orderBy: [ApiModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiModuleConnection + """The `OrgLimitAggregate` that was updated by this mutation.""" + orgLimitAggregate: OrgLimitAggregate - """Reads and enables pagination through a set of `SiteModule`.""" - siteModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" + orgLimitAggregateEdge( + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateOrgLimitAggregate` mutation.""" +input UpdateOrgLimitAggregateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `OrgLimitAggregate` being updated. + """ + orgLimitAggregatePatch: OrgLimitAggregatePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `OrgLimitAggregate`. Fields that are set will be updated. +""" +input OrgLimitAggregatePatch { + id: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteModuleFilter + """Name identifier of the aggregate limit being tracked""" + name: String - """The method to use when ordering `SiteModule`.""" - orderBy: [SiteModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteModuleConnection + """Entity (org) whose aggregate usage is being tracked""" + entityId: UUID - """Reads and enables pagination through a set of `SchemaGrant`.""" - schemaGrants( - """Only read the first `n` values of the set.""" - first: Int + """Current aggregate usage count for this entity and limit""" + num: BigInt - """Only read the last `n` values of the set.""" - last: Int + """Maximum allowed aggregate usage; negative means unlimited""" + max: BigInt - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Soft limit threshold for warnings; NULL means no soft limit""" + softMax: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window + """ + windowDuration: IntervalInput - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SchemaGrantFilter + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt - """The method to use when ordering `SchemaGrant`.""" - orderBy: [SchemaGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): SchemaGrantConnection + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """Reads and enables pagination through a set of `TriggerFunction`.""" - triggerFunctions( - """Only read the first `n` values of the set.""" - first: Int + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt - """Only read the last `n` values of the set.""" - last: Int + """ + Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. + """ + reserved: BigInt +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our update `OrgLimit` mutation.""" +type UpdateOrgLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `OrgLimit` that was updated by this mutation.""" + orgLimit: OrgLimit - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: TriggerFunctionFilter + """An edge for our `OrgLimit`. May be used by Relay 1.""" + orgLimitEdge( + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitEdge +} - """The method to use when ordering `TriggerFunction`.""" - orderBy: [TriggerFunctionOrderBy!] = [PRIMARY_KEY_ASC] - ): TriggerFunctionConnection +"""All input for the `updateOrgLimit` mutation.""" +input UpdateOrgLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Reads and enables pagination through a set of `ViewRule`.""" - viewRules( - """Only read the first `n` values of the set.""" - first: Int + """ + An object where the defined keys will be set on the `OrgLimit` being updated. + """ + orgLimitPatch: OrgLimitPatch! +} - """Only read the last `n` values of the set.""" - last: Int +""" +Represents an update to a `OrgLimit`. Fields that are set will be updated. +""" +input OrgLimitPatch { + id: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Name identifier of the limit being tracked""" + name: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """User whose usage is being tracked against this limit""" + actorId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Current usage count for this actor and limit""" + num: BigInt - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewRuleFilter + """ + Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. + """ + max: BigInt - """The method to use when ordering `ViewRule`.""" - orderBy: [ViewRuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewRuleConnection + """ + Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. + """ + softMax: BigInt + + """Start of the current metering window; NULL means no time window""" + windowStart: Datetime """ - Reads and enables pagination through a set of `IdentityProvidersModule`. + Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window """ - identityProvidersModules( - """Only read the first `n` values of the set.""" - first: Int + windowDuration: IntervalInput - """Only read the last `n` values of the set.""" - last: Int + """ + Ceiling set by the active plan via apply_plan(). Window reset does not change this value. + """ + planMax: BigInt - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. + """ + purchasedCredits: BigInt - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Temporary credits for the current billing window. Resets to 0 on window expiry. + """ + periodCredits: BigInt + entityId: UUID +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `Enum` mutation.""" +type UpdateEnumPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: IdentityProvidersModuleFilter + """The `Enum` that was updated by this mutation.""" + enum: Enum - """The method to use when ordering `IdentityProvidersModule`.""" - orderBy: [IdentityProvidersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): IdentityProvidersModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `SessionSecretsModule`.""" - sessionSecretsModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `Enum`. May be used by Relay 1.""" + enumEdge( + """The method to use when ordering `Enum`.""" + orderBy: [EnumOrderBy!]! = [PRIMARY_KEY_ASC] + ): EnumEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateEnum` mutation.""" +input UpdateEnumInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `Enum` being updated. + """ + enumPatch: EnumPatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""Represents an update to a `Enum`. Fields that are set will be updated.""" +input EnumPatch { + id: UUID + databaseId: UUID + schemaId: UUID + name: String + label: String + description: String + values: [String] + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `User` mutation.""" +type UpdateUserPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SessionSecretsModuleFilter + """The `User` that was updated by this mutation.""" + user: User - """The method to use when ordering `SessionSecretsModule`.""" - orderBy: [SessionSecretsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionSecretsModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `AppAdminGrant`.""" - appAdminGrants( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `User`. May be used by Relay 1.""" + userEdge( + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateUser` mutation.""" +input UpdateUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `User` being updated. + """ + userPatch: UserPatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""Represents an update to a `User`. Fields that are set will be updated.""" +input UserPatch { + id: UUID + username: String + displayName: String + profilePicture: ConstructiveInternalTypeImage + type: Int + createdAt: Datetime + updatedAt: Datetime - """Read all values in the set after (below) this cursor.""" - after: Cursor + """File upload for the `profilePicture` field.""" + profilePictureUpload: Upload +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppAdminGrantFilter +"""The output of our update `View` mutation.""" +type UpdateViewPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `AppAdminGrant`.""" - orderBy: [AppAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAdminGrantConnection + """The `View` that was updated by this mutation.""" + view: View - """Reads and enables pagination through a set of `AppOwnerGrant`.""" - appOwnerGrants( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `View`. May be used by Relay 1.""" + viewEdge( + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateView` mutation.""" +input UpdateViewInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `View` being updated. + """ + viewPatch: ViewPatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""Represents an update to a `View`. Fields that are set will be updated.""" +input ViewPatch { + id: UUID + databaseId: UUID + schemaId: UUID + name: String + tableId: UUID + viewType: String + data: JSON + filterType: String + filterData: JSON + securityInvoker: Boolean + isReadOnly: Boolean + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppOwnerGrantFilter +"""The output of our update `WebauthnAuthModule` mutation.""" +type UpdateWebauthnAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `AppOwnerGrant`.""" - orderBy: [AppOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppOwnerGrantConnection + """The `WebauthnAuthModule` that was updated by this mutation.""" + webauthnAuthModule: WebauthnAuthModule - """Reads and enables pagination through a set of `AppAchievement`.""" - appAchievements( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `WebauthnAuthModule`. May be used by Relay 1.""" + webauthnAuthModuleEdge( + """The method to use when ordering `WebauthnAuthModule`.""" + orderBy: [WebauthnAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnAuthModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateWebauthnAuthModule` mutation.""" +input UpdateWebauthnAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `WebauthnAuthModule` being updated. + """ + webauthnAuthModulePatch: WebauthnAuthModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `WebauthnAuthModule`. Fields that are set will be updated. +""" +input WebauthnAuthModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + usersTableId: UUID + credentialsTableId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + sessionSecretsTableId: UUID + authSettingsTableId: UUID + rpId: String + rpName: String + originAllowlist: [String] + attestationType: String + requireUserVerification: Boolean + residentKey: String + challengeExpiry: IntervalInput +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppAchievementFilter +"""The output of our update `AppInvite` mutation.""" +type UpdateAppInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `AppAchievement`.""" - orderBy: [AppAchievementOrderBy!] = [PRIMARY_KEY_ASC] - ): AppAchievementConnection + """The `AppInvite` that was updated by this mutation.""" + appInvite: AppInvite - """Reads and enables pagination through a set of `AppStep`.""" - appSteps( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `AppInvite`. May be used by Relay 1.""" + appInviteEdge( + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppInviteEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateAppInvite` mutation.""" +input UpdateAppInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `AppInvite` being updated. + """ + appInvitePatch: AppInvitePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `AppInvite`. Fields that are set will be updated. +""" +input AppInvitePatch { + id: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppStepFilter + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """The method to use when ordering `AppStep`.""" - orderBy: [AppStepOrderBy!] = [PRIMARY_KEY_ASC] - ): AppStepConnection + """User ID of the member who sent this invitation""" + senderId: UUID - """Reads and enables pagination through a set of `OrgPermissionDefault`.""" - orgPermissionDefaults( - """Only read the first `n` values of the set.""" - first: Int + """Unique random hex token used to redeem this invitation""" + inviteToken: String - """Only read the last `n` values of the set.""" - last: Int + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Running count of how many times this invite has been claimed""" + inviteCount: Int - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgPermissionDefaultFilter + """Optional JSON payload of additional invite metadata""" + data: JSON - """The method to use when ordering `OrgPermissionDefault`.""" - orderBy: [OrgPermissionDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgPermissionDefaultConnection + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID - """Reads and enables pagination through a set of `AppPermission`.""" - appPermissions( - """Only read the first `n` values of the set.""" - first: Int + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `OrgMembershipSetting` mutation.""" +type UpdateOrgMembershipSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `OrgMembershipSetting` that was updated by this mutation.""" + orgMembershipSetting: OrgMembershipSetting - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" + orgMembershipSettingEdge( + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppPermissionFilter +"""All input for the `updateOrgMembershipSetting` mutation.""" +input UpdateOrgMembershipSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """The method to use when ordering `AppPermission`.""" - orderBy: [AppPermissionOrderBy!] = [PRIMARY_KEY_ASC] - ): AppPermissionConnection + """ + An object where the defined keys will be set on the `OrgMembershipSetting` being updated. + """ + orgMembershipSettingPatch: OrgMembershipSettingPatch! +} - """Reads and enables pagination through a set of `OrgPermission`.""" - orgPermissions( - """Only read the first `n` values of the set.""" - first: Int +""" +Represents an update to a `OrgMembershipSetting`. Fields that are set will be updated. +""" +input OrgMembershipSettingPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Only read the last `n` values of the set.""" - last: Int + """References the entity these settings apply to""" + entityId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + When a member is deleted, whether to cascade-remove their descendant-entity memberships + """ + deleteMemberCascadeChildren: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + When a child entity is created, whether to auto-add existing org-level owners as child-entity owners + """ + createChildCascadeOwners: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + When a child entity is created, whether to auto-add existing org-level admins as child-entity admins + """ + createChildCascadeAdmins: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgPermissionFilter + """ + When a child entity is created, whether to auto-add existing org-level members (non-admin, non-owner) as child-entity members + """ + createChildCascadeMembers: Boolean - """The method to use when ordering `OrgPermission`.""" - orderBy: [OrgPermissionOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgPermissionConnection + """ + Whether descendants of this org may admit members who are not already org members (outside-collaborators toggle) + """ + allowExternalMembers: Boolean - """Reads and enables pagination through a set of `MembershipType`.""" - membershipTypes( - """Only read the first `n` values of the set.""" - first: Int + """ + Controls how profile assignment on invites is validated: strict (permission + subset check), permission_only (permission only), or subset_only (subset check only) + """ + inviteProfileAssignmentMode: String - """Only read the last `n` values of the set.""" - last: Int + """ + Whether member_profiles.email is snapshot on join and kept synced with the user's primary email. When FALSE, the email field is left blank and never synced from the user's primary email. + """ + populateMemberEmail: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) + """ + limitAllocationMode: String +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our update `App` mutation.""" +type UpdateAppPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `App` that was updated by this mutation.""" + app: App - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: MembershipTypeFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `MembershipType`.""" - orderBy: [MembershipTypeOrderBy!] = [PRIMARY_KEY_ASC] - ): MembershipTypeConnection + """An edge for our `App`. May be used by Relay 1.""" + appEdge( + """The method to use when ordering `App`.""" + orderBy: [AppOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppEdge +} - """Reads and enables pagination through a set of `MigrateFile`.""" - migrateFiles( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `updateApp` mutation.""" +input UpdateAppInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """Unique identifier for this app""" + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `App` being updated. + """ + appPatch: AppPatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""Represents an update to a `App`. Fields that are set will be updated.""" +input AppPatch { + """Unique identifier for this app""" + id: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Reference to the metaschema database this app belongs to""" + databaseId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: MigrateFileFilter + """Site this app is associated with (one app per site)""" + siteId: UUID - """The method to use when ordering `MigrateFile`.""" - orderBy: [MigrateFileOrderBy!] = [NATURAL] - ): MigrateFileConnection + """Display name of the app""" + name: String - """Reads and enables pagination through a set of `DefaultPrivilege`.""" - defaultPrivileges( - """Only read the first `n` values of the set.""" - first: Int + """App icon or promotional image""" + appImage: ConstructiveInternalTypeImage - """Only read the last `n` values of the set.""" - last: Int + """URL to the Apple App Store listing""" + appStoreLink: ConstructiveInternalTypeUrl - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Apple App Store application identifier""" + appStoreId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Apple App ID prefix (Team ID) for universal links and associated domains + """ + appIdPrefix: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """URL to the Google Play Store listing""" + playStoreLink: ConstructiveInternalTypeUrl - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DefaultPrivilegeFilter + """Upload for App icon or promotional image""" + appImageUpload: Upload +} - """The method to use when ordering `DefaultPrivilege`.""" - orderBy: [DefaultPrivilegeOrderBy!] = [PRIMARY_KEY_ASC] - ): DefaultPrivilegeConnection +"""The output of our update `Site` mutation.""" +type UpdateSitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `ViewGrant`.""" - viewGrants( - """Only read the first `n` values of the set.""" - first: Int + """The `Site` that was updated by this mutation.""" + site: Site - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `Site`. May be used by Relay 1.""" + siteEdge( + """The method to use when ordering `Site`.""" + orderBy: [SiteOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `updateSite` mutation.""" +input UpdateSiteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Unique identifier for this site""" + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewGrantFilter + """ + An object where the defined keys will be set on the `Site` being updated. + """ + sitePatch: SitePatch! +} - """The method to use when ordering `ViewGrant`.""" - orderBy: [ViewGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewGrantConnection +"""Represents an update to a `Site`. Fields that are set will be updated.""" +input SitePatch { + """Unique identifier for this site""" + id: UUID - """Reads and enables pagination through a set of `Api`.""" - apis( - """Only read the first `n` values of the set.""" - first: Int + """Reference to the metaschema database this site belongs to""" + databaseId: UUID - """Only read the last `n` values of the set.""" - last: Int + """Display title for the site (max 120 characters)""" + title: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Short description of the site (max 120 characters)""" + description: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Open Graph image used for social media link previews""" + ogImage: ConstructiveInternalTypeImage - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Browser favicon attachment""" + favicon: ConstructiveInternalTypeAttachment - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ApiFilter + """Apple touch icon for iOS home screen bookmarks""" + appleTouchIcon: ConstructiveInternalTypeImage - """The method to use when ordering `Api`.""" - orderBy: [ApiOrderBy!] = [PRIMARY_KEY_ASC] - ): ApiConnection + """Primary logo image for the site""" + logo: ConstructiveInternalTypeImage - """ - Reads and enables pagination through a set of `ConnectedAccountsModule`. - """ - connectedAccountsModules( - """Only read the first `n` values of the set.""" - first: Int + """PostgreSQL database name this site connects to""" + dbname: String - """Only read the last `n` values of the set.""" - last: Int + """Upload for Open Graph image used for social media link previews""" + ogImageUpload: Upload - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Upload for Browser favicon attachment""" + faviconUpload: Upload - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Upload for Apple touch icon for iOS home screen bookmarks""" + appleTouchIconUpload: Upload - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Upload for Primary logo image for the site""" + logoUpload: Upload +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ConnectedAccountsModuleFilter +"""The output of our update `NotificationsModule` mutation.""" +type UpdateNotificationsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `ConnectedAccountsModule`.""" - orderBy: [ConnectedAccountsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ConnectedAccountsModuleConnection + """The `NotificationsModule` that was updated by this mutation.""" + notificationsModule: NotificationsModule - """Reads and enables pagination through a set of `DevicesModule`.""" - devicesModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `NotificationsModule`. May be used by Relay 1.""" + notificationsModuleEdge( + """The method to use when ordering `NotificationsModule`.""" + orderBy: [NotificationsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): NotificationsModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateNotificationsModule` mutation.""" +input UpdateNotificationsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `NotificationsModule` being updated. + """ + notificationsModulePatch: NotificationsModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `NotificationsModule`. Fields that are set will be updated. +""" +input NotificationsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + notificationsTableId: UUID + readStateTableId: UUID + preferencesTableId: UUID + channelsTableId: UUID + deliveryLogTableId: UUID + ownerTableId: UUID + userSettingsTableId: UUID + organizationSettingsTableId: UUID + hasChannels: Boolean + hasPreferences: Boolean + hasSettingsExtension: Boolean + hasDigestMetadata: Boolean + hasSubscriptions: Boolean +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DevicesModuleFilter +"""The output of our update `PermissionsModule` mutation.""" +type UpdatePermissionsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `DevicesModule`.""" - orderBy: [DevicesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): DevicesModuleConnection + """The `PermissionsModule` that was updated by this mutation.""" + permissionsModule: PermissionsModule - """Reads and enables pagination through a set of `EmailsModule`.""" - emailsModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `PermissionsModule`. May be used by Relay 1.""" + permissionsModuleEdge( + """The method to use when ordering `PermissionsModule`.""" + orderBy: [PermissionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PermissionsModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updatePermissionsModule` mutation.""" +input UpdatePermissionsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `PermissionsModule` being updated. + """ + permissionsModulePatch: PermissionsModulePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `PermissionsModule`. Fields that are set will be updated. +""" +input PermissionsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + tableName: String + defaultTableId: UUID + defaultTableName: String + bitlen: Int + membershipType: Int + entityTableId: UUID + actorTableId: UUID + prefix: String + getPaddedMask: String + getMask: String + getByMask: String + getMaskByName: String +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EmailsModuleFilter +"""The output of our update `WebauthnCredential` mutation.""" +type UpdateWebauthnCredentialPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `EmailsModule`.""" - orderBy: [EmailsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): EmailsModuleConnection + """The `WebauthnCredential` that was updated by this mutation.""" + webauthnCredential: WebauthnCredential - """Reads and enables pagination through a set of `PhoneNumbersModule`.""" - phoneNumbersModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `WebauthnCredential`. May be used by Relay 1.""" + webauthnCredentialEdge( + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `updateWebauthnCredential` mutation.""" +input UpdateWebauthnCredentialInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `WebauthnCredential` being updated. + """ + webauthnCredentialPatch: WebauthnCredentialPatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `WebauthnCredential`. Fields that are set will be updated. +""" +input WebauthnCredentialPatch { + id: UUID + ownerId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PhoneNumbersModuleFilter + """ + Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. + """ + credentialId: String - """The method to use when ordering `PhoneNumbersModule`.""" - orderBy: [PhoneNumbersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): PhoneNumbersModuleConnection + """COSE-encoded public key bytes from the authenticator attestation.""" + publicKey: Base64EncodedBinary - """Reads and enables pagination through a set of `UsersModule`.""" - usersModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. + """ + signCount: BigInt - """Only read the last `n` values of the set.""" - last: Int + """ + Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. + """ + webauthnUserId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. + """ + transports: [String] - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. + """ + credentialDeviceType: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. + """ + backupEligible: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UsersModuleFilter + """Current backup state; updated on each successful sign-in assertion.""" + backupState: Boolean - """The method to use when ordering `UsersModule`.""" - orderBy: [UsersModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): UsersModuleConnection + """ + User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. + """ + name: String """ - Reads and enables pagination through a set of `WebauthnCredentialsModule`. + Timestamp of the most recent successful sign-in assertion using this credential. """ - webauthnCredentialsModules( - """Only read the first `n` values of the set.""" - first: Int + lastUsedAt: Datetime + createdAt: Datetime + updatedAt: Datetime +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `PrimaryKeyConstraint` mutation.""" +type UpdatePrimaryKeyConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `PrimaryKeyConstraint` that was updated by this mutation.""" + primaryKeyConstraint: PrimaryKeyConstraint - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `PrimaryKeyConstraint`. May be used by Relay 1.""" + primaryKeyConstraintEdge( + """The method to use when ordering `PrimaryKeyConstraint`.""" + orderBy: [PrimaryKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): PrimaryKeyConstraintEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: WebauthnCredentialsModuleFilter +"""All input for the `updatePrimaryKeyConstraint` mutation.""" +input UpdatePrimaryKeyConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """The method to use when ordering `WebauthnCredentialsModule`.""" - orderBy: [WebauthnCredentialsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnCredentialsModuleConnection + """ + An object where the defined keys will be set on the `PrimaryKeyConstraint` being updated. + """ + primaryKeyConstraintPatch: PrimaryKeyConstraintPatch! +} + +""" +Represents an update to a `PrimaryKeyConstraint`. Fields that are set will be updated. +""" +input PrimaryKeyConstraintPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + type: String + fieldIds: [UUID] + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `OrgAdminGrant`.""" - orgAdminGrants( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `Trigger` mutation.""" +type UpdateTriggerPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `Trigger` that was updated by this mutation.""" + trigger: Trigger - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `Trigger`. May be used by Relay 1.""" + triggerEdge( + """The method to use when ordering `Trigger`.""" + orderBy: [TriggerOrderBy!]! = [PRIMARY_KEY_ASC] + ): TriggerEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateTrigger` mutation.""" +input UpdateTriggerInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgAdminGrantFilter + """ + An object where the defined keys will be set on the `Trigger` being updated. + """ + triggerPatch: TriggerPatch! +} - """The method to use when ordering `OrgAdminGrant`.""" - orderBy: [OrgAdminGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgAdminGrantConnection +""" +Represents an update to a `Trigger`. Fields that are set will be updated. +""" +input TriggerPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + event: String + functionName: String + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `OrgOwnerGrant`.""" - orgOwnerGrants( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `CheckConstraint` mutation.""" +type UpdateCheckConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `CheckConstraint` that was updated by this mutation.""" + checkConstraint: CheckConstraint - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `CheckConstraint`. May be used by Relay 1.""" + checkConstraintEdge( + """The method to use when ordering `CheckConstraint`.""" + orderBy: [CheckConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): CheckConstraintEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateCheckConstraint` mutation.""" +input UpdateCheckConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgOwnerGrantFilter + """ + An object where the defined keys will be set on the `CheckConstraint` being updated. + """ + checkConstraintPatch: CheckConstraintPatch! +} - """The method to use when ordering `OrgOwnerGrant`.""" - orderBy: [OrgOwnerGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgOwnerGrantConnection +""" +Represents an update to a `CheckConstraint`. Fields that are set will be updated. +""" +input CheckConstraintPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + type: String + fieldIds: [UUID] + expr: JSON + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `NodeTypeRegistry`.""" - nodeTypeRegistries( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `UniqueConstraint` mutation.""" +type UpdateUniqueConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `UniqueConstraint` that was updated by this mutation.""" + uniqueConstraint: UniqueConstraint - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `UniqueConstraint`. May be used by Relay 1.""" + uniqueConstraintEdge( + """The method to use when ordering `UniqueConstraint`.""" + orderBy: [UniqueConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): UniqueConstraintEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateUniqueConstraint` mutation.""" +input UpdateUniqueConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: NodeTypeRegistryFilter + """ + An object where the defined keys will be set on the `UniqueConstraint` being updated. + """ + uniqueConstraintPatch: UniqueConstraintPatch! +} - """The method to use when ordering `NodeTypeRegistry`.""" - orderBy: [NodeTypeRegistryOrderBy!] = [PRIMARY_KEY_ASC] - ): NodeTypeRegistryConnection +""" +Represents an update to a `UniqueConstraint`. Fields that are set will be updated. +""" +input UniqueConstraintPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + description: String + smartTags: JSON + type: String + fieldIds: [UUID] + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `AppLimitDefault`.""" - appLimitDefaults( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `SpatialRelation` mutation.""" +type UpdateSpatialRelationPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `SpatialRelation` that was updated by this mutation.""" + spatialRelation: SpatialRelation - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `SpatialRelation`. May be used by Relay 1.""" + spatialRelationEdge( + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!]! = [PRIMARY_KEY_ASC] + ): SpatialRelationEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateSpatialRelation` mutation.""" +input UpdateSpatialRelationInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLimitDefaultFilter + """ + An object where the defined keys will be set on the `SpatialRelation` being updated. + """ + spatialRelationPatch: SpatialRelationPatch! +} - """The method to use when ordering `AppLimitDefault`.""" - orderBy: [AppLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLimitDefaultConnection +""" +Represents an update to a `SpatialRelation`. Fields that are set will be updated. +""" +input SpatialRelationPatch { + id: UUID + databaseId: UUID + tableId: UUID + fieldId: UUID + refTableId: UUID + refFieldId: UUID + name: String + operator: String + paramName: String + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `OrgLimitDefault`.""" - orgLimitDefaults( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `Policy` mutation.""" +type UpdatePolicyPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `Policy` that was updated by this mutation.""" + policy: Policy - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `Policy`. May be used by Relay 1.""" + policyEdge( + """The method to use when ordering `Policy`.""" + orderBy: [PolicyOrderBy!]! = [PRIMARY_KEY_ASC] + ): PolicyEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updatePolicy` mutation.""" +input UpdatePolicyInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitDefaultFilter + """ + An object where the defined keys will be set on the `Policy` being updated. + """ + policyPatch: PolicyPatch! +} - """The method to use when ordering `OrgLimitDefault`.""" - orderBy: [OrgLimitDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitDefaultConnection +""" +Represents an update to a `Policy`. Fields that are set will be updated. +""" +input PolicyPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + granteeName: String + privilege: String + permissive: Boolean + disabled: Boolean + policyType: String + data: JSON + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `UserConnectedAccount`.""" - userConnectedAccounts( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `EmbeddingChunk` mutation.""" +type UpdateEmbeddingChunkPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `EmbeddingChunk` that was updated by this mutation.""" + embeddingChunk: EmbeddingChunk - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `EmbeddingChunk`. May be used by Relay 1.""" + embeddingChunkEdge( + """The method to use when ordering `EmbeddingChunk`.""" + orderBy: [EmbeddingChunkOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmbeddingChunkEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateEmbeddingChunk` mutation.""" +input UpdateEmbeddingChunkInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UserConnectedAccountFilter + """ + An object where the defined keys will be set on the `EmbeddingChunk` being updated. + """ + embeddingChunkPatch: EmbeddingChunkPatch! +} - """The method to use when ordering `UserConnectedAccount`.""" - orderBy: [UserConnectedAccountOrderBy!] = [NATURAL] - ): UserConnectedAccountConnection +""" +Represents an update to a `EmbeddingChunk`. Fields that are set will be updated. +""" +input EmbeddingChunkPatch { + id: UUID + databaseId: UUID + tableId: UUID + embeddingFieldId: UUID + chunksTableId: UUID + chunksTableName: String + contentFieldName: String + dimensions: Int + metric: String + chunkSize: Int + chunkOverlap: Int + chunkStrategy: String + metadataFields: JSON + enqueueChunkingJob: Boolean + chunkingTaskName: String + parentFkFieldId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `Database`.""" - databases( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `WebauthnSetting` mutation.""" +type UpdateWebauthnSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `WebauthnSetting` that was updated by this mutation.""" + webauthnSetting: WebauthnSetting - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `WebauthnSetting`. May be used by Relay 1.""" + webauthnSettingEdge( + """The method to use when ordering `WebauthnSetting`.""" + orderBy: [WebauthnSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnSettingEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateWebauthnSetting` mutation.""" +input UpdateWebauthnSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DatabaseFilter + """Unique identifier for this WebAuthn settings record""" + id: UUID! - """The method to use when ordering `Database`.""" - orderBy: [DatabaseOrderBy!] = [PRIMARY_KEY_ASC] - ): DatabaseConnection + """ + An object where the defined keys will be set on the `WebauthnSetting` being updated. + """ + webauthnSettingPatch: WebauthnSettingPatch! +} - """Reads and enables pagination through a set of `CryptoAddressesModule`.""" - cryptoAddressesModules( - """Only read the first `n` values of the set.""" - first: Int +""" +Represents an update to a `WebauthnSetting`. Fields that are set will be updated. +""" +input WebauthnSettingPatch { + """Unique identifier for this WebAuthn settings record""" + id: UUID - """Only read the last `n` values of the set.""" - last: Int + """Reference to the metaschema database""" + databaseId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) + """ + schemaId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Schema of the webauthn_credentials table (FK to metaschema_public.schema) + """ + credentialsSchemaId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Schema of the sessions table (FK to metaschema_public.schema)""" + sessionsSchemaId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CryptoAddressesModuleFilter + """Schema of the session_secrets table (FK to metaschema_public.schema)""" + sessionSecretsSchemaId: UUID - """The method to use when ordering `CryptoAddressesModule`.""" - orderBy: [CryptoAddressesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAddressesModuleConnection + """ + Reference to the webauthn_credentials table (FK to metaschema_public.table) + """ + credentialsTableId: UUID - """Reads and enables pagination through a set of `CryptoAddress`.""" - cryptoAddresses( - """Only read the first `n` values of the set.""" - first: Int + """Reference to the sessions table (FK to metaschema_public.table)""" + sessionsTableId: UUID - """Only read the last `n` values of the set.""" - last: Int + """ + Reference to the session_credentials table (FK to metaschema_public.table) + """ + sessionCredentialsTableId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Reference to the session_secrets table (FK to metaschema_public.table)""" + sessionSecretsTableId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Reference to the user field on webauthn_credentials (FK to metaschema_public.field) + """ + userFieldId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """WebAuthn Relying Party ID (typically the domain name)""" + rpId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CryptoAddressFilter + """WebAuthn Relying Party display name""" + rpName: String - """The method to use when ordering `CryptoAddress`.""" - orderBy: [CryptoAddressOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAddressConnection + """Allowed origins for WebAuthn registration and authentication""" + originAllowlist: [String] - """Reads and enables pagination through a set of `AgentMessage`.""" - agentMessages( - """Only read the first `n` values of the set.""" - first: Int + """Attestation conveyance preference (none, indirect, direct, enterprise)""" + attestationType: String - """Only read the last `n` values of the set.""" - last: Int + """Whether to require user verification (biometric/PIN) during auth""" + requireUserVerification: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Resident key requirement (discouraged, preferred, required)""" + residentKey: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Challenge TTL in seconds (default 300 = 5 minutes)""" + challengeExpirySeconds: BigInt +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `OrgInvite` mutation.""" +type UpdateOrgInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AgentMessageFilter + """The `OrgInvite` that was updated by this mutation.""" + orgInvite: OrgInvite - """The method to use when ordering `AgentMessage`.""" - orderBy: [AgentMessageOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentMessageConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `Object`.""" - objects( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `OrgInvite`. May be used by Relay 1.""" + orgInviteEdge( + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgInviteEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateOrgInvite` mutation.""" +input UpdateOrgInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `OrgInvite` being updated. + """ + orgInvitePatch: OrgInvitePatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +""" +Represents an update to a `OrgInvite`. Fields that are set will be updated. +""" +input OrgInvitePatch { + id: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Email address of the invited recipient""" + email: ConstructiveInternalTypeEmail - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ObjectFilter + """User ID of the member who sent this invitation""" + senderId: UUID - """The method to use when ordering `Object`.""" - orderBy: [ObjectOrderBy!] = [PRIMARY_KEY_ASC] - ): ObjectConnection + """User ID of the intended recipient, if targeting a specific user""" + receiverId: UUID - """Reads and enables pagination through a set of `SiteMetadatum`.""" - siteMetadata( - """Only read the first `n` values of the set.""" - first: Int + """Unique random hex token used to redeem this invitation""" + inviteToken: String - """Only read the last `n` values of the set.""" - last: Int + """Whether this invitation is still valid and can be redeemed""" + inviteValid: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Maximum number of times this invite can be claimed; -1 means unlimited""" + inviteLimit: Int - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Running count of how many times this invite has been claimed""" + inviteCount: Int - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Whether this invite can be claimed by multiple recipients""" + multiple: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteMetadatumFilter + """Optional JSON payload of additional invite metadata""" + data: JSON - """The method to use when ordering `SiteMetadatum`.""" - orderBy: [SiteMetadatumOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteMetadatumConnection + """ + Optional profile (role) to assign to the member when they claim this invite. Only allowed on email invites. + """ + profileId: UUID - """Reads and enables pagination through a set of `AppLevelRequirement`.""" - appLevelRequirements( - """Only read the first `n` values of the set.""" - first: Int + """Timestamp after which this invitation can no longer be redeemed""" + expiresAt: Datetime + createdAt: Datetime + updatedAt: Datetime + entityId: UUID +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `AppMembership` mutation.""" +type UpdateAppMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `AppMembership` that was updated by this mutation.""" + appMembership: AppMembership - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `AppMembership`. May be used by Relay 1.""" + appMembershipEdge( + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLevelRequirementFilter +"""All input for the `updateAppMembership` mutation.""" +input UpdateAppMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """The method to use when ordering `AppLevelRequirement`.""" - orderBy: [AppLevelRequirementOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLevelRequirementConnection + """ + An object where the defined keys will be set on the `AppMembership` being updated. + """ + appMembershipPatch: AppMembershipPatch! +} - """Reads and enables pagination through a set of `FullTextSearch`.""" - fullTextSearches( - """Only read the first `n` values of the set.""" - first: Int +""" +Represents an update to a `AppMembership`. Fields that are set will be updated. +""" +input AppMembershipPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Only read the last `n` values of the set.""" - last: Int + """Whether this membership has been approved by an admin""" + isApproved: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Whether this member has been banned from the entity""" + isBanned: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Whether this membership is temporarily disabled""" + isDisabled: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Whether this member has been verified (e.g. email confirmation)""" + isVerified: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: FullTextSearchFilter + """ + Computed field indicating the membership is approved, verified, not banned, and not disabled + """ + isActive: Boolean - """The method to use when ordering `FullTextSearch`.""" - orderBy: [FullTextSearchOrderBy!] = [PRIMARY_KEY_ASC] - ): FullTextSearchConnection + """Whether the actor is the owner of this entity""" + isOwner: Boolean - """Reads and enables pagination through a set of `TableGrant`.""" - tableGrants( - """Only read the first `n` values of the set.""" - first: Int + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean - """Only read the last `n` values of the set.""" - last: Int + """ + Aggregated permission bitmask combining profile-based and directly granted permissions + """ + permissions: BitString - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Bitmask of permissions directly granted to this member (not from profiles) + """ + granted: BitString - """Read all values in the set before (above) this cursor.""" - before: Cursor + """References the user who holds this membership""" + actorId: UUID + profileId: UUID +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `Schema` mutation.""" +type UpdateSchemaPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: TableGrantFilter + """The `Schema` that was updated by this mutation.""" + schema: Schema - """The method to use when ordering `TableGrant`.""" - orderBy: [TableGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): TableGrantConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `Commit`.""" - commits( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `Schema`. May be used by Relay 1.""" + schemaEdge( + """The method to use when ordering `Schema`.""" + orderBy: [SchemaOrderBy!]! = [PRIMARY_KEY_ASC] + ): SchemaEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateSchema` mutation.""" +input UpdateSchemaInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `Schema` being updated. + """ + schemaPatch: SchemaPatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +""" +Represents an update to a `Schema`. Fields that are set will be updated. +""" +input SchemaPatch { + id: UUID + databaseId: UUID + name: String + schemaName: String + label: String + description: String + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + isPublic: Boolean + createdAt: Datetime + updatedAt: Datetime +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `Index` mutation.""" +type UpdateIndexPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CommitFilter + """The `Index` that was updated by this mutation.""" + index: Index - """The method to use when ordering `Commit`.""" - orderBy: [CommitOrderBy!] = [PRIMARY_KEY_ASC] - ): CommitConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `RateLimitsModule`.""" - rateLimitsModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `Index`. May be used by Relay 1.""" + indexEdge( + """The method to use when ordering `Index`.""" + orderBy: [IndexOrderBy!]! = [PRIMARY_KEY_ASC] + ): IndexEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateIndex` mutation.""" +input UpdateIndexInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `Index` being updated. + """ + indexPatch: IndexPatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +""" +Represents an update to a `Index`. Fields that are set will be updated. +""" +input IndexPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + fieldIds: [UUID] + includeFieldIds: [UUID] + accessMethod: String + indexParams: JSON + whereClause: JSON + isUnique: Boolean + options: JSON + opClasses: [String] + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `BillingProviderModule` mutation.""" +type UpdateBillingProviderModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RateLimitsModuleFilter + """The `BillingProviderModule` that was updated by this mutation.""" + billingProviderModule: BillingProviderModule - """The method to use when ordering `RateLimitsModule`.""" - orderBy: [RateLimitsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): RateLimitsModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `OrgChartEdgeGrant`.""" - orgChartEdgeGrants( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `BillingProviderModule`. May be used by Relay 1.""" + billingProviderModuleEdge( + """The method to use when ordering `BillingProviderModule`.""" + orderBy: [BillingProviderModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): BillingProviderModuleEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateBillingProviderModule` mutation.""" +input UpdateBillingProviderModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + An object where the defined keys will be set on the `BillingProviderModule` being updated. + """ + billingProviderModulePatch: BillingProviderModulePatch! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +""" +Represents an update to a `BillingProviderModule`. Fields that are set will be updated. +""" +input BillingProviderModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + provider: String + productsTableId: UUID + pricesTableId: UUID + subscriptionsTableId: UUID + billingCustomersTableId: UUID + billingCustomersTableName: String + billingProductsTableId: UUID + billingProductsTableName: String + billingPricesTableId: UUID + billingPricesTableName: String + billingSubscriptionsTableId: UUID + billingSubscriptionsTableName: String + billingWebhookEventsTableId: UUID + billingWebhookEventsTableName: String + processBillingEventFunction: String + prefix: String +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `BlueprintTemplate` mutation.""" +type UpdateBlueprintTemplatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgChartEdgeGrantFilter + """The `BlueprintTemplate` that was updated by this mutation.""" + blueprintTemplate: BlueprintTemplate - """The method to use when ordering `OrgChartEdgeGrant`.""" - orderBy: [OrgChartEdgeGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeGrantConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `PhoneNumber`.""" - phoneNumbers( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `BlueprintTemplate`. May be used by Relay 1.""" + blueprintTemplateEdge( + """The method to use when ordering `BlueprintTemplate`.""" + orderBy: [BlueprintTemplateOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintTemplateEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateBlueprintTemplate` mutation.""" +input UpdateBlueprintTemplateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Unique identifier for this template.""" + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `BlueprintTemplate` being updated. + """ + blueprintTemplatePatch: BlueprintTemplatePatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `BlueprintTemplate`. Fields that are set will be updated. +""" +input BlueprintTemplatePatch { + """Unique identifier for this template.""" + id: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PhoneNumberFilter + """ + Machine-readable name for the template (e.g. e_commerce_basic). Must be unique per owner + version. + """ + name: String - """The method to use when ordering `PhoneNumber`.""" - orderBy: [PhoneNumberOrderBy!] = [PRIMARY_KEY_ASC] - ): PhoneNumberConnection + """Semantic version string. Defaults to 1.0.0.""" + version: String - """Reads and enables pagination through a set of `AppClaimedInvite`.""" - appClaimedInvites( - """Only read the first `n` values of the set.""" - first: Int + """Human-readable display name for the template (e.g. E-Commerce Basic).""" + displayName: String - """Only read the last `n` values of the set.""" - last: Int + """Optional description of what the template provisions.""" + description: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The user who created or published this template.""" + ownerId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Access control for the template. private: only the owner can see and copy. public: anyone can browse and copy from the marketplace. Defaults to private. + """ + visibility: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Domain categories for marketplace browsing (e.g. e-commerce, healthcare, social). Defaults to empty array. + """ + categories: [String] - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppClaimedInviteFilter + """ + Freeform tags for search and discovery (e.g. products, orders, payments). Defaults to empty array. + """ + tags: [String] - """The method to use when ordering `AppClaimedInvite`.""" - orderBy: [AppClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppClaimedInviteConnection + """ + The blueprint definition as a JSONB document. Contains tables[] (each with nodes[] for data behaviors via string shorthand or {"$type": "...", "data": {...}} objects, fields[], grants[], and policies[] using {"$type": "...", "data": {...}}), and relations[] (using $type for relation_type with junction config in data). This is the core payload that gets copied into a blueprint for execution. + """ + definition: JSON - """Reads and enables pagination through a set of `AppMembershipDefault`.""" - appMembershipDefaults( - """Only read the first `n` values of the set.""" - first: Int + """ + Version of the definition format schema. Used for forward-compatible parsing. Defaults to 1. + """ + definitionSchemaVersion: String - """Only read the last `n` values of the set.""" - last: Int + """ + Provenance of the template. user: manually created by a human. system: official curated template from the Constructive team. agent: AI-generated. Defaults to user. + """ + source: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Complexity indicator for marketplace filtering. simple: 3-5 tables. moderate: 6-12 tables. complex: 13+ tables. NULL if not categorized. + """ + complexity: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Denormalized count of how many blueprints have been created from this template via copy_template_to_blueprint(). Incremented automatically. Defaults to 0. + """ + copyCount: Int - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Denormalized count of how many derivative templates have been forked from this template. Defaults to 0. + """ + forkCount: Int - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppMembershipDefaultFilter + """ + If this template was forked from another template, the ID of the parent. NULL for original templates. + """ + forkedFromId: UUID - """The method to use when ordering `AppMembershipDefault`.""" - orderBy: [AppMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): AppMembershipDefaultConnection + """ + UUIDv5 Merkle root hash of the definition. Computed automatically via trigger from the ordered table_hashes. Used for content-addressable deduplication, provenance tracking, and cross-blueprint structural comparison. NULL columns are backend-computed — clients should never set this directly. + """ + definitionHash: UUID - """Reads and enables pagination through a set of `OrgMembershipDefault`.""" - orgMembershipDefaults( - """Only read the first `n` values of the set.""" - first: Int + """ + JSONB map of table ref names to their individual UUIDv5 content hashes (e.g. {"products": "uuid", "categories": "uuid"}). Each table hash is computed from the canonical jsonb::text of the table entry. Enables structural comparison at the table level across different blueprints. Backend-computed via trigger. + """ + tableHashes: JSON - """Only read the last `n` values of the set.""" - last: Int + """Timestamp when this template was created.""" + createdAt: Datetime - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Timestamp when this template was last modified.""" + updatedAt: Datetime +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our update `HierarchyModule` mutation.""" +type UpdateHierarchyModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `HierarchyModule` that was updated by this mutation.""" + hierarchyModule: HierarchyModule - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMembershipDefaultFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `OrgMembershipDefault`.""" - orderBy: [OrgMembershipDefaultOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipDefaultConnection + """An edge for our `HierarchyModule`. May be used by Relay 1.""" + hierarchyModuleEdge( + """The method to use when ordering `HierarchyModule`.""" + orderBy: [HierarchyModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): HierarchyModuleEdge +} - """Reads and enables pagination through a set of `AuditLog`.""" - auditLogs( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `updateHierarchyModule` mutation.""" +input UpdateHierarchyModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Only read the last `n` values of the set.""" - last: Int + """ + An object where the defined keys will be set on the `HierarchyModule` being updated. + """ + hierarchyModulePatch: HierarchyModulePatch! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +""" +Represents an update to a `HierarchyModule`. Fields that are set will be updated. +""" +input HierarchyModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + chartEdgesTableId: UUID + chartEdgesTableName: String + hierarchySprtTableId: UUID + hierarchySprtTableName: String + chartEdgeGrantsTableId: UUID + chartEdgeGrantsTableName: String + entityTableId: UUID + usersTableId: UUID + prefix: String + privateSchemaName: String + sprtTableName: String + rebuildHierarchyFunction: String + getSubordinatesFunction: String + getManagersFunction: String + isManagerOfFunction: String + createdAt: Datetime +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our update `ProfilesModule` mutation.""" +type UpdateProfilesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `ProfilesModule` that was updated by this mutation.""" + profilesModule: ProfilesModule - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AuditLogFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `AuditLog`.""" - orderBy: [AuditLogOrderBy!] = [PRIMARY_KEY_ASC] - ): AuditLogConnection + """An edge for our `ProfilesModule`. May be used by Relay 1.""" + profilesModuleEdge( + """The method to use when ordering `ProfilesModule`.""" + orderBy: [ProfilesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ProfilesModuleEdge +} - """Reads and enables pagination through a set of `Domain`.""" - domains( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `updateProfilesModule` mutation.""" +input UpdateProfilesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Only read the last `n` values of the set.""" - last: Int + """ + An object where the defined keys will be set on the `ProfilesModule` being updated. + """ + profilesModulePatch: ProfilesModulePatch! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +""" +Represents an update to a `ProfilesModule`. Fields that are set will be updated. +""" +input ProfilesModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + tableName: String + profilePermissionsTableId: UUID + profilePermissionsTableName: String + profileGrantsTableId: UUID + profileGrantsTableName: String + profileDefinitionGrantsTableId: UUID + profileDefinitionGrantsTableName: String + profileTemplatesTableId: UUID + profileTemplatesTableName: String + membershipType: Int + entityTableId: UUID + actorTableId: UUID + permissionsTableId: UUID + membershipsTableId: UUID + prefix: String +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our update `OrgMembership` mutation.""" +type UpdateOrgMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `OrgMembership` that was updated by this mutation.""" + orgMembership: OrgMembership - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DomainFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `Domain`.""" - orderBy: [DomainOrderBy!] = [PRIMARY_KEY_ASC] - ): DomainConnection + """An edge for our `OrgMembership`. May be used by Relay 1.""" + orgMembershipEdge( + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipEdge +} - """Reads and enables pagination through a set of `AgentTask`.""" - agentTasks( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `updateOrgMembership` mutation.""" +input UpdateOrgMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """Only read the last `n` values of the set.""" - last: Int + """ + An object where the defined keys will be set on the `OrgMembership` being updated. + """ + orgMembershipPatch: OrgMembershipPatch! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +""" +Represents an update to a `OrgMembership`. Fields that are set will be updated. +""" +input OrgMembershipPatch { + id: UUID + createdAt: Datetime + updatedAt: Datetime + createdBy: UUID + updatedBy: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Whether this membership has been approved by an admin""" + isApproved: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """Whether this member has been banned from the entity""" + isBanned: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AgentTaskFilter + """Whether this membership is temporarily disabled""" + isDisabled: Boolean - """The method to use when ordering `AgentTask`.""" - orderBy: [AgentTaskOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentTaskConnection + """ + Computed field indicating the membership is approved, verified, not banned, and not disabled + """ + isActive: Boolean - """Reads and enables pagination through a set of `AgentThread`.""" - agentThreads( - """Only read the first `n` values of the set.""" - first: Int + """ + Whether this member is external (not a member of the parent scope). External members may have restricted permissions. + """ + isExternal: Boolean - """Only read the last `n` values of the set.""" - last: Int + """Whether the actor is the owner of this entity""" + isOwner: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Whether the actor has admin privileges on this entity""" + isAdmin: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Aggregated permission bitmask combining profile-based and directly granted permissions + """ + permissions: BitString - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Bitmask of permissions directly granted to this member (not from profiles) + """ + granted: BitString - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AgentThreadFilter + """References the user who holds this membership""" + actorId: UUID - """The method to use when ordering `AgentThread`.""" - orderBy: [AgentThreadOrderBy!] = [PRIMARY_KEY_ASC] - ): AgentThreadConnection + """References the entity (org or group) this membership belongs to""" + entityId: UUID - """Reads and enables pagination through a set of `Email`.""" - emails( - """Only read the first `n` values of the set.""" - first: Int + """Whether this member has read-only access (blocks mutations when true)""" + isReadOnly: Boolean + profileId: UUID +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `ForeignKeyConstraint` mutation.""" +type UpdateForeignKeyConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `ForeignKeyConstraint` that was updated by this mutation.""" + foreignKeyConstraint: ForeignKeyConstraint - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `ForeignKeyConstraint`. May be used by Relay 1.""" + foreignKeyConstraintEdge( + """The method to use when ordering `ForeignKeyConstraint`.""" + orderBy: [ForeignKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): ForeignKeyConstraintEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EmailFilter +"""All input for the `updateForeignKeyConstraint` mutation.""" +input UpdateForeignKeyConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """The method to use when ordering `Email`.""" - orderBy: [EmailOrderBy!] = [PRIMARY_KEY_ASC] - ): EmailConnection + """ + An object where the defined keys will be set on the `ForeignKeyConstraint` being updated. + """ + foreignKeyConstraintPatch: ForeignKeyConstraintPatch! +} - """Reads and enables pagination through a set of `AppGrant`.""" - appGrants( - """Only read the first `n` values of the set.""" - first: Int +""" +Represents an update to a `ForeignKeyConstraint`. Fields that are set will be updated. +""" +input ForeignKeyConstraintPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + description: String + smartTags: JSON + type: String + fieldIds: [UUID] + refTableId: UUID + refFieldIds: [UUID] + deleteAction: String + updateAction: String + category: ObjectCategory + module: String + scope: Int + tags: [String] + createdAt: Datetime + updatedAt: Datetime +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `Table` mutation.""" +type UpdateTablePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `Table` that was updated by this mutation.""" + table: Table - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `Table`. May be used by Relay 1.""" + tableEdge( + """The method to use when ordering `Table`.""" + orderBy: [TableOrderBy!]! = [PRIMARY_KEY_ASC] + ): TableEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppGrantFilter +"""All input for the `updateTable` mutation.""" +input UpdateTableInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """The method to use when ordering `AppGrant`.""" - orderBy: [AppGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): AppGrantConnection + """ + An object where the defined keys will be set on the `Table` being updated. + """ + tablePatch: TablePatch! +} - """Reads and enables pagination through a set of `OrgClaimedInvite`.""" - orgClaimedInvites( - """Only read the first `n` values of the set.""" - first: Int +""" +Represents an update to a `Table`. Fields that are set will be updated. +""" +input TablePatch { + id: UUID + databaseId: UUID + schemaId: UUID + name: String + label: String + description: String + smartTags: JSON + category: ObjectCategory + module: String + scope: Int + useRls: Boolean + timestamps: Boolean + peoplestamps: Boolean + pluralName: String + singularName: String + tags: [String] + inheritsId: UUID + createdAt: Datetime + updatedAt: Datetime +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our update `RelationProvision` mutation.""" +type UpdateRelationProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `RelationProvision` that was updated by this mutation.""" + relationProvision: RelationProvision - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `RelationProvision`. May be used by Relay 1.""" + relationProvisionEdge( + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): RelationProvisionEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgClaimedInviteFilter +"""All input for the `updateRelationProvision` mutation.""" +input UpdateRelationProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """The method to use when ordering `OrgClaimedInvite`.""" - orderBy: [OrgClaimedInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgClaimedInviteConnection + """Unique identifier for this relation provision row.""" + id: UUID! - """Reads and enables pagination through a set of `AppLimitEvent`.""" - appLimitEvents( - """Only read the first `n` values of the set.""" - first: Int + """ + An object where the defined keys will be set on the `RelationProvision` being updated. + """ + relationProvisionPatch: RelationProvisionPatch! +} - """Only read the last `n` values of the set.""" - last: Int +""" +Represents an update to a `RelationProvision`. Fields that are set will be updated. +""" +input RelationProvisionPatch { + """Unique identifier for this relation provision row.""" + id: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + The database this relation belongs to. Required. Must match the database of both source_table_id and target_table_id. + """ + databaseId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + The type of relation to create. Uses SuperCase naming: + - RelationBelongsTo: creates a FK field on source_table referencing target_table (e.g., tasks belongs to projects -> tasks.project_id). Field name auto-derived from target table. + - RelationHasMany: creates a FK field on target_table referencing source_table (e.g., projects has many tasks -> tasks.project_id). Field name auto-derived from source table. Inverse of BelongsTo — same FK, different perspective. + - RelationHasOne: creates a FK field + unique constraint on source_table referencing target_table (e.g., user_settings has one user -> user_settings.user_id with UNIQUE). Also supports shared-primary-key patterns (e.g., user_profiles.id = users.id) by setting field_name to the existing PK field. + - RelationManyToMany: creates a junction table with FK fields to both tables (e.g., projects and tags -> project_tags table). + Each relation type uses a different subset of columns on this table. Required. + """ + relationType: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + The source table in the relation. Required. + - RelationBelongsTo: the table that receives the FK field (e.g., tasks in "tasks belongs to projects"). + - RelationHasMany: the parent table being referenced (e.g., projects in "projects has many tasks"). The FK field is created on the target table. + - RelationHasOne: the table that receives the FK field + unique constraint (e.g., user_settings in "user_settings has one user"). + - RelationManyToMany: one of the two tables being joined (e.g., projects in "projects and tags"). The junction table will have a FK field referencing this table. + """ + sourceTableId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLimitEventFilter + """ + The target table in the relation. Required. + - RelationBelongsTo: the table being referenced by the FK (e.g., projects in "tasks belongs to projects"). + - RelationHasMany: the table that receives the FK field (e.g., tasks in "projects has many tasks"). + - RelationHasOne: the table being referenced by the FK (e.g., users in "user_settings has one user"). + - RelationManyToMany: the other table being joined (e.g., tags in "projects and tags"). The junction table will have a FK field referencing this table. + """ + targetTableId: UUID - """The method to use when ordering `AppLimitEvent`.""" - orderBy: [AppLimitEventOrderBy!] = [NATURAL] - ): AppLimitEventConnection + """ + FK field name for RelationBelongsTo, RelationHasOne, and RelationHasMany. + - RelationBelongsTo/RelationHasOne: if NULL, auto-derived from the target table name (e.g., target "projects" derives "project_id"). + - RelationHasMany: if NULL, auto-derived from the source table name (e.g., source "projects" derives "project_id"). + For RelationHasOne shared-primary-key patterns, set field_name to the existing PK field (e.g., "id") so the FK reuses it. + Ignored for RelationManyToMany — use source_field_name/target_field_name instead. + """ + fieldName: String - """Reads and enables pagination through a set of `OrgLimitEvent`.""" - orgLimitEvents( - """Only read the first `n` values of the set.""" - first: Int + """ + FK delete action for RelationBelongsTo, RelationHasOne, and RelationHasMany. One of: c (CASCADE), r (RESTRICT), n (SET NULL), d (SET DEFAULT), a (NO ACTION). Required — the trigger raises an error if not provided. The caller must explicitly choose the cascade behavior; there is no default. Ignored for RelationManyToMany (junction FK fields always use CASCADE). + """ + deleteAction: String - """Only read the last `n` values of the set.""" - last: Int + """ + Whether the FK field is NOT NULL. Defaults to true. + - RelationBelongsTo: set to false for optional associations (e.g., tasks.assignee_id that can be NULL). + - RelationHasMany: set to false if the child can exist without a parent. + - RelationHasOne: typically true. + Ignored for RelationManyToMany (junction FK fields are always required). + """ + isRequired: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Whether the FK field should be required at the API level even though it is nullable at the database level. Defaults to false. + When true and is_required is false, the field is created as nullable (allowing SET NULL cascade) but a @requiredInput smart tag is added so PostGraphile treats it as non-null in create/update input types. + When is_required is true, api_required is ignored (the field is already required at both levels). + Ignored for RelationManyToMany (junction FK fields are always required). + """ + apiRequired: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + For RelationManyToMany: an existing junction table to use. Defaults to uuid_nil(). + - When uuid_nil(): the trigger creates a new junction table via secure_table_provision using junction_table_name. + - When set to a valid table UUID: the trigger skips table creation and only adds FK fields, composite key (if use_composite_key is true), and security to the existing table. + Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionTableId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + For RelationManyToMany: name of the junction table to create or look up. If NULL, auto-derived from source and target table names using inflection_db (e.g., "projects" + "tags" derives "project_tags"). Only used when junction_table_id is uuid_nil(). Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionTableName: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitEventFilter + """ + For RelationManyToMany: schema for the junction table. If NULL, defaults to the source table's schema. Ignored for RelationBelongsTo/RelationHasOne. + """ + junctionSchemaId: UUID - """The method to use when ordering `OrgLimitEvent`.""" - orderBy: [OrgLimitEventOrderBy!] = [NATURAL] - ): OrgLimitEventConnection + """ + For RelationManyToMany: FK field name on the junction table referencing the source table. If NULL, auto-derived from the source table name using inflection_db.get_foreign_key_field_name() (e.g., source table "projects" derives "project_id"). Ignored for RelationBelongsTo/RelationHasOne. + """ + sourceFieldName: String - """Reads and enables pagination through a set of `OrgChartEdge`.""" - orgChartEdges( - """Only read the first `n` values of the set.""" - first: Int + """ + For RelationManyToMany: FK field name on the junction table referencing the target table. If NULL, auto-derived from the target table name using inflection_db.get_foreign_key_field_name() (e.g., target table "tags" derives "tag_id"). Ignored for RelationBelongsTo/RelationHasOne. + """ + targetFieldName: String - """Only read the last `n` values of the set.""" - last: Int + """ + For RelationManyToMany: whether to create a composite primary key from the two FK fields (source + target) on the junction table. Defaults to false. + - When true: the trigger calls metaschema.pk() with ARRAY[source_field_id, target_field_id] to create a composite PK. No separate id column is created. This enforces uniqueness of the pair and is suitable for simple junction tables. + - When false: no primary key is created by the trigger. The caller should provide node_type='DataId' to create a UUID primary key, or handle the PK strategy via a separate secure_table_provision row. + use_composite_key and node_type='DataId' are mutually exclusive — using both would create two conflicting PKs. + Ignored for RelationBelongsTo/RelationHasOne. + """ + useCompositeKey: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Whether to create a btree index on FK fields created by this relation. Defaults to true. + PostgreSQL does not automatically index foreign key columns (only the referenced PK side is indexed). + Without indexes on FK columns, JOINs, CASCADE deletes, and RLS policy lookups perform sequential scans. + - RelationBelongsTo: creates an index on the FK field on the source table. + - RelationHasMany: creates an index on the FK field on the target table. + - RelationHasOne: skipped — the unique constraint already creates an implicit index. + - RelationManyToMany: creates indexes on both FK fields on the junction table. + Set to false only for very small tables or write-heavy tables where index maintenance cost outweighs read performance. + """ + createIndex: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + For RelationManyToMany: whether to expose the M:N shortcut fields in the GraphQL API. Defaults to true. + When true, sets @behavior +manyToMany on the junction table smart_tags so PostGraphile generates + clean M:N connection fields (e.g., event.contacts instead of event.contactEventsByEventId). + When false (or toggled off via UPDATE), the behavior tag is removed and the M:N fields disappear from GraphQL. + Toggling is supported: UPDATE expose_in_api to true/false and the smart tag is added/removed automatically. + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + exposeInApi: Boolean - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + For RelationManyToMany: array of node objects to apply to the junction table. Each element is a jsonb object with a required "$type" key and an optional "data" key. Forwarded to provision_table as-is. The trigger does not interpret or validate this value. + Examples: [{"$type": "DataId"}, {"$type": "DataTimestamps"}, {"$type": "DataDirectOwner", "data": {"owner_field_name": "author_id"}}]. + Defaults to '[]' (no node processing beyond the FK fields and composite key if use_composite_key is true). + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + nodes: JSON - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgChartEdgeFilter + """ + For RelationManyToMany: array of grant objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "roles" (text[], required), "privileges" (jsonb[], required — array of [privilege, columns] tuples). Example: [{"roles":["authenticated"],"privileges":[["select","*"],["insert","*"],["delete","*"]]}]. Defaults to '[]' (no grants). Ignored for RelationBelongsTo/RelationHasOne. + """ + grants: JSON - """The method to use when ordering `OrgChartEdge`.""" - orderBy: [OrgChartEdgeOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgChartEdgeConnection + """ + For RelationManyToMany: array of policy objects for the junction table. Forwarded to provision_table as-is. Each element is a jsonb object with keys: "$type" (text, required — the Authz* policy generator type), "data" (jsonb, optional — opaque config), "privileges" (text[], optional — e.g. ["select","insert"]; if omitted, derived from grants[] privilege verbs), "policy_role" (text, optional — falls back to first role in first grants[] entry, or 'authenticated'), "permissive" (boolean, optional, defaults to true), "policy_name" (text, optional). Supports multiple policies per row. + Example: [{"$type": "AuthzEntityMembership", "data": {"entity_field": "entity_id", "membership_type": 2}, "privileges": ["select", "insert", "delete"]}]. + Defaults to '[]' (no policies — the junction table will have RLS enabled but no policies unless added separately). + Ignored for RelationBelongsTo/RelationHasOne/RelationHasMany. + """ + policies: JSON - """Reads and enables pagination through a set of `AppLimit`.""" - appLimits( - """Only read the first `n` values of the set.""" - first: Int + """ + Output column for RelationBelongsTo/RelationHasOne/RelationHasMany: the UUID of the FK field created (or found). For BelongsTo/HasOne this is on the source table; for HasMany this is on the target table. Populated by the trigger. NULL for RelationManyToMany. Callers should not set this directly. + """ + outFieldId: UUID - """Only read the last `n` values of the set.""" - last: Int + """ + Output column for RelationManyToMany: the UUID of the junction table created (or found). Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. + """ + outJunctionTableId: UUID - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the source table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. + """ + outSourceFieldId: UUID - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Output column for RelationManyToMany: the UUID of the FK field on the junction table referencing the target table. Populated by the trigger. NULL for RelationBelongsTo/RelationHasOne. Callers should not set this directly. + """ + outTargetFieldId: UUID +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our update `EntityTypeProvision` mutation.""" +type UpdateEntityTypeProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLimitFilter + """The `EntityTypeProvision` that was updated by this mutation.""" + entityTypeProvision: EntityTypeProvision - """The method to use when ordering `AppLimit`.""" - orderBy: [AppLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLimitConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `OrgLimitAggregate`.""" - orgLimitAggregates( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `EntityTypeProvision`. May be used by Relay 1.""" + entityTypeProvisionEdge( + """The method to use when ordering `EntityTypeProvision`.""" + orderBy: [EntityTypeProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): EntityTypeProvisionEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `updateEntityTypeProvision` mutation.""" +input UpdateEntityTypeProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Unique identifier for this provision row.""" + id: UUID! - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + An object where the defined keys will be set on the `EntityTypeProvision` being updated. + """ + entityTypeProvisionPatch: EntityTypeProvisionPatch! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +""" +Represents an update to a `EntityTypeProvision`. Fields that are set will be updated. +""" +input EntityTypeProvisionPatch { + """Unique identifier for this provision row.""" + id: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitAggregateFilter + """The database to provision this entity type in. Required.""" + databaseId: UUID - """The method to use when ordering `OrgLimitAggregate`.""" - orderBy: [OrgLimitAggregateOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitAggregateConnection + """ + Human-readable name for this entity type, e.g. 'Data Room', 'Team Channel'. Required. + Stored in the entity_types registry table. + """ + name: String - """Reads and enables pagination through a set of `BlueprintConstruction`.""" - blueprintConstructions( - """Only read the first `n` values of the set.""" - first: Int + """ + SQL prefix used for table and module naming, e.g. 'data_room', 'team_channel'. Required. + Drives entity table name (prefix || 's' by default), module labels (permissions_module:prefix), + and membership table names (prefix_memberships, prefix_members, etc.). + Must be unique per database — the (database_id, prefix) constraint ensures graceful ON CONFLICT DO NOTHING. + """ + prefix: String - """Only read the last `n` values of the set.""" - last: Int + """ + Description of this entity type. Stored in the entity_types registry table. Defaults to empty string. + """ + description: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Prefix of the parent entity type. The trigger resolves this to a membership_type integer + by looking up memberships_module WHERE prefix = parent_entity. + Defaults to 'org' (the organization-level type). For nested types, set to the parent's prefix + (e.g. 'data_room' for a team_channel nested under data_room). + The parent type must already be provisioned before this INSERT. + """ + parentEntity: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Override the entity table name. When NULL (default), the table name is derived as prefix || 's' + (e.g. prefix 'data_room' produces table 'data_rooms'). + Set this when the pluralization rule doesn't apply (e.g. prefix 'staff' should produce 'staff' not 'staffs'). + """ + tableName: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Whether members of the parent entity can see child entities. Defaults to true. + When true: a SELECT policy allows parent members to list child entities (e.g. org members can see all data rooms). + When false: only direct members of the entity itself can see it (private entity mode). + Controls whether the parent_member SELECT policy is created on the entity table. + Only meaningful on the defaults path — ignored (no-op) when table_provision is non-NULL or + skip_entity_policies=true, since no default policies are being applied in those cases. + """ + isVisible: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BlueprintConstructionFilter + """ + Whether to apply limits_module security for this type. Defaults to false. + The limits_module table structure is always created (memberships_module requires it), + but when false, no RLS policies are applied to the limits tables. + Set to true if this entity type needs configurable resource limits per membership. + """ + hasLimits: Boolean - """The method to use when ordering `BlueprintConstruction`.""" - orderBy: [BlueprintConstructionOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintConstructionConnection + """ + Whether to provision profiles_module for this type. Defaults to false. + Profiles provide named permission roles (e.g. 'Editor', 'Viewer') with pre-configured permission bitmasks. + When true, creates profile tables and applies profiles security. + """ + hasProfiles: Boolean - """Reads and enables pagination through a set of `PlansModule`.""" - plansModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Whether to provision levels_module for this type. Defaults to false. + Levels provide gamification/achievement tracking for members. + When true, creates level steps, achievements, and level tables with security. + """ + hasLevels: Boolean - """Only read the last `n` values of the set.""" - last: Int + """ + Whether to provision storage_module for this type. Defaults to false. + When true, creates {prefix}_buckets and {prefix}_files tables + with entity-scoped RLS (AuthzEntityMembership) using the entity's membership_type. + Storage tables get owner_id FK to the entity table, so files are owned by the entity. + """ + hasStorage: Boolean - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Whether to provision invites_module for this type. Defaults to false. + When true, the trigger inserts a row into invites_module which in turn + (via insert_invites_module BEFORE INSERT) creates {prefix}_invites and + {prefix}_claimed_invites tables plus the submit_{prefix}_invite_code() function. + Symmetric counterpart of has_storage. Re-provisioning is idempotent: the + UNIQUE (database_id, membership_type) constraint on invites_module combined with + ON CONFLICT DO NOTHING in the fan-out makes repeated INSERTs safe. + """ + hasInvites: Boolean - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Optional jsonb object for storage module configuration and initial bucket seeding. + Only used when has_storage = true; ignored otherwise. NULL = use defaults. + Recognized keys (all optional): + - upload_url_expiry_seconds (integer) presigned PUT URL expiry override + - download_url_expiry_seconds (integer) presigned GET URL expiry override + - default_max_file_size (bigint) global max file size in bytes for this scope + - allowed_origins (text[]) default CORS origins for all buckets in this scope + - buckets (jsonb[]) array of initial bucket definitions to seed + Each bucket in the buckets array recognizes: + - name (text, required) bucket name e.g. 'documents' + - description (text) human-readable description + - is_public (boolean) whether files are publicly readable (default false) + - allowed_mime_types (text[]) whitelist of MIME types (null = any) + - max_file_size (bigint) max file size in bytes (null = use scope default) + - allowed_origins (text[]) per-bucket CORS override + - provisions (jsonb object) optional: customize storage tables + with additional nodes, fields, grants, and policies. + Keyed by table role: "files", "buckets". + Each value uses the same shape as table_provision: + { nodes, fields, grants, use_rls, policies }. Fanned out + to secure_table_provision targeting the corresponding table. + When a key includes policies[], those REPLACE the default + storage policies for that table; tables without a key still + get defaults. Missing "data" on policy entries is auto-populated + with storage-specific defaults (same as table_provision). + Example: add SearchBm25 for full-text search on files: + {"provisions": {"files": {"nodes": [{"$type": + "SearchBm25", "data": {"source_fields": ["description"]}}]}}} + Example: + storage_config := '{"buckets": [{"name": "documents", "is_public": false, "allowed_mime_types": ["application/pdf"]}], "provisions": {"files": {"nodes": [{"$type": "SearchBm25", "data": {"source_fields": ["description"]}}]}}}'::jsonb + """ + storageConfig: JSON - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Escape hatch: when true, apply zero RLS policies to the entity table. Defaults to false. + Use this only when you want the entity table provisioned with zero policies (e.g. because you + plan to insert secure_table_provision rows yourself later). In most cases, prefer leaving this + false and either accepting the five defaults (table_provision=NULL) or overriding them via + table_provision. + Defaults (applied when table_provision IS NULL and skip_entity_policies=false): + - SELECT (parent_member): parent entity members can see child entities (only when is_visible=true) + - SELECT (self_member): direct members of the entity can see it + - INSERT: create_entity permission on the parent entity + - UPDATE: admin_entity permission on the entity itself + - DELETE: owner of the entity can delete it + """ + skipEntityPolicies: Boolean - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PlansModuleFilter + """ + Single jsonb object describing the full security setup to apply to the entity table. + Uses the same vocabulary as metaschema_modules_public.provision_table() and blueprint tables[] + entries, so an entity table is configured the same way an ordinary blueprint table is. + Defaults to NULL; when non-NULL, the five default policies are implicitly replaced by + table_provision.policies[] (is_visible becomes a no-op on this path). + Recognized keys (all optional): + - use_rls (boolean, default true) + - nodes (jsonb array of {"$type","data"} Data* module entries) + - fields (jsonb array of field objects: name,type,is_required,default,min,max,regexp,index) + - grants (jsonb array of grant objects; each with roles[] and privileges[]) + - policies (jsonb array of policy objects; each with $type, privileges, data, name, role, permissive) + The trigger forwards all setup (nodes/fields/grants/policies) as a single secure_table_provision row + against the newly created entity table. + Example — override with two SELECT policies: + table_provision := jsonb_build_object( + 'policies', jsonb_build_array( + jsonb_build_object( + '$type', 'AuthzEntityMembership', + 'privileges', jsonb_build_array('select'), + 'data', jsonb_build_object('entity_field', 'id', 'membership_type', 3), + 'name', 'self_member' + ), + jsonb_build_object( + '$type', 'AuthzDirectOwner', + 'privileges', jsonb_build_array('select', 'update'), + 'data', jsonb_build_object('owner_field', 'owner_id') + ) + ) + ) + """ + tableProvision: JSON - """The method to use when ordering `PlansModule`.""" - orderBy: [PlansModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): PlansModuleConnection + """ + Output: the auto-assigned integer membership type ID. Populated by the trigger after successful provisioning. + This is the ID used in entity_types, memberships_module, and all module tables. + """ + outMembershipType: Int - """Reads and enables pagination through a set of `RlsModule`.""" - rlsModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Output: the UUID of the created entity table. Populated by the trigger. + Use this to reference the entity table in subsequent relation_provision or secure_table_provision rows. + """ + outEntityTableId: UUID - """Only read the last `n` values of the set.""" - last: Int + """ + Output: the name of the created entity table (e.g. 'data_rooms'). Populated by the trigger. + """ + outEntityTableName: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Output: array of installed module labels (e.g. ARRAY['permissions_module:data_room', 'memberships_module:data_room', 'invites_module:data_room']). + Populated by the trigger. Useful for verifying which modules were provisioned. + """ + outInstalledModules: [String] - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Output: the UUID of the storage_module row created for this entity type. Populated by the trigger when has_storage=true. + """ + outStorageModuleId: UUID - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Output: the UUID of the generated buckets table (e.g. data_room_buckets). Populated by the trigger when has_storage=true. + """ + outBucketsTableId: UUID - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RlsModuleFilter + """ + Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. + """ + outFilesTableId: UUID + outPathSharesTableId: UUID - """The method to use when ordering `RlsModule`.""" - orderBy: [RlsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): RlsModuleConnection + """ + Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. + NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING + (i.e. the invites_module row was created in a previous run). + """ + outInvitesModuleId: UUID +} - """Reads and enables pagination through a set of `SessionsModule`.""" - sessionsModules( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `LevelsModule` mutation.""" +type UpdateLevelsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `LevelsModule` that was updated by this mutation.""" + levelsModule: LevelsModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `LevelsModule`. May be used by Relay 1.""" + levelsModuleEdge( + """The method to use when ordering `LevelsModule`.""" + orderBy: [LevelsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): LevelsModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateLevelsModule` mutation.""" +input UpdateLevelsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SessionsModuleFilter + """ + An object where the defined keys will be set on the `LevelsModule` being updated. + """ + levelsModulePatch: LevelsModulePatch! +} - """The method to use when ordering `SessionsModule`.""" - orderBy: [SessionsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): SessionsModuleConnection +""" +Represents an update to a `LevelsModule`. Fields that are set will be updated. +""" +input LevelsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + stepsTableId: UUID + stepsTableName: String + achievementsTableId: UUID + achievementsTableName: String + levelsTableId: UUID + levelsTableName: String + levelRequirementsTableId: UUID + levelRequirementsTableName: String + completedStep: String + incompletedStep: String + tgAchievement: String + tgAchievementToggle: String + tgAchievementToggleBoolean: String + tgAchievementBoolean: String + upsertAchievement: String + tgUpdateAchievements: String + stepsRequired: String + levelAchieved: String + prefix: String + membershipType: Int + entityTableId: UUID + actorTableId: UUID +} - """Reads and enables pagination through a set of `OrgGrant`.""" - orgGrants( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `UserAuthModule` mutation.""" +type UpdateUserAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `UserAuthModule` that was updated by this mutation.""" + userAuthModule: UserAuthModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `UserAuthModule`. May be used by Relay 1.""" + userAuthModuleEdge( + """The method to use when ordering `UserAuthModule`.""" + orderBy: [UserAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserAuthModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateUserAuthModule` mutation.""" +input UpdateUserAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgGrantFilter + """ + An object where the defined keys will be set on the `UserAuthModule` being updated. + """ + userAuthModulePatch: UserAuthModulePatch! +} - """The method to use when ordering `OrgGrant`.""" - orderBy: [OrgGrantOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgGrantConnection +""" +Represents an update to a `UserAuthModule`. Fields that are set will be updated. +""" +input UserAuthModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + emailsTableId: UUID + usersTableId: UUID + secretsTableId: UUID + encryptedTableId: UUID + sessionsTableId: UUID + sessionCredentialsTableId: UUID + auditsTableId: UUID + auditsTableName: String + signInFunction: String + signUpFunction: String + signOutFunction: String + setPasswordFunction: String + resetPasswordFunction: String + forgotPasswordFunction: String + sendVerificationEmailFunction: String + verifyEmailFunction: String + verifyPasswordFunction: String + checkPasswordFunction: String + sendAccountDeletionEmailFunction: String + deleteAccountFunction: String + signInCrossOriginFunction: String + requestCrossOriginTokenFunction: String + extendTokenExpires: String +} - """Reads and enables pagination through a set of `AppLevel`.""" - appLevels( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `Field` mutation.""" +type UpdateFieldPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `Field` that was updated by this mutation.""" + field: Field - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `Field`. May be used by Relay 1.""" + fieldEdge( + """The method to use when ordering `Field`.""" + orderBy: [FieldOrderBy!]! = [PRIMARY_KEY_ASC] + ): FieldEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateField` mutation.""" +input UpdateFieldInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppLevelFilter + """ + An object where the defined keys will be set on the `Field` being updated. + """ + fieldPatch: FieldPatch! +} - """The method to use when ordering `AppLevel`.""" - orderBy: [AppLevelOrderBy!] = [PRIMARY_KEY_ASC] - ): AppLevelConnection +""" +Represents an update to a `Field`. Fields that are set will be updated. +""" +input FieldPatch { + id: UUID + databaseId: UUID + tableId: UUID + name: String + label: String + description: String + smartTags: JSON + isRequired: Boolean + apiRequired: Boolean + defaultValue: String + defaultValueAst: JSON + type: String + fieldOrder: Int + regexp: String + chk: JSON + chkExpr: JSON + min: Float + max: Float + tags: [String] + category: ObjectCategory + module: String + scope: Int + createdAt: Datetime + updatedAt: Datetime +} - """Reads and enables pagination through a set of `OrgLimit`.""" - orgLimits( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `LimitsModule` mutation.""" +type UpdateLimitsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `LimitsModule` that was updated by this mutation.""" + limitsModule: LimitsModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `LimitsModule`. May be used by Relay 1.""" + limitsModuleEdge( + """The method to use when ordering `LimitsModule`.""" + orderBy: [LimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): LimitsModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateLimitsModule` mutation.""" +input UpdateLimitsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgLimitFilter + """ + An object where the defined keys will be set on the `LimitsModule` being updated. + """ + limitsModulePatch: LimitsModulePatch! +} - """The method to use when ordering `OrgLimit`.""" - orderBy: [OrgLimitOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgLimitConnection +""" +Represents an update to a `LimitsModule`. Fields that are set will be updated. +""" +input LimitsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + tableId: UUID + tableName: String + defaultTableId: UUID + defaultTableName: String + limitIncrementFunction: String + limitDecrementFunction: String + limitIncrementTrigger: String + limitDecrementTrigger: String + limitUpdateTrigger: String + limitCheckFunction: String + limitCreditsTableId: UUID + eventsTableId: UUID + creditCodesTableId: UUID + creditCodeItemsTableId: UUID + creditRedemptionsTableId: UUID + aggregateTableId: UUID + limitCapsTableId: UUID + limitCapsDefaultsTableId: UUID + capCheckTrigger: String + resolveCapFunction: String + prefix: String + membershipType: Int + entityTableId: UUID + actorTableId: UUID +} - """Reads and enables pagination through a set of `Blueprint`.""" - blueprints( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our update `StorageModule` mutation.""" +type UpdateStorageModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `StorageModule` that was updated by this mutation.""" + storageModule: StorageModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `StorageModule`. May be used by Relay 1.""" + storageModuleEdge( + """The method to use when ordering `StorageModule`.""" + orderBy: [StorageModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): StorageModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateStorageModule` mutation.""" +input UpdateStorageModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BlueprintFilter + """ + An object where the defined keys will be set on the `StorageModule` being updated. + """ + storageModulePatch: StorageModulePatch! +} - """The method to use when ordering `Blueprint`.""" - orderBy: [BlueprintOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintConnection +""" +Represents an update to a `StorageModule`. Fields that are set will be updated. +""" +input StorageModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + bucketsTableId: UUID + filesTableId: UUID + bucketsTableName: String + filesTableName: String + membershipType: Int + policies: JSON + skipDefaultPolicyTables: [String] + entityTableId: UUID + endpoint: String + publicUrlPrefix: String + provider: String + allowedOrigins: [String] + restrictReads: Boolean + hasPathShares: Boolean + pathSharesTableId: UUID + uploadUrlExpirySeconds: Int + downloadUrlExpirySeconds: Int + defaultMaxFileSize: BigInt + maxFilenameLength: Int + cacheTtlSeconds: Int + maxBulkFiles: Int + maxBulkTotalSize: BigInt + hasVersioning: Boolean + hasContentHash: Boolean + hasCustomKeys: Boolean + hasAuditLog: Boolean + fileEventsTableId: UUID +} +"""The output of our update `MembershipsModule` mutation.""" +type UpdateMembershipsModulePayload { """ - Reads and enables pagination through a set of `DenormalizedTableField`. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - denormalizedTableFields( - """Only read the first `n` values of the set.""" - first: Int + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `MembershipsModule` that was updated by this mutation.""" + membershipsModule: MembershipsModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `MembershipsModule`. May be used by Relay 1.""" + membershipsModuleEdge( + """The method to use when ordering `MembershipsModule`.""" + orderBy: [MembershipsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipsModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `updateMembershipsModule` mutation.""" +input UpdateMembershipsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DenormalizedTableFieldFilter + """ + An object where the defined keys will be set on the `MembershipsModule` being updated. + """ + membershipsModulePatch: MembershipsModulePatch! +} - """The method to use when ordering `DenormalizedTableField`.""" - orderBy: [DenormalizedTableFieldOrderBy!] = [PRIMARY_KEY_ASC] - ): DenormalizedTableFieldConnection +""" +Represents an update to a `MembershipsModule`. Fields that are set will be updated. +""" +input MembershipsModulePatch { + id: UUID + databaseId: UUID + schemaId: UUID + privateSchemaId: UUID + membershipsTableId: UUID + membershipsTableName: String + membersTableId: UUID + membersTableName: String + membershipDefaultsTableId: UUID + membershipDefaultsTableName: String + membershipSettingsTableId: UUID + membershipSettingsTableName: String + grantsTableId: UUID + grantsTableName: String + actorTableId: UUID + limitsTableId: UUID + defaultLimitsTableId: UUID + permissionsTableId: UUID + defaultPermissionsTableId: UUID + sprtTableId: UUID + adminGrantsTableId: UUID + adminGrantsTableName: String + ownerGrantsTableId: UUID + ownerGrantsTableName: String + membershipType: Int + entityTableId: UUID + entityTableOwnerId: UUID + prefix: String + actorMaskCheck: String + actorPermCheck: String + entityIdsByMask: String + entityIdsByPerm: String + entityIdsFunction: String + memberProfilesTableId: UUID +} - """Reads and enables pagination through a set of `OrgMemberProfile`.""" - orgMemberProfiles( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `DefaultIdsModule` mutation.""" +type DeleteDefaultIdsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `DefaultIdsModule` that was deleted by this mutation.""" + defaultIdsModule: DefaultIdsModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `DefaultIdsModule`. May be used by Relay 1.""" + defaultIdsModuleEdge( + """The method to use when ordering `DefaultIdsModule`.""" + orderBy: [DefaultIdsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DefaultIdsModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteDefaultIdsModule` mutation.""" +input DeleteDefaultIdsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMemberProfileFilter +"""The output of our delete `RoleType` mutation.""" +type DeleteRoleTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `OrgMemberProfile`.""" - orderBy: [OrgMemberProfileOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMemberProfileConnection + """The `RoleType` that was deleted by this mutation.""" + roleType: RoleType - """Reads and enables pagination through a set of `SqlAction`.""" - sqlActions( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `RoleType`. May be used by Relay 1.""" + roleTypeEdge( + """The method to use when ordering `RoleType`.""" + orderBy: [RoleTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): RoleTypeEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteRoleType` mutation.""" +input DeleteRoleTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: Int! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `AppLimitCreditRedemption` mutation.""" +type DeleteAppLimitCreditRedemptionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `AppLimitCreditRedemption` that was deleted by this mutation.""" + appLimitCreditRedemption: AppLimitCreditRedemption - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SqlActionFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `SqlAction`.""" - orderBy: [SqlActionOrderBy!] = [NATURAL] - ): SqlActionConnection + """An edge for our `AppLimitCreditRedemption`. May be used by Relay 1.""" + appLimitCreditRedemptionEdge( + """The method to use when ordering `AppLimitCreditRedemption`.""" + orderBy: [AppLimitCreditRedemptionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditRedemptionEdge +} - """Reads and enables pagination through a set of `DatabaseTransfer`.""" - databaseTransfers( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteAppLimitCreditRedemption` mutation.""" +input DeleteAppLimitCreditRedemptionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `Function` mutation.""" +type DeleteFunctionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `Function` that was deleted by this mutation.""" + function: Function - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `Function`. May be used by Relay 1.""" + functionEdge( + """The method to use when ordering `Function`.""" + orderBy: [FunctionOrderBy!]! = [PRIMARY_KEY_ASC] + ): FunctionEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DatabaseTransferFilter +"""All input for the `deleteFunction` mutation.""" +input DeleteFunctionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """The method to use when ordering `DatabaseTransfer`.""" - orderBy: [DatabaseTransferOrderBy!] = [PRIMARY_KEY_ASC] - ): DatabaseTransferConnection +"""The output of our delete `ViewTable` mutation.""" +type DeleteViewTablePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `BillingModule`.""" - billingModules( - """Only read the first `n` values of the set.""" - first: Int + """The `ViewTable` that was deleted by this mutation.""" + viewTable: ViewTable - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `ViewTable`. May be used by Relay 1.""" + viewTableEdge( + """The method to use when ordering `ViewTable`.""" + orderBy: [ViewTableOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewTableEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteViewTable` mutation.""" +input DeleteViewTableInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `ApiSchema` mutation.""" +type DeleteApiSchemaPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BillingModuleFilter + """The `ApiSchema` that was deleted by this mutation.""" + apiSchema: ApiSchema - """The method to use when ordering `BillingModule`.""" - orderBy: [BillingModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): BillingModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `CryptoAuthModule`.""" - cryptoAuthModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `ApiSchema`. May be used by Relay 1.""" + apiSchemaEdge( + """The method to use when ordering `ApiSchema`.""" + orderBy: [ApiSchemaOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiSchemaEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteApiSchema` mutation.""" +input DeleteApiSchemaInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Unique identifier for this API-schema mapping""" + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `CorsSetting` mutation.""" +type DeleteCorsSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `CorsSetting` that was deleted by this mutation.""" + corsSetting: CorsSetting - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CryptoAuthModuleFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `CryptoAuthModule`.""" - orderBy: [CryptoAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): CryptoAuthModuleConnection + """An edge for our `CorsSetting`. May be used by Relay 1.""" + corsSettingEdge( + """The method to use when ordering `CorsSetting`.""" + orderBy: [CorsSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): CorsSettingEdge +} +"""All input for the `deleteCorsSetting` mutation.""" +input DeleteCorsSettingInput { """ - Reads and enables pagination through a set of `DatabaseProvisionModule`. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - databaseProvisionModules( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Unique identifier for this CORS settings record""" + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `OrgMember` mutation.""" +type DeleteOrgMemberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `OrgMember` that was deleted by this mutation.""" + orgMember: OrgMember - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: DatabaseProvisionModuleFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `DatabaseProvisionModule`.""" - orderBy: [DatabaseProvisionModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): DatabaseProvisionModuleConnection + """An edge for our `OrgMember`. May be used by Relay 1.""" + orgMemberEdge( + """The method to use when ordering `OrgMember`.""" + orderBy: [OrgMemberOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberEdge +} - """Reads and enables pagination through a set of `InvitesModule`.""" - invitesModules( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteOrgMember` mutation.""" +input DeleteOrgMemberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `SiteTheme` mutation.""" +type DeleteSiteThemePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `SiteTheme` that was deleted by this mutation.""" + siteTheme: SiteTheme - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `SiteTheme`. May be used by Relay 1.""" + siteThemeEdge( + """The method to use when ordering `SiteTheme`.""" + orderBy: [SiteThemeOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteThemeEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: InvitesModuleFilter +"""All input for the `deleteSiteTheme` mutation.""" +input DeleteSiteThemeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """The method to use when ordering `InvitesModule`.""" - orderBy: [InvitesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): InvitesModuleConnection + """Unique identifier for this theme record""" + id: UUID! +} - """Reads and enables pagination through a set of `SecureTableProvision`.""" - secureTableProvisions( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `Ref` mutation.""" +type DeleteRefPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `Ref` that was deleted by this mutation.""" + ref: Ref - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `Ref`. May be used by Relay 1.""" + refEdge( + """The method to use when ordering `Ref`.""" + orderBy: [RefOrderBy!]! = [PRIMARY_KEY_ASC] + ): RefEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteRef` mutation.""" +input DeleteRefInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SecureTableProvisionFilter + """The primary unique identifier for the ref.""" + id: UUID! + databaseId: UUID! +} - """The method to use when ordering `SecureTableProvision`.""" - orderBy: [SecureTableProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): SecureTableProvisionConnection +"""The output of our delete `Store` mutation.""" +type DeleteStorePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `AstMigration`.""" - astMigrations( - """Only read the first `n` values of the set.""" - first: Int + """The `Store` that was deleted by this mutation.""" + store: Store - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `Store`. May be used by Relay 1.""" + storeEdge( + """The method to use when ordering `Store`.""" + orderBy: [StoreOrderBy!]! = [PRIMARY_KEY_ASC] + ): StoreEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteStore` mutation.""" +input DeleteStoreInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The primary unique identifier for the store.""" + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AstMigrationFilter +"""The output of our delete `EncryptedSecretsModule` mutation.""" +type DeleteEncryptedSecretsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `AstMigration`.""" - orderBy: [AstMigrationOrderBy!] = [NATURAL] - ): AstMigrationConnection + """The `EncryptedSecretsModule` that was deleted by this mutation.""" + encryptedSecretsModule: EncryptedSecretsModule - """Reads and enables pagination through a set of `Enum`.""" - enums( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `EncryptedSecretsModule`. May be used by Relay 1.""" + encryptedSecretsModuleEdge( + """The method to use when ordering `EncryptedSecretsModule`.""" + orderBy: [EncryptedSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): EncryptedSecretsModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteEncryptedSecretsModule` mutation.""" +input DeleteEncryptedSecretsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `MembershipTypesModule` mutation.""" +type DeleteMembershipTypesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `MembershipTypesModule` that was deleted by this mutation.""" + membershipTypesModule: MembershipTypesModule - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EnumFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `Enum`.""" - orderBy: [EnumOrderBy!] = [PRIMARY_KEY_ASC] - ): EnumConnection + """An edge for our `MembershipTypesModule`. May be used by Relay 1.""" + membershipTypesModuleEdge( + """The method to use when ordering `MembershipTypesModule`.""" + orderBy: [MembershipTypesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypesModuleEdge +} - """Reads and enables pagination through a set of `User`.""" - users( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteMembershipTypesModule` mutation.""" +input DeleteMembershipTypesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `SecretsModule` mutation.""" +type DeleteSecretsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `SecretsModule` that was deleted by this mutation.""" + secretsModule: SecretsModule - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `SecretsModule`. May be used by Relay 1.""" + secretsModuleEdge( + """The method to use when ordering `SecretsModule`.""" + orderBy: [SecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SecretsModuleEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UserFilter +"""All input for the `deleteSecretsModule` mutation.""" +input DeleteSecretsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """The method to use when ordering `User`.""" - orderBy: [UserOrderBy!] = [PRIMARY_KEY_ASC] - ): UserConnection +"""The output of our delete `AppPermissionDefault` mutation.""" +type DeleteAppPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `View`.""" - views( - """Only read the first `n` values of the set.""" - first: Int + """The `AppPermissionDefault` that was deleted by this mutation.""" + appPermissionDefault: AppPermissionDefault - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `AppPermissionDefault`. May be used by Relay 1.""" + appPermissionDefaultEdge( + """The method to use when ordering `AppPermissionDefault`.""" + orderBy: [AppPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionDefaultEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteAppPermissionDefault` mutation.""" +input DeleteAppPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `ApiModule` mutation.""" +type DeleteApiModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ViewFilter + """The `ApiModule` that was deleted by this mutation.""" + apiModule: ApiModule - """The method to use when ordering `View`.""" - orderBy: [ViewOrderBy!] = [PRIMARY_KEY_ASC] - ): ViewConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `WebauthnAuthModule`.""" - webauthnAuthModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `ApiModule`. May be used by Relay 1.""" + apiModuleEdge( + """The method to use when ordering `ApiModule`.""" + orderBy: [ApiModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiModuleEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteApiModule` mutation.""" +input DeleteApiModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """Unique identifier for this API module record""" + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `SiteModule` mutation.""" +type DeleteSiteModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `SiteModule` that was deleted by this mutation.""" + siteModule: SiteModule - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: WebauthnAuthModuleFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `WebauthnAuthModule`.""" - orderBy: [WebauthnAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnAuthModuleConnection + """An edge for our `SiteModule`. May be used by Relay 1.""" + siteModuleEdge( + """The method to use when ordering `SiteModule`.""" + orderBy: [SiteModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteModuleEdge +} - """Reads and enables pagination through a set of `AppInvite`.""" - appInvites( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteSiteModule` mutation.""" +input DeleteSiteModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """Unique identifier for this site module record""" + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `AppLimitCreditCode` mutation.""" +type DeleteAppLimitCreditCodePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `AppLimitCreditCode` that was deleted by this mutation.""" + appLimitCreditCode: AppLimitCreditCode - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppInviteFilter + """An edge for our `AppLimitCreditCode`. May be used by Relay 1.""" + appLimitCreditCodeEdge( + """The method to use when ordering `AppLimitCreditCode`.""" + orderBy: [AppLimitCreditCodeOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeEdge +} - """The method to use when ordering `AppInvite`.""" - orderBy: [AppInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): AppInviteConnection +"""All input for the `deleteAppLimitCreditCode` mutation.""" +input DeleteAppLimitCreditCodeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `OrgMembershipSetting`.""" - orgMembershipSettings( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `SchemaGrant` mutation.""" +type DeleteSchemaGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `SchemaGrant` that was deleted by this mutation.""" + schemaGrant: SchemaGrant - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `SchemaGrant`. May be used by Relay 1.""" + schemaGrantEdge( + """The method to use when ordering `SchemaGrant`.""" + orderBy: [SchemaGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): SchemaGrantEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteSchemaGrant` mutation.""" +input DeleteSchemaGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMembershipSettingFilter +"""The output of our delete `TriggerFunction` mutation.""" +type DeleteTriggerFunctionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `OrgMembershipSetting`.""" - orderBy: [OrgMembershipSettingOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipSettingConnection + """The `TriggerFunction` that was deleted by this mutation.""" + triggerFunction: TriggerFunction - """Reads and enables pagination through a set of `App`.""" - apps( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `TriggerFunction`. May be used by Relay 1.""" + triggerFunctionEdge( + """The method to use when ordering `TriggerFunction`.""" + orderBy: [TriggerFunctionOrderBy!]! = [PRIMARY_KEY_ASC] + ): TriggerFunctionEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteTriggerFunction` mutation.""" +input DeleteTriggerFunctionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `ViewRule` mutation.""" +type DeleteViewRulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `ViewRule` that was deleted by this mutation.""" + viewRule: ViewRule - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `App`.""" - orderBy: [AppOrderBy!] = [PRIMARY_KEY_ASC] - ): AppConnection + """An edge for our `ViewRule`. May be used by Relay 1.""" + viewRuleEdge( + """The method to use when ordering `ViewRule`.""" + orderBy: [ViewRuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewRuleEdge +} - """Reads and enables pagination through a set of `Site`.""" - sites( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteViewRule` mutation.""" +input DeleteViewRuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `IdentityProvidersModule` mutation.""" +type DeleteIdentityProvidersModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `IdentityProvidersModule` that was deleted by this mutation.""" + identityProvidersModule: IdentityProvidersModule - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `IdentityProvidersModule`. May be used by Relay 1.""" + identityProvidersModuleEdge( + """The method to use when ordering `IdentityProvidersModule`.""" + orderBy: [IdentityProvidersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): IdentityProvidersModuleEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SiteFilter +"""All input for the `deleteIdentityProvidersModule` mutation.""" +input DeleteIdentityProvidersModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """The method to use when ordering `Site`.""" - orderBy: [SiteOrderBy!] = [PRIMARY_KEY_ASC] - ): SiteConnection +"""The output of our delete `SessionSecretsModule` mutation.""" +type DeleteSessionSecretsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `NotificationsModule`.""" - notificationsModules( - """Only read the first `n` values of the set.""" - first: Int + """The `SessionSecretsModule` that was deleted by this mutation.""" + sessionSecretsModule: SessionSecretsModule - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `SessionSecretsModule`. May be used by Relay 1.""" + sessionSecretsModuleEdge( + """The method to use when ordering `SessionSecretsModule`.""" + orderBy: [SessionSecretsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SessionSecretsModuleEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteSessionSecretsModule` mutation.""" +input DeleteSessionSecretsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `AppAdminGrant` mutation.""" +type DeleteAppAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: NotificationsModuleFilter + """The `AppAdminGrant` that was deleted by this mutation.""" + appAdminGrant: AppAdminGrant - """The method to use when ordering `NotificationsModule`.""" - orderBy: [NotificationsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): NotificationsModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `PermissionsModule`.""" - permissionsModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `AppAdminGrant`. May be used by Relay 1.""" + appAdminGrantEdge( + """The method to use when ordering `AppAdminGrant`.""" + orderBy: [AppAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAdminGrantEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteAppAdminGrant` mutation.""" +input DeleteAppAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `AppOwnerGrant` mutation.""" +type DeleteAppOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `AppOwnerGrant` that was deleted by this mutation.""" + appOwnerGrant: AppOwnerGrant - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PermissionsModuleFilter + """An edge for our `AppOwnerGrant`. May be used by Relay 1.""" + appOwnerGrantEdge( + """The method to use when ordering `AppOwnerGrant`.""" + orderBy: [AppOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppOwnerGrantEdge +} - """The method to use when ordering `PermissionsModule`.""" - orderBy: [PermissionsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): PermissionsModuleConnection +"""All input for the `deleteAppOwnerGrant` mutation.""" +input DeleteAppOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `WebauthnCredential`.""" - webauthnCredentials( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `AppAchievement` mutation.""" +type DeleteAppAchievementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `AppAchievement` that was deleted by this mutation.""" + appAchievement: AppAchievement - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `AppAchievement`. May be used by Relay 1.""" + appAchievementEdge( + """The method to use when ordering `AppAchievement`.""" + orderBy: [AppAchievementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppAchievementEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteAppAchievement` mutation.""" +input DeleteAppAchievementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: WebauthnCredentialFilter +"""The output of our delete `AppStep` mutation.""" +type DeleteAppStepPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `WebauthnCredential`.""" - orderBy: [WebauthnCredentialOrderBy!] = [PRIMARY_KEY_ASC] - ): WebauthnCredentialConnection + """The `AppStep` that was deleted by this mutation.""" + appStep: AppStep - """Reads and enables pagination through a set of `PrimaryKeyConstraint`.""" - primaryKeyConstraints( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `AppStep`. May be used by Relay 1.""" + appStepEdge( + """The method to use when ordering `AppStep`.""" + orderBy: [AppStepOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppStepEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteAppStep` mutation.""" +input DeleteAppStepInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `OrgPermissionDefault` mutation.""" +type DeleteOrgPermissionDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `OrgPermissionDefault` that was deleted by this mutation.""" + orgPermissionDefault: OrgPermissionDefault - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PrimaryKeyConstraintFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `PrimaryKeyConstraint`.""" - orderBy: [PrimaryKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): PrimaryKeyConstraintConnection + """An edge for our `OrgPermissionDefault`. May be used by Relay 1.""" + orgPermissionDefaultEdge( + """The method to use when ordering `OrgPermissionDefault`.""" + orderBy: [OrgPermissionDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionDefaultEdge +} - """Reads and enables pagination through a set of `Trigger`.""" - triggers( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteOrgPermissionDefault` mutation.""" +input DeleteOrgPermissionDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `AppPermission` mutation.""" +type DeleteAppPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `AppPermission` that was deleted by this mutation.""" + appPermission: AppPermission - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `AppPermission`. May be used by Relay 1.""" + appPermissionEdge( + """The method to use when ordering `AppPermission`.""" + orderBy: [AppPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppPermissionEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: TriggerFilter +"""All input for the `deleteAppPermission` mutation.""" +input DeleteAppPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """The method to use when ordering `Trigger`.""" - orderBy: [TriggerOrderBy!] = [PRIMARY_KEY_ASC] - ): TriggerConnection +"""The output of our delete `OrgPermission` mutation.""" +type DeleteOrgPermissionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `CheckConstraint`.""" - checkConstraints( - """Only read the first `n` values of the set.""" - first: Int + """The `OrgPermission` that was deleted by this mutation.""" + orgPermission: OrgPermission - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `OrgPermission`. May be used by Relay 1.""" + orgPermissionEdge( + """The method to use when ordering `OrgPermission`.""" + orderBy: [OrgPermissionOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgPermissionEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteOrgPermission` mutation.""" +input DeleteOrgPermissionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `AppLimitCapsDefault` mutation.""" +type DeleteAppLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: CheckConstraintFilter + """The `AppLimitCapsDefault` that was deleted by this mutation.""" + appLimitCapsDefault: AppLimitCapsDefault - """The method to use when ordering `CheckConstraint`.""" - orderBy: [CheckConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): CheckConstraintConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `UniqueConstraint`.""" - uniqueConstraints( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `AppLimitCapsDefault`. May be used by Relay 1.""" + appLimitCapsDefaultEdge( + """The method to use when ordering `AppLimitCapsDefault`.""" + orderBy: [AppLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapsDefaultEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteAppLimitCapsDefault` mutation.""" +input DeleteAppLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `OrgLimitCapsDefault` mutation.""" +type DeleteOrgLimitCapsDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `OrgLimitCapsDefault` that was deleted by this mutation.""" + orgLimitCapsDefault: OrgLimitCapsDefault - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UniqueConstraintFilter + """An edge for our `OrgLimitCapsDefault`. May be used by Relay 1.""" + orgLimitCapsDefaultEdge( + """The method to use when ordering `OrgLimitCapsDefault`.""" + orderBy: [OrgLimitCapsDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapsDefaultEdge +} - """The method to use when ordering `UniqueConstraint`.""" - orderBy: [UniqueConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): UniqueConstraintConnection +"""All input for the `deleteOrgLimitCapsDefault` mutation.""" +input DeleteOrgLimitCapsDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `SpatialRelation`.""" - spatialRelations( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `AppLimitCap` mutation.""" +type DeleteAppLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `AppLimitCap` that was deleted by this mutation.""" + appLimitCap: AppLimitCap - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `AppLimitCap`. May be used by Relay 1.""" + appLimitCapEdge( + """The method to use when ordering `AppLimitCap`.""" + orderBy: [AppLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCapEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteAppLimitCap` mutation.""" +input DeleteAppLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SpatialRelationFilter +"""The output of our delete `OrgLimitCap` mutation.""" +type DeleteOrgLimitCapPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `SpatialRelation`.""" - orderBy: [SpatialRelationOrderBy!] = [PRIMARY_KEY_ASC] - ): SpatialRelationConnection + """The `OrgLimitCap` that was deleted by this mutation.""" + orgLimitCap: OrgLimitCap - """Reads and enables pagination through a set of `Policy`.""" - policies( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `OrgLimitCap`. May be used by Relay 1.""" + orgLimitCapEdge( + """The method to use when ordering `OrgLimitCap`.""" + orderBy: [OrgLimitCapOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCapEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteOrgLimitCap` mutation.""" +input DeleteOrgLimitCapInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `MembershipType` mutation.""" +type DeleteMembershipTypePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `MembershipType` that was deleted by this mutation.""" + membershipType: MembershipType - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: PolicyFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `Policy`.""" - orderBy: [PolicyOrderBy!] = [PRIMARY_KEY_ASC] - ): PolicyConnection + """An edge for our `MembershipType`. May be used by Relay 1.""" + membershipTypeEdge( + """The method to use when ordering `MembershipType`.""" + orderBy: [MembershipTypeOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipTypeEdge +} - """Reads and enables pagination through a set of `EmbeddingChunk`.""" - embeddingChunks( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteMembershipType` mutation.""" +input DeleteMembershipTypeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """ + Integer identifier for the membership type (1=App, 2=Organization, 3=Group) + """ + id: Int! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `DefaultPrivilege` mutation.""" +type DeleteDefaultPrivilegePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `DefaultPrivilege` that was deleted by this mutation.""" + defaultPrivilege: DefaultPrivilege - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EmbeddingChunkFilter + """An edge for our `DefaultPrivilege`. May be used by Relay 1.""" + defaultPrivilegeEdge( + """The method to use when ordering `DefaultPrivilege`.""" + orderBy: [DefaultPrivilegeOrderBy!]! = [PRIMARY_KEY_ASC] + ): DefaultPrivilegeEdge +} - """The method to use when ordering `EmbeddingChunk`.""" - orderBy: [EmbeddingChunkOrderBy!] = [PRIMARY_KEY_ASC] - ): EmbeddingChunkConnection +"""All input for the `deleteDefaultPrivilege` mutation.""" +input DeleteDefaultPrivilegeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `OrgInvite`.""" - orgInvites( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `ViewGrant` mutation.""" +type DeleteViewGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `ViewGrant` that was deleted by this mutation.""" + viewGrant: ViewGrant - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `ViewGrant`. May be used by Relay 1.""" + viewGrantEdge( + """The method to use when ordering `ViewGrant`.""" + orderBy: [ViewGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewGrantEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteViewGrant` mutation.""" +input DeleteViewGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgInviteFilter +"""The output of our delete `Api` mutation.""" +type DeleteApiPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `OrgInvite`.""" - orderBy: [OrgInviteOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgInviteConnection + """The `Api` that was deleted by this mutation.""" + api: Api - """Reads and enables pagination through a set of `AppMembership`.""" - appMemberships( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `Api`. May be used by Relay 1.""" + apiEdge( + """The method to use when ordering `Api`.""" + orderBy: [ApiOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteApi` mutation.""" +input DeleteApiInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Unique identifier for this API""" + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `ConnectedAccountsModule` mutation.""" +type DeleteConnectedAccountsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: AppMembershipFilter + """The `ConnectedAccountsModule` that was deleted by this mutation.""" + connectedAccountsModule: ConnectedAccountsModule - """The method to use when ordering `AppMembership`.""" - orderBy: [AppMembershipOrderBy!] = [PRIMARY_KEY_ASC] - ): AppMembershipConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `Schema`.""" - schemas( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `ConnectedAccountsModule`. May be used by Relay 1.""" + connectedAccountsModuleEdge( + """The method to use when ordering `ConnectedAccountsModule`.""" + orderBy: [ConnectedAccountsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ConnectedAccountsModuleEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteConnectedAccountsModule` mutation.""" +input DeleteConnectedAccountsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `DevicesModule` mutation.""" +type DeleteDevicesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `DevicesModule` that was deleted by this mutation.""" + devicesModule: DevicesModule - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SchemaFilter + """An edge for our `DevicesModule`. May be used by Relay 1.""" + devicesModuleEdge( + """The method to use when ordering `DevicesModule`.""" + orderBy: [DevicesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DevicesModuleEdge +} - """The method to use when ordering `Schema`.""" - orderBy: [SchemaOrderBy!] = [PRIMARY_KEY_ASC] - ): SchemaConnection +"""All input for the `deleteDevicesModule` mutation.""" +input DeleteDevicesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `Index`.""" - indices( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `EmailsModule` mutation.""" +type DeleteEmailsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `EmailsModule` that was deleted by this mutation.""" + emailsModule: EmailsModule - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `EmailsModule`. May be used by Relay 1.""" + emailsModuleEdge( + """The method to use when ordering `EmailsModule`.""" + orderBy: [EmailsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailsModuleEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteEmailsModule` mutation.""" +input DeleteEmailsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: IndexFilter +"""The output of our delete `PhoneNumbersModule` mutation.""" +type DeletePhoneNumbersModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `Index`.""" - orderBy: [IndexOrderBy!] = [PRIMARY_KEY_ASC] - ): IndexConnection + """The `PhoneNumbersModule` that was deleted by this mutation.""" + phoneNumbersModule: PhoneNumbersModule - """Reads and enables pagination through a set of `LimitsModule`.""" - limitsModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `PhoneNumbersModule`. May be used by Relay 1.""" + phoneNumbersModuleEdge( + """The method to use when ordering `PhoneNumbersModule`.""" + orderBy: [PhoneNumbersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumbersModuleEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deletePhoneNumbersModule` mutation.""" +input DeletePhoneNumbersModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `UsersModule` mutation.""" +type DeleteUsersModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `UsersModule` that was deleted by this mutation.""" + usersModule: UsersModule - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: LimitsModuleFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `LimitsModule`.""" - orderBy: [LimitsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): LimitsModuleConnection + """An edge for our `UsersModule`. May be used by Relay 1.""" + usersModuleEdge( + """The method to use when ordering `UsersModule`.""" + orderBy: [UsersModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): UsersModuleEdge +} - """Reads and enables pagination through a set of `BlueprintTemplate`.""" - blueprintTemplates( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteUsersModule` mutation.""" +input DeleteUsersModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `WebauthnCredentialsModule` mutation.""" +type DeleteWebauthnCredentialsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `WebauthnCredentialsModule` that was deleted by this mutation.""" + webauthnCredentialsModule: WebauthnCredentialsModule - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `WebauthnCredentialsModule`. May be used by Relay 1.""" + webauthnCredentialsModuleEdge( + """The method to use when ordering `WebauthnCredentialsModule`.""" + orderBy: [WebauthnCredentialsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialsModuleEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: BlueprintTemplateFilter +"""All input for the `deleteWebauthnCredentialsModule` mutation.""" +input DeleteWebauthnCredentialsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """The method to use when ordering `BlueprintTemplate`.""" - orderBy: [BlueprintTemplateOrderBy!] = [PRIMARY_KEY_ASC] - ): BlueprintTemplateConnection +"""The output of our delete `OrgAdminGrant` mutation.""" +type DeleteOrgAdminGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `HierarchyModule`.""" - hierarchyModules( - """Only read the first `n` values of the set.""" - first: Int + """The `OrgAdminGrant` that was deleted by this mutation.""" + orgAdminGrant: OrgAdminGrant - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `OrgAdminGrant`. May be used by Relay 1.""" + orgAdminGrantEdge( + """The method to use when ordering `OrgAdminGrant`.""" + orderBy: [OrgAdminGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgAdminGrantEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteOrgAdminGrant` mutation.""" +input DeleteOrgAdminGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `OrgOwnerGrant` mutation.""" +type DeleteOrgOwnerGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: HierarchyModuleFilter + """The `OrgOwnerGrant` that was deleted by this mutation.""" + orgOwnerGrant: OrgOwnerGrant - """The method to use when ordering `HierarchyModule`.""" - orderBy: [HierarchyModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): HierarchyModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `ProfilesModule`.""" - profilesModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `OrgOwnerGrant`. May be used by Relay 1.""" + orgOwnerGrantEdge( + """The method to use when ordering `OrgOwnerGrant`.""" + orderBy: [OrgOwnerGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgOwnerGrantEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteOrgOwnerGrant` mutation.""" +input DeleteOrgOwnerGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `NodeTypeRegistry` mutation.""" +type DeleteNodeTypeRegistryPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `NodeTypeRegistry` that was deleted by this mutation.""" + nodeTypeRegistry: NodeTypeRegistry - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ProfilesModuleFilter + """An edge for our `NodeTypeRegistry`. May be used by Relay 1.""" + nodeTypeRegistryEdge( + """The method to use when ordering `NodeTypeRegistry`.""" + orderBy: [NodeTypeRegistryOrderBy!]! = [PRIMARY_KEY_ASC] + ): NodeTypeRegistryEdge +} - """The method to use when ordering `ProfilesModule`.""" - orderBy: [ProfilesModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): ProfilesModuleConnection +"""All input for the `deleteNodeTypeRegistry` mutation.""" +input DeleteNodeTypeRegistryInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + name: String! +} - """Reads and enables pagination through a set of `OrgMembership`.""" - orgMemberships( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `AppLimitDefault` mutation.""" +type DeleteAppLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `AppLimitDefault` that was deleted by this mutation.""" + appLimitDefault: AppLimitDefault - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `AppLimitDefault`. May be used by Relay 1.""" + appLimitDefaultEdge( + """The method to use when ordering `AppLimitDefault`.""" + orderBy: [AppLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitDefaultEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteAppLimitDefault` mutation.""" +input DeleteAppLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: OrgMembershipFilter +"""The output of our delete `OrgLimitDefault` mutation.""" +type DeleteOrgLimitDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `OrgMembership`.""" - orderBy: [OrgMembershipOrderBy!] = [PRIMARY_KEY_ASC] - ): OrgMembershipConnection + """The `OrgLimitDefault` that was deleted by this mutation.""" + orgLimitDefault: OrgLimitDefault - """Reads and enables pagination through a set of `ForeignKeyConstraint`.""" - foreignKeyConstraints( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `OrgLimitDefault`. May be used by Relay 1.""" + orgLimitDefaultEdge( + """The method to use when ordering `OrgLimitDefault`.""" + orderBy: [OrgLimitDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitDefaultEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteOrgLimitDefault` mutation.""" +input DeleteOrgLimitDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `AppLimitCreditCodeItem` mutation.""" +type DeleteAppLimitCreditCodeItemPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `AppLimitCreditCodeItem` that was deleted by this mutation.""" + appLimitCreditCodeItem: AppLimitCreditCodeItem - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: ForeignKeyConstraintFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `ForeignKeyConstraint`.""" - orderBy: [ForeignKeyConstraintOrderBy!] = [PRIMARY_KEY_ASC] - ): ForeignKeyConstraintConnection + """An edge for our `AppLimitCreditCodeItem`. May be used by Relay 1.""" + appLimitCreditCodeItemEdge( + """The method to use when ordering `AppLimitCreditCodeItem`.""" + orderBy: [AppLimitCreditCodeItemOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditCodeItemEdge +} - """Reads and enables pagination through a set of `StorageModule`.""" - storageModules( - """Only read the first `n` values of the set.""" - first: Int +"""All input for the `deleteAppLimitCreditCodeItem` mutation.""" +input DeleteAppLimitCreditCodeItemInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Only read the last `n` values of the set.""" - last: Int +"""The output of our delete `Database` mutation.""" +type DeleteDatabasePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """The `Database` that was deleted by this mutation.""" + database: Database - """Read all values in the set before (above) this cursor.""" - before: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set after (below) this cursor.""" - after: Cursor + """An edge for our `Database`. May be used by Relay 1.""" + databaseEdge( + """The method to use when ordering `Database`.""" + orderBy: [DatabaseOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseEdge +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: StorageModuleFilter +"""All input for the `deleteDatabase` mutation.""" +input DeleteDatabaseInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """The method to use when ordering `StorageModule`.""" - orderBy: [StorageModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): StorageModuleConnection +"""The output of our delete `CryptoAddressesModule` mutation.""" +type DeleteCryptoAddressesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Reads and enables pagination through a set of `Table`.""" - tables( - """Only read the first `n` values of the set.""" - first: Int + """The `CryptoAddressesModule` that was deleted by this mutation.""" + cryptoAddressesModule: CryptoAddressesModule - """Only read the last `n` values of the set.""" - last: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """An edge for our `CryptoAddressesModule`. May be used by Relay 1.""" + cryptoAddressesModuleEdge( + """The method to use when ordering `CryptoAddressesModule`.""" + orderBy: [CryptoAddressesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressesModuleEdge +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""All input for the `deleteCryptoAddressesModule` mutation.""" +input DeleteCryptoAddressesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `CryptoAddress` mutation.""" +type DeleteCryptoAddressPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: TableFilter + """The `CryptoAddress` that was deleted by this mutation.""" + cryptoAddress: CryptoAddress - """The method to use when ordering `Table`.""" - orderBy: [TableOrderBy!] = [PRIMARY_KEY_ASC] - ): TableConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `EntityTypeProvision`.""" - entityTypeProvisions( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `CryptoAddress`. May be used by Relay 1.""" + cryptoAddressEdge( + """The method to use when ordering `CryptoAddress`.""" + orderBy: [CryptoAddressOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAddressEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteCryptoAddress` mutation.""" +input DeleteCryptoAddressInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `AgentMessage` mutation.""" +type DeleteAgentMessagePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `AgentMessage` that was deleted by this mutation.""" + agentMessage: AgentMessage - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: EntityTypeProvisionFilter + """An edge for our `AgentMessage`. May be used by Relay 1.""" + agentMessageEdge( + """The method to use when ordering `AgentMessage`.""" + orderBy: [AgentMessageOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentMessageEdge +} - """The method to use when ordering `EntityTypeProvision`.""" - orderBy: [EntityTypeProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): EntityTypeProvisionConnection +"""All input for the `deleteAgentMessage` mutation.""" +input DeleteAgentMessageInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `RelationProvision`.""" - relationProvisions( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `Object` mutation.""" +type DeleteObjectPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `Object` that was deleted by this mutation.""" + object: Object - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `Object`. May be used by Relay 1.""" + objectEdge( + """The method to use when ordering `Object`.""" + orderBy: [ObjectOrderBy!]! = [PRIMARY_KEY_ASC] + ): ObjectEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteObject` mutation.""" +input DeleteObjectInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! + databaseId: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: RelationProvisionFilter +"""The output of our delete `SiteMetadatum` mutation.""" +type DeleteSiteMetadatumPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `RelationProvision`.""" - orderBy: [RelationProvisionOrderBy!] = [PRIMARY_KEY_ASC] - ): RelationProvisionConnection + """The `SiteMetadatum` that was deleted by this mutation.""" + siteMetadatum: SiteMetadatum - """Reads and enables pagination through a set of `LevelsModule`.""" - levelsModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `SiteMetadatum`. May be used by Relay 1.""" + siteMetadatumEdge( + """The method to use when ordering `SiteMetadatum`.""" + orderBy: [SiteMetadatumOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteMetadatumEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteSiteMetadatum` mutation.""" +input DeleteSiteMetadatumInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """Unique identifier for this metadata record""" + id: UUID! +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""The output of our delete `AppLevelRequirement` mutation.""" +type DeleteAppLevelRequirementPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: LevelsModuleFilter + """The `AppLevelRequirement` that was deleted by this mutation.""" + appLevelRequirement: AppLevelRequirement - """The method to use when ordering `LevelsModule`.""" - orderBy: [LevelsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): LevelsModuleConnection + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Reads and enables pagination through a set of `UserAuthModule`.""" - userAuthModules( - """Only read the first `n` values of the set.""" - first: Int + """An edge for our `AppLevelRequirement`. May be used by Relay 1.""" + appLevelRequirementEdge( + """The method to use when ordering `AppLevelRequirement`.""" + orderBy: [AppLevelRequirementOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelRequirementEdge +} - """Only read the last `n` values of the set.""" - last: Int +"""All input for the `deleteAppLevelRequirement` mutation.""" +input DeleteAppLevelRequirementInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""The output of our delete `AppLimitCredit` mutation.""" +type DeleteAppLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set before (above) this cursor.""" - before: Cursor + """The `AppLimitCredit` that was deleted by this mutation.""" + appLimitCredit: AppLimitCredit - """Read all values in the set after (below) this cursor.""" - after: Cursor + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: UserAuthModuleFilter + """An edge for our `AppLimitCredit`. May be used by Relay 1.""" + appLimitCreditEdge( + """The method to use when ordering `AppLimitCredit`.""" + orderBy: [AppLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitCreditEdge +} - """The method to use when ordering `UserAuthModule`.""" - orderBy: [UserAuthModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): UserAuthModuleConnection +"""All input for the `deleteAppLimitCredit` mutation.""" +input DeleteAppLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Reads and enables pagination through a set of `Field`.""" - fields( - """Only read the first `n` values of the set.""" - first: Int +"""The output of our delete `OrgLimitCredit` mutation.""" +type DeleteOrgLimitCreditPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Only read the last `n` values of the set.""" - last: Int + """The `OrgLimitCredit` that was deleted by this mutation.""" + orgLimitCredit: OrgLimitCredit - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Read all values in the set before (above) this cursor.""" - before: Cursor + """An edge for our `OrgLimitCredit`. May be used by Relay 1.""" + orgLimitCreditEdge( + """The method to use when ordering `OrgLimitCredit`.""" + orderBy: [OrgLimitCreditOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitCreditEdge +} - """Read all values in the set after (below) this cursor.""" - after: Cursor +"""All input for the `deleteOrgLimitCredit` mutation.""" +input DeleteOrgLimitCreditInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: FieldFilter +"""The output of our delete `FullTextSearch` mutation.""" +type DeleteFullTextSearchPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """The method to use when ordering `Field`.""" - orderBy: [FieldOrderBy!] = [PRIMARY_KEY_ASC] - ): FieldConnection + """The `FullTextSearch` that was deleted by this mutation.""" + fullTextSearch: FullTextSearch - """Reads and enables pagination through a set of `MembershipsModule`.""" - membershipsModules( - """Only read the first `n` values of the set.""" - first: Int + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Only read the last `n` values of the set.""" - last: Int + """An edge for our `FullTextSearch`. May be used by Relay 1.""" + fullTextSearchEdge( + """The method to use when ordering `FullTextSearch`.""" + orderBy: [FullTextSearchOrderBy!]! = [PRIMARY_KEY_ASC] + ): FullTextSearchEdge +} - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int +"""All input for the `deleteFullTextSearch` mutation.""" +input DeleteFullTextSearchInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Read all values in the set before (above) this cursor.""" - before: Cursor +"""The output of our delete `TableGrant` mutation.""" +type DeleteTableGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Read all values in the set after (below) this cursor.""" - after: Cursor + """The `TableGrant` that was deleted by this mutation.""" + tableGrant: TableGrant - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: MembershipsModuleFilter + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """The method to use when ordering `MembershipsModule`.""" - orderBy: [MembershipsModuleOrderBy!] = [PRIMARY_KEY_ASC] - ): MembershipsModuleConnection + """An edge for our `TableGrant`. May be used by Relay 1.""" + tableGrantEdge( + """The method to use when ordering `TableGrant`.""" + orderBy: [TableGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): TableGrantEdge +} +"""All input for the `deleteTableGrant` mutation.""" +input DeleteTableGrantInput { """ - Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - _meta: MetaSchema + clientMutationId: String + id: UUID! } -""" -The root mutation type which contains root level fields which mutate data. -""" -type Mutation { - sendAccountDeletionEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SendAccountDeletionEmailInput! - ): SendAccountDeletionEmailPayload - signOut( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignOutInput! - ): SignOutPayload - acceptDatabaseTransfer( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: AcceptDatabaseTransferInput! - ): AcceptDatabaseTransferPayload - cancelDatabaseTransfer( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CancelDatabaseTransferInput! - ): CancelDatabaseTransferPayload - rejectDatabaseTransfer( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RejectDatabaseTransferInput! - ): RejectDatabaseTransferPayload - disconnectAccount( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DisconnectAccountInput! - ): DisconnectAccountPayload - revokeApiKey( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RevokeApiKeyInput! - ): RevokeApiKeyPayload - revokeSession( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RevokeSessionInput! - ): RevokeSessionPayload - verifyPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: VerifyPasswordInput! - ): VerifyPasswordPayload - verifyTotp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: VerifyTotpInput! - ): VerifyTotpPayload - submitAppInviteCode( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SubmitAppInviteCodeInput! - ): SubmitAppInviteCodePayload - submitOrgInviteCode( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SubmitOrgInviteCodeInput! - ): SubmitOrgInviteCodePayload - checkPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CheckPasswordInput! - ): CheckPasswordPayload - confirmDeleteAccount( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ConfirmDeleteAccountInput! - ): ConfirmDeleteAccountPayload - setPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetPasswordInput! - ): SetPasswordPayload - verifyEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: VerifyEmailInput! - ): VerifyEmailPayload - freezeObjects( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: FreezeObjectsInput! - ): FreezeObjectsPayload - initEmptyRepo( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: InitEmptyRepoInput! - ): InitEmptyRepoPayload +"""The output of our delete `Commit` mutation.""" +type DeleteCommitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `Commit` that was deleted by this mutation.""" + commit: Commit """ - Executes a blueprint definition by delegating to provision_* procedures. Creates a blueprint_construction record to track the attempt. Six phases: (0) entity_type_provision for each membership_type entry — provisions entity tables, membership modules, and security, (1) provision_table() for each table with nodes[], fields[], policies[], and grants (table-level indexes/fts/unique_constraints are deferred), (2) provision_relation() for each relation, (3) provision_index() for top-level + deferred indexes, (4) provision_full_text_search() for top-level + deferred FTS, (5) provision_unique_constraint() for top-level + deferred unique constraints. Phase 0 entity tables are added to the table_map so subsequent phases can reference them by name. Table-level indexes/fts/unique_constraints are deferred to phases 3-5 so they can reference columns created by relations in phase 2. Returns the construction record ID on success, NULL on failure. + Our root query field type. Allows us to run any query from our mutation payload. """ - constructBlueprint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ConstructBlueprintInput! - ): ConstructBlueprintPayload - provisionNewUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionNewUserInput! - ): ProvisionNewUserPayload - resetPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ResetPasswordInput! - ): ResetPasswordPayload - removeNodeAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RemoveNodeAtPathInput! - ): RemoveNodeAtPathPayload + query: Query + + """An edge for our `Commit`. May be used by Relay 1.""" + commitEdge( + """The method to use when ordering `Commit`.""" + orderBy: [CommitOrderBy!]! = [PRIMARY_KEY_ASC] + ): CommitEdge +} +"""All input for the `deleteCommit` mutation.""" +input DeleteCommitInput { """ - Creates a new blueprint by copying a template definition. Checks visibility: owners can always copy their own templates, others require public visibility. Increments the template copy_count. Returns the new blueprint ID. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - copyTemplateToBlueprint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CopyTemplateToBlueprintInput! - ): CopyTemplateToBlueprintPayload + clientMutationId: String + + """The primary unique identifier for the commit.""" + id: UUID! + + """The repository identifier""" + databaseId: UUID! +} +"""The output of our delete `PubkeySetting` mutation.""" +type DeletePubkeySettingPayload { """ - Idempotent provisioner for metaschema_public.spatial_relation. Inserts a row declaring a spatial predicate between two geometry/geography columns (owner and target). Called from construct_blueprint when a relation entry has $type=RelationSpatial. Graceful: re-running with the same (source_table_id, name) returns the existing id without modifying the row. Operator whitelist and st_dwithin ↔ param_name pairing are enforced by the spatial_relation table CHECKs. Both fields must already exist — this is a metadata-only insert. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - provisionSpatialRelation( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionSpatialRelationInput! - ): ProvisionSpatialRelationPayload - bootstrapUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: BootstrapUserInput! - ): BootstrapUserPayload - setFieldOrder( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetFieldOrderInput! - ): SetFieldOrderPayload + clientMutationId: String + + """The `PubkeySetting` that was deleted by this mutation.""" + pubkeySetting: PubkeySetting """ - Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. + Our root query field type. Allows us to run any query from our mutation payload. """ - provisionUniqueConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionUniqueConstraintInput! - ): ProvisionUniqueConstraintPayload + query: Query + + """An edge for our `PubkeySetting`. May be used by Relay 1.""" + pubkeySettingEdge( + """The method to use when ordering `PubkeySetting`.""" + orderBy: [PubkeySettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): PubkeySettingEdge +} +"""All input for the `deletePubkeySetting` mutation.""" +input DeletePubkeySettingInput { """ - Creates a full-text search configuration on a table. Accepts a jsonb definition with field (tsvector column name) and sources (array of {field, weight, lang}). Graceful: skips if FTS config already exists for the same (table_id, field_id). Returns the fts_id. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - provisionFullTextSearch( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionFullTextSearchInput! - ): ProvisionFullTextSearchPayload + clientMutationId: String + + """Unique identifier for this pubkey settings record""" + id: UUID! +} +"""The output of our delete `RateLimitsModule` mutation.""" +type DeleteRateLimitsModulePayload { """ - Creates an index on a table. Accepts a jsonb definition with columns (array of names or single column string), access_method (default BTREE), is_unique, op_classes, options, and name (auto-generated if omitted). Graceful: skips if an index with the same (table_id, field_ids, access_method) already exists. Returns the index_id. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - provisionIndex( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionIndexInput! - ): ProvisionIndexPayload - setDataAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetDataAtPathInput! - ): SetDataAtPathPayload - setPropsAndCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetPropsAndCommitInput! - ): SetPropsAndCommitPayload - provisionDatabaseWithUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionDatabaseWithUserInput! - ): ProvisionDatabaseWithUserPayload - insertNodeAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: InsertNodeAtPathInput! - ): InsertNodeAtPathPayload - updateNodeAtPath( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateNodeAtPathInput! - ): UpdateNodeAtPathPayload - setAndCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SetAndCommitInput! - ): SetAndCommitPayload + clientMutationId: String + + """The `RateLimitsModule` that was deleted by this mutation.""" + rateLimitsModule: RateLimitsModule + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `RateLimitsModule`. May be used by Relay 1.""" + rateLimitsModuleEdge( + """The method to use when ordering `RateLimitsModule`.""" + orderBy: [RateLimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): RateLimitsModuleEdge +} +"""All input for the `deleteRateLimitsModule` mutation.""" +input DeleteRateLimitsModuleInput { """ - Composable relation provisioning: creates FK fields, indexes, unique constraints, and junction tables depending on the relation_type. Supports RelationBelongsTo, RelationHasOne, RelationHasMany, and RelationManyToMany. ManyToMany uses provision_table() internally for junction table creation with full node/grant/policy support. All operations are graceful (skip existing). Returns (out_field_id, out_junction_table_id, out_source_field_id, out_target_field_id). + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - provisionRelation( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionRelationInput! - ): ProvisionRelationPayload - applyRls( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ApplyRlsInput! - ): ApplyRlsPayload - signInCrossOrigin( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignInCrossOriginInput! - ): SignInCrossOriginPayload + clientMutationId: String + id: UUID! +} - "Creates a new user database with all required modules, permissions, and RLS policies.\n\nParameters:\n - database_name: Name for the new database (required)\n - owner_id: UUID of the owner user (required)\n - include_invites: Include invite system (default: true)\n - include_groups: Include group-level memberships (default: false)\n - include_levels: Include levels/achievements (default: false)\n - bitlen: Bit length for permission masks (default: 64)\n - tokens_expiration: Token expiration interval (default: 30 days)\n\nReturns the database_id UUID of the newly created database.\n\nExample usage:\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid);\n SELECT metaschema_public.create_user_database('my_app', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid, true, true); -- with invites and groups\n" - createUserDatabase( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUserDatabaseInput! - ): CreateUserDatabasePayload - extendTokenExpires( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ExtendTokenExpiresInput! - ): ExtendTokenExpiresPayload - createApiKey( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateApiKeyInput! - ): CreateApiKeyPayload - sendVerificationEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SendVerificationEmailInput! - ): SendVerificationEmailPayload - forgotPassword( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ForgotPasswordInput! - ): ForgotPasswordPayload - signUp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignUpInput! - ): SignUpPayload - requestCrossOriginToken( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestCrossOriginTokenInput! - ): RequestCrossOriginTokenPayload - signIn( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: SignInInput! - ): SignInPayload +"""The output of our delete `OrgChartEdgeGrant` mutation.""" +type DeleteOrgChartEdgeGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `OrgChartEdgeGrant` that was deleted by this mutation.""" + orgChartEdgeGrant: OrgChartEdgeGrant """ - Composable table provisioning: creates or finds a table, then creates fields (so Data* modules can reference them), applies N nodes (Data* modules), enables RLS, creates grants, creates N policies, and optionally creates table-level indexes/full_text_searches/unique_constraints. All operations are graceful (skip existing). Accepts multiple nodes and multiple policies per call, unlike secure_table_provision which is limited to one of each. Returns (out_table_id, out_fields). + Our root query field type. Allows us to run any query from our mutation payload. """ - provisionTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionTableInput! - ): ProvisionTablePayload + query: Query - """Creates a single `DefaultIdsModule`.""" - createDefaultIdsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDefaultIdsModuleInput! - ): CreateDefaultIdsModulePayload + """An edge for our `OrgChartEdgeGrant`. May be used by Relay 1.""" + orgChartEdgeGrantEdge( + """The method to use when ordering `OrgChartEdgeGrant`.""" + orderBy: [OrgChartEdgeGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeGrantEdge +} - """Creates a single `RoleType`.""" - createRoleType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRoleTypeInput! - ): CreateRoleTypePayload +"""All input for the `deleteOrgChartEdgeGrant` mutation.""" +input DeleteOrgChartEdgeGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `ViewTable`.""" - createViewTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateViewTableInput! - ): CreateViewTablePayload +"""The output of our delete `PhoneNumber` mutation.""" +type DeletePhoneNumberPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `ApiSchema`.""" - createApiSchema( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateApiSchemaInput! - ): CreateApiSchemaPayload + """The `PhoneNumber` that was deleted by this mutation.""" + phoneNumber: PhoneNumber - """Creates a single `OrgMember`.""" - createOrgMember( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMemberInput! - ): CreateOrgMemberPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `SiteTheme`.""" - createSiteTheme( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSiteThemeInput! - ): CreateSiteThemePayload + """An edge for our `PhoneNumber`. May be used by Relay 1.""" + phoneNumberEdge( + """The method to use when ordering `PhoneNumber`.""" + orderBy: [PhoneNumberOrderBy!]! = [PRIMARY_KEY_ASC] + ): PhoneNumberEdge +} - """Creates a single `IdentityProvider`.""" - createIdentityProvider( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateIdentityProviderInput! - ): CreateIdentityProviderPayload +"""All input for the `deletePhoneNumber` mutation.""" +input DeletePhoneNumberInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `Ref`.""" - createRef( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRefInput! - ): CreateRefPayload +"""The output of our delete `AppClaimedInvite` mutation.""" +type DeleteAppClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `Store`.""" - createStore( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateStoreInput! - ): CreateStorePayload + """The `AppClaimedInvite` that was deleted by this mutation.""" + appClaimedInvite: AppClaimedInvite - """Creates a single `EncryptedSecretsModule`.""" - createEncryptedSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEncryptedSecretsModuleInput! - ): CreateEncryptedSecretsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `MembershipTypesModule`.""" - createMembershipTypesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateMembershipTypesModuleInput! - ): CreateMembershipTypesModulePayload + """An edge for our `AppClaimedInvite`. May be used by Relay 1.""" + appClaimedInviteEdge( + """The method to use when ordering `AppClaimedInvite`.""" + orderBy: [AppClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppClaimedInviteEdge +} - """Creates a single `SecretsModule`.""" - createSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSecretsModuleInput! - ): CreateSecretsModulePayload +"""All input for the `deleteAppClaimedInvite` mutation.""" +input DeleteAppClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `AppPermissionDefault`.""" - createAppPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppPermissionDefaultInput! - ): CreateAppPermissionDefaultPayload +"""The output of our delete `AppMembershipDefault` mutation.""" +type DeleteAppMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `ApiModule`.""" - createApiModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateApiModuleInput! - ): CreateApiModulePayload + """The `AppMembershipDefault` that was deleted by this mutation.""" + appMembershipDefault: AppMembershipDefault - """Creates a single `SiteModule`.""" - createSiteModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSiteModuleInput! - ): CreateSiteModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `SchemaGrant`.""" - createSchemaGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSchemaGrantInput! - ): CreateSchemaGrantPayload + """An edge for our `AppMembershipDefault`. May be used by Relay 1.""" + appMembershipDefaultEdge( + """The method to use when ordering `AppMembershipDefault`.""" + orderBy: [AppMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipDefaultEdge +} - """Creates a single `TriggerFunction`.""" - createTriggerFunction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateTriggerFunctionInput! - ): CreateTriggerFunctionPayload +"""All input for the `deleteAppMembershipDefault` mutation.""" +input DeleteAppMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `ViewRule`.""" - createViewRule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateViewRuleInput! - ): CreateViewRulePayload +"""The output of our delete `OrgMembershipDefault` mutation.""" +type DeleteOrgMembershipDefaultPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `IdentityProvidersModule`.""" - createIdentityProvidersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateIdentityProvidersModuleInput! - ): CreateIdentityProvidersModulePayload + """The `OrgMembershipDefault` that was deleted by this mutation.""" + orgMembershipDefault: OrgMembershipDefault - """Creates a single `SessionSecretsModule`.""" - createSessionSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSessionSecretsModuleInput! - ): CreateSessionSecretsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `AppAdminGrant`.""" - createAppAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppAdminGrantInput! - ): CreateAppAdminGrantPayload + """An edge for our `OrgMembershipDefault`. May be used by Relay 1.""" + orgMembershipDefaultEdge( + """The method to use when ordering `OrgMembershipDefault`.""" + orderBy: [OrgMembershipDefaultOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipDefaultEdge +} - """Creates a single `AppOwnerGrant`.""" - createAppOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppOwnerGrantInput! - ): CreateAppOwnerGrantPayload +"""All input for the `deleteOrgMembershipDefault` mutation.""" +input DeleteOrgMembershipDefaultInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `AppAchievement`.""" - createAppAchievement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppAchievementInput! - ): CreateAppAchievementPayload +"""The output of our delete `AuditLog` mutation.""" +type DeleteAuditLogPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `AppStep`.""" - createAppStep( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppStepInput! - ): CreateAppStepPayload + """The `AuditLog` that was deleted by this mutation.""" + auditLog: AuditLog - """Creates a single `OrgPermissionDefault`.""" - createOrgPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgPermissionDefaultInput! - ): CreateOrgPermissionDefaultPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `AppPermission`.""" - createAppPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppPermissionInput! - ): CreateAppPermissionPayload + """An edge for our `AuditLog`. May be used by Relay 1.""" + auditLogEdge( + """The method to use when ordering `AuditLog`.""" + orderBy: [AuditLogOrderBy!]! = [PRIMARY_KEY_ASC] + ): AuditLogEdge +} - """Creates a single `OrgPermission`.""" - createOrgPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgPermissionInput! - ): CreateOrgPermissionPayload +"""All input for the `deleteAuditLog` mutation.""" +input DeleteAuditLogInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `MembershipType`.""" - createMembershipType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateMembershipTypeInput! - ): CreateMembershipTypePayload +"""The output of our delete `Domain` mutation.""" +type DeleteDomainPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `MigrateFile`.""" - createMigrateFile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateMigrateFileInput! - ): CreateMigrateFilePayload + """The `Domain` that was deleted by this mutation.""" + domain: Domain - """Creates a single `DefaultPrivilege`.""" - createDefaultPrivilege( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDefaultPrivilegeInput! - ): CreateDefaultPrivilegePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `ViewGrant`.""" - createViewGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateViewGrantInput! - ): CreateViewGrantPayload + """An edge for our `Domain`. May be used by Relay 1.""" + domainEdge( + """The method to use when ordering `Domain`.""" + orderBy: [DomainOrderBy!]! = [PRIMARY_KEY_ASC] + ): DomainEdge +} - """Creates a single `Api`.""" - createApi( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateApiInput! - ): CreateApiPayload +"""All input for the `deleteDomain` mutation.""" +input DeleteDomainInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + + """Unique identifier for this domain record""" + id: UUID! +} - """Creates a single `ConnectedAccountsModule`.""" - createConnectedAccountsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateConnectedAccountsModuleInput! - ): CreateConnectedAccountsModulePayload +"""The output of our delete `RlsSetting` mutation.""" +type DeleteRlsSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `DevicesModule`.""" - createDevicesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDevicesModuleInput! - ): CreateDevicesModulePayload + """The `RlsSetting` that was deleted by this mutation.""" + rlsSetting: RlsSetting - """Creates a single `EmailsModule`.""" - createEmailsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEmailsModuleInput! - ): CreateEmailsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `PhoneNumbersModule`.""" - createPhoneNumbersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePhoneNumbersModuleInput! - ): CreatePhoneNumbersModulePayload + """An edge for our `RlsSetting`. May be used by Relay 1.""" + rlsSettingEdge( + """The method to use when ordering `RlsSetting`.""" + orderBy: [RlsSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): RlsSettingEdge +} - """Creates a single `UsersModule`.""" - createUsersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUsersModuleInput! - ): CreateUsersModulePayload +"""All input for the `deleteRlsSetting` mutation.""" +input DeleteRlsSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `WebauthnCredentialsModule`.""" - createWebauthnCredentialsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateWebauthnCredentialsModuleInput! - ): CreateWebauthnCredentialsModulePayload + """Unique identifier for this RLS settings record""" + id: UUID! +} - """Creates a single `OrgAdminGrant`.""" - createOrgAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgAdminGrantInput! - ): CreateOrgAdminGrantPayload +"""The output of our delete `AgentTask` mutation.""" +type DeleteAgentTaskPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgOwnerGrant`.""" - createOrgOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgOwnerGrantInput! - ): CreateOrgOwnerGrantPayload + """The `AgentTask` that was deleted by this mutation.""" + agentTask: AgentTask - """Creates a single `NodeTypeRegistry`.""" - createNodeTypeRegistry( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateNodeTypeRegistryInput! - ): CreateNodeTypeRegistryPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `AppLimitDefault`.""" - createAppLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLimitDefaultInput! - ): CreateAppLimitDefaultPayload + """An edge for our `AgentTask`. May be used by Relay 1.""" + agentTaskEdge( + """The method to use when ordering `AgentTask`.""" + orderBy: [AgentTaskOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentTaskEdge +} - """Creates a single `OrgLimitDefault`.""" - createOrgLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitDefaultInput! - ): CreateOrgLimitDefaultPayload +"""All input for the `deleteAgentTask` mutation.""" +input DeleteAgentTaskInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `UserConnectedAccount`.""" - createUserConnectedAccount( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUserConnectedAccountInput! - ): CreateUserConnectedAccountPayload +"""The output of our delete `AgentThread` mutation.""" +type DeleteAgentThreadPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `Database`.""" - createDatabase( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDatabaseInput! - ): CreateDatabasePayload + """The `AgentThread` that was deleted by this mutation.""" + agentThread: AgentThread - """Creates a single `CryptoAddressesModule`.""" - createCryptoAddressesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCryptoAddressesModuleInput! - ): CreateCryptoAddressesModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `CryptoAddress`.""" - createCryptoAddress( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCryptoAddressInput! - ): CreateCryptoAddressPayload + """An edge for our `AgentThread`. May be used by Relay 1.""" + agentThreadEdge( + """The method to use when ordering `AgentThread`.""" + orderBy: [AgentThreadOrderBy!]! = [PRIMARY_KEY_ASC] + ): AgentThreadEdge +} - """Creates a single `AgentMessage`.""" - createAgentMessage( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAgentMessageInput! - ): CreateAgentMessagePayload +"""All input for the `deleteAgentThread` mutation.""" +input DeleteAgentThreadInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `Object`.""" - createObject( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateObjectInput! - ): CreateObjectPayload +"""The output of our delete `Email` mutation.""" +type DeleteEmailPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `SiteMetadatum`.""" - createSiteMetadatum( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSiteMetadatumInput! - ): CreateSiteMetadatumPayload + """The `Email` that was deleted by this mutation.""" + email: Email - """Creates a single `AppLevelRequirement`.""" - createAppLevelRequirement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLevelRequirementInput! - ): CreateAppLevelRequirementPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `FullTextSearch`.""" - createFullTextSearch( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateFullTextSearchInput! - ): CreateFullTextSearchPayload + """An edge for our `Email`. May be used by Relay 1.""" + emailEdge( + """The method to use when ordering `Email`.""" + orderBy: [EmailOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmailEdge +} - """Creates a single `TableGrant`.""" - createTableGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateTableGrantInput! - ): CreateTableGrantPayload +"""All input for the `deleteEmail` mutation.""" +input DeleteEmailInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `Commit`.""" - createCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCommitInput! - ): CreateCommitPayload +"""The output of our delete `AppGrant` mutation.""" +type DeleteAppGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `RateLimitsModule`.""" - createRateLimitsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRateLimitsModuleInput! - ): CreateRateLimitsModulePayload + """The `AppGrant` that was deleted by this mutation.""" + appGrant: AppGrant - """Creates a single `OrgChartEdgeGrant`.""" - createOrgChartEdgeGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgChartEdgeGrantInput! - ): CreateOrgChartEdgeGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `PhoneNumber`.""" - createPhoneNumber( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePhoneNumberInput! - ): CreatePhoneNumberPayload + """An edge for our `AppGrant`. May be used by Relay 1.""" + appGrantEdge( + """The method to use when ordering `AppGrant`.""" + orderBy: [AppGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppGrantEdge +} - """Creates a single `AppClaimedInvite`.""" - createAppClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppClaimedInviteInput! - ): CreateAppClaimedInvitePayload +"""All input for the `deleteAppGrant` mutation.""" +input DeleteAppGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `AppMembershipDefault`.""" - createAppMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppMembershipDefaultInput! - ): CreateAppMembershipDefaultPayload +"""The output of our delete `OrgClaimedInvite` mutation.""" +type DeleteOrgClaimedInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgMembershipDefault`.""" - createOrgMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMembershipDefaultInput! - ): CreateOrgMembershipDefaultPayload + """The `OrgClaimedInvite` that was deleted by this mutation.""" + orgClaimedInvite: OrgClaimedInvite - """Creates a single `AuditLog`.""" - createAuditLog( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAuditLogInput! - ): CreateAuditLogPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `Domain`.""" - createDomain( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDomainInput! - ): CreateDomainPayload + """An edge for our `OrgClaimedInvite`. May be used by Relay 1.""" + orgClaimedInviteEdge( + """The method to use when ordering `OrgClaimedInvite`.""" + orderBy: [OrgClaimedInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgClaimedInviteEdge +} - """Creates a single `AgentTask`.""" - createAgentTask( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAgentTaskInput! - ): CreateAgentTaskPayload +"""All input for the `deleteOrgClaimedInvite` mutation.""" +input DeleteOrgClaimedInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `AgentThread`.""" - createAgentThread( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAgentThreadInput! - ): CreateAgentThreadPayload +"""The output of our delete `OrgChartEdge` mutation.""" +type DeleteOrgChartEdgePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `Email`.""" - createEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEmailInput! - ): CreateEmailPayload + """The `OrgChartEdge` that was deleted by this mutation.""" + orgChartEdge: OrgChartEdge - """Creates a single `AppGrant`.""" - createAppGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppGrantInput! - ): CreateAppGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgClaimedInvite`.""" - createOrgClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgClaimedInviteInput! - ): CreateOrgClaimedInvitePayload + """An edge for our `OrgChartEdge`. May be used by Relay 1.""" + orgChartEdgeEdge( + """The method to use when ordering `OrgChartEdge`.""" + orderBy: [OrgChartEdgeOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgChartEdgeEdge +} - """Creates a single `AppLimitEvent`.""" - createAppLimitEvent( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLimitEventInput! - ): CreateAppLimitEventPayload +"""All input for the `deleteOrgChartEdge` mutation.""" +input DeleteOrgChartEdgeInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `OrgLimitEvent`.""" - createOrgLimitEvent( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitEventInput! - ): CreateOrgLimitEventPayload +"""The output of our delete `Partition` mutation.""" +type DeletePartitionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgChartEdge`.""" - createOrgChartEdge( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgChartEdgeInput! - ): CreateOrgChartEdgePayload + """The `Partition` that was deleted by this mutation.""" + partition: Partition - """Creates a single `AppLimit`.""" - createAppLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLimitInput! - ): CreateAppLimitPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgLimitAggregate`.""" - createOrgLimitAggregate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitAggregateInput! - ): CreateOrgLimitAggregatePayload + """An edge for our `Partition`. May be used by Relay 1.""" + partitionEdge( + """The method to use when ordering `Partition`.""" + orderBy: [PartitionOrderBy!]! = [PRIMARY_KEY_ASC] + ): PartitionEdge +} - """Creates a single `BlueprintConstruction`.""" - createBlueprintConstruction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateBlueprintConstructionInput! - ): CreateBlueprintConstructionPayload +"""All input for the `deletePartition` mutation.""" +input DeletePartitionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `PlansModule`.""" - createPlansModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePlansModuleInput! - ): CreatePlansModulePayload +"""The output of our delete `BlueprintConstruction` mutation.""" +type DeleteBlueprintConstructionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `RlsModule`.""" - createRlsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRlsModuleInput! - ): CreateRlsModulePayload + """The `BlueprintConstruction` that was deleted by this mutation.""" + blueprintConstruction: BlueprintConstruction - """Creates a single `SessionsModule`.""" - createSessionsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSessionsModuleInput! - ): CreateSessionsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgGrant`.""" - createOrgGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgGrantInput! - ): CreateOrgGrantPayload + """An edge for our `BlueprintConstruction`. May be used by Relay 1.""" + blueprintConstructionEdge( + """The method to use when ordering `BlueprintConstruction`.""" + orderBy: [BlueprintConstructionOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintConstructionEdge +} - """Creates a single `AppLevel`.""" - createAppLevel( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppLevelInput! - ): CreateAppLevelPayload +"""All input for the `deleteBlueprintConstruction` mutation.""" +input DeleteBlueprintConstructionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `OrgLimit`.""" - createOrgLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgLimitInput! - ): CreateOrgLimitPayload + """Unique identifier for this construction attempt.""" + id: UUID! +} - """Creates a single `Blueprint`.""" - createBlueprint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateBlueprintInput! - ): CreateBlueprintPayload +"""The output of our delete `RlsModule` mutation.""" +type DeleteRlsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `DenormalizedTableField`.""" - createDenormalizedTableField( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDenormalizedTableFieldInput! - ): CreateDenormalizedTableFieldPayload + """The `RlsModule` that was deleted by this mutation.""" + rlsModule: RlsModule - """Creates a single `OrgMemberProfile`.""" - createOrgMemberProfile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMemberProfileInput! - ): CreateOrgMemberProfilePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `SqlAction`.""" - createSqlAction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSqlActionInput! - ): CreateSqlActionPayload + """An edge for our `RlsModule`. May be used by Relay 1.""" + rlsModuleEdge( + """The method to use when ordering `RlsModule`.""" + orderBy: [RlsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): RlsModuleEdge +} - """Creates a single `DatabaseTransfer`.""" - createDatabaseTransfer( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDatabaseTransferInput! - ): CreateDatabaseTransferPayload +"""All input for the `deleteRlsModule` mutation.""" +input DeleteRlsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `BillingModule`.""" - createBillingModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateBillingModuleInput! - ): CreateBillingModulePayload +"""The output of our delete `SessionsModule` mutation.""" +type DeleteSessionsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `CryptoAuthModule`.""" - createCryptoAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCryptoAuthModuleInput! - ): CreateCryptoAuthModulePayload + """The `SessionsModule` that was deleted by this mutation.""" + sessionsModule: SessionsModule - """Creates a single `DatabaseProvisionModule`.""" - createDatabaseProvisionModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateDatabaseProvisionModuleInput! - ): CreateDatabaseProvisionModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `InvitesModule`.""" - createInvitesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateInvitesModuleInput! - ): CreateInvitesModulePayload + """An edge for our `SessionsModule`. May be used by Relay 1.""" + sessionsModuleEdge( + """The method to use when ordering `SessionsModule`.""" + orderBy: [SessionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): SessionsModuleEdge +} - """Creates a single `SecureTableProvision`.""" - createSecureTableProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSecureTableProvisionInput! - ): CreateSecureTableProvisionPayload +"""All input for the `deleteSessionsModule` mutation.""" +input DeleteSessionsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `AstMigration`.""" - createAstMigration( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAstMigrationInput! - ): CreateAstMigrationPayload +"""The output of our delete `OrgGrant` mutation.""" +type DeleteOrgGrantPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `Enum`.""" - createEnum( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEnumInput! - ): CreateEnumPayload + """The `OrgGrant` that was deleted by this mutation.""" + orgGrant: OrgGrant - """Creates a single `User`.""" - createUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUserInput! - ): CreateUserPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `View`.""" - createView( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateViewInput! - ): CreateViewPayload + """An edge for our `OrgGrant`. May be used by Relay 1.""" + orgGrantEdge( + """The method to use when ordering `OrgGrant`.""" + orderBy: [OrgGrantOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgGrantEdge +} - """Creates a single `WebauthnAuthModule`.""" - createWebauthnAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateWebauthnAuthModuleInput! - ): CreateWebauthnAuthModulePayload +"""All input for the `deleteOrgGrant` mutation.""" +input DeleteOrgGrantInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `AppInvite`.""" - createAppInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppInviteInput! - ): CreateAppInvitePayload +"""The output of our delete `AppLevel` mutation.""" +type DeleteAppLevelPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `OrgMembershipSetting`.""" - createOrgMembershipSetting( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMembershipSettingInput! - ): CreateOrgMembershipSettingPayload + """The `AppLevel` that was deleted by this mutation.""" + appLevel: AppLevel - """Creates a single `App`.""" - createApp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppInput! - ): CreateAppPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `Site`.""" - createSite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSiteInput! - ): CreateSitePayload + """An edge for our `AppLevel`. May be used by Relay 1.""" + appLevelEdge( + """The method to use when ordering `AppLevel`.""" + orderBy: [AppLevelOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLevelEdge +} - """Creates a single `NotificationsModule`.""" - createNotificationsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateNotificationsModuleInput! - ): CreateNotificationsModulePayload +"""All input for the `deleteAppLevel` mutation.""" +input DeleteAppLevelInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `PermissionsModule`.""" - createPermissionsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePermissionsModuleInput! - ): CreatePermissionsModulePayload +"""The output of our delete `DatabaseSetting` mutation.""" +type DeleteDatabaseSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `WebauthnCredential`.""" - createWebauthnCredential( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateWebauthnCredentialInput! - ): CreateWebauthnCredentialPayload + """The `DatabaseSetting` that was deleted by this mutation.""" + databaseSetting: DatabaseSetting - """Creates a single `PrimaryKeyConstraint`.""" - createPrimaryKeyConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePrimaryKeyConstraintInput! - ): CreatePrimaryKeyConstraintPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `Trigger`.""" - createTrigger( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateTriggerInput! - ): CreateTriggerPayload + """An edge for our `DatabaseSetting`. May be used by Relay 1.""" + databaseSettingEdge( + """The method to use when ordering `DatabaseSetting`.""" + orderBy: [DatabaseSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseSettingEdge +} - """Creates a single `CheckConstraint`.""" - createCheckConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateCheckConstraintInput! - ): CreateCheckConstraintPayload +"""All input for the `deleteDatabaseSetting` mutation.""" +input DeleteDatabaseSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `UniqueConstraint`.""" - createUniqueConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUniqueConstraintInput! - ): CreateUniqueConstraintPayload + """Unique identifier for this settings record""" + id: UUID! +} - """Creates a single `SpatialRelation`.""" - createSpatialRelation( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSpatialRelationInput! - ): CreateSpatialRelationPayload +"""The output of our delete `Blueprint` mutation.""" +type DeleteBlueprintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `Policy`.""" - createPolicy( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreatePolicyInput! - ): CreatePolicyPayload + """The `Blueprint` that was deleted by this mutation.""" + blueprint: Blueprint - """Creates a single `EmbeddingChunk`.""" - createEmbeddingChunk( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEmbeddingChunkInput! - ): CreateEmbeddingChunkPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `OrgInvite`.""" - createOrgInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgInviteInput! - ): CreateOrgInvitePayload + """An edge for our `Blueprint`. May be used by Relay 1.""" + blueprintEdge( + """The method to use when ordering `Blueprint`.""" + orderBy: [BlueprintOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintEdge +} - """Creates a single `AppMembership`.""" - createAppMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateAppMembershipInput! - ): CreateAppMembershipPayload +"""All input for the `deleteBlueprint` mutation.""" +input DeleteBlueprintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `Schema`.""" - createSchema( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSchemaInput! - ): CreateSchemaPayload + """Unique identifier for this blueprint.""" + id: UUID! +} - """Creates a single `Index`.""" - createIndex( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateIndexInput! - ): CreateIndexPayload +"""The output of our delete `DenormalizedTableField` mutation.""" +type DeleteDenormalizedTableFieldPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `LimitsModule`.""" - createLimitsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateLimitsModuleInput! - ): CreateLimitsModulePayload + """The `DenormalizedTableField` that was deleted by this mutation.""" + denormalizedTableField: DenormalizedTableField - """Creates a single `BlueprintTemplate`.""" - createBlueprintTemplate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateBlueprintTemplateInput! - ): CreateBlueprintTemplatePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `HierarchyModule`.""" - createHierarchyModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateHierarchyModuleInput! - ): CreateHierarchyModulePayload + """An edge for our `DenormalizedTableField`. May be used by Relay 1.""" + denormalizedTableFieldEdge( + """The method to use when ordering `DenormalizedTableField`.""" + orderBy: [DenormalizedTableFieldOrderBy!]! = [PRIMARY_KEY_ASC] + ): DenormalizedTableFieldEdge +} - """Creates a single `ProfilesModule`.""" - createProfilesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateProfilesModuleInput! - ): CreateProfilesModulePayload +"""All input for the `deleteDenormalizedTableField` mutation.""" +input DeleteDenormalizedTableFieldInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Creates a single `OrgMembership`.""" - createOrgMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateOrgMembershipInput! - ): CreateOrgMembershipPayload +"""The output of our delete `ApiSetting` mutation.""" +type DeleteApiSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `ForeignKeyConstraint`.""" - createForeignKeyConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateForeignKeyConstraintInput! - ): CreateForeignKeyConstraintPayload + """The `ApiSetting` that was deleted by this mutation.""" + apiSetting: ApiSetting - """Creates a single `StorageModule`.""" - createStorageModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateStorageModuleInput! - ): CreateStorageModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `Table`.""" - createTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateTableInput! - ): CreateTablePayload + """An edge for our `ApiSetting`. May be used by Relay 1.""" + apiSettingEdge( + """The method to use when ordering `ApiSetting`.""" + orderBy: [ApiSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): ApiSettingEdge +} - """Creates a single `EntityTypeProvision`.""" - createEntityTypeProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateEntityTypeProvisionInput! - ): CreateEntityTypeProvisionPayload +"""All input for the `deleteApiSetting` mutation.""" +input DeleteApiSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Creates a single `RelationProvision`.""" - createRelationProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateRelationProvisionInput! - ): CreateRelationProvisionPayload + """Unique identifier for this API settings record""" + id: UUID! +} - """Creates a single `LevelsModule`.""" - createLevelsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateLevelsModuleInput! - ): CreateLevelsModulePayload +"""The output of our delete `PlansModule` mutation.""" +type DeletePlansModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Creates a single `UserAuthModule`.""" - createUserAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateUserAuthModuleInput! - ): CreateUserAuthModulePayload + """The `PlansModule` that was deleted by this mutation.""" + plansModule: PlansModule - """Creates a single `Field`.""" - createField( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateFieldInput! - ): CreateFieldPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Creates a single `MembershipsModule`.""" - createMembershipsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateMembershipsModuleInput! - ): CreateMembershipsModulePayload + """An edge for our `PlansModule`. May be used by Relay 1.""" + plansModuleEdge( + """The method to use when ordering `PlansModule`.""" + orderBy: [PlansModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PlansModuleEdge +} - """Updates a single `DefaultIdsModule` using a unique key and a patch.""" - updateDefaultIdsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDefaultIdsModuleInput! - ): UpdateDefaultIdsModulePayload +"""All input for the `deletePlansModule` mutation.""" +input DeletePlansModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `RoleType` using a unique key and a patch.""" - updateRoleType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRoleTypeInput! - ): UpdateRoleTypePayload +"""The output of our delete `OrgMemberProfile` mutation.""" +type DeleteOrgMemberProfilePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `ViewTable` using a unique key and a patch.""" - updateViewTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateViewTableInput! - ): UpdateViewTablePayload + """The `OrgMemberProfile` that was deleted by this mutation.""" + orgMemberProfile: OrgMemberProfile - """Updates a single `ApiSchema` using a unique key and a patch.""" - updateApiSchema( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateApiSchemaInput! - ): UpdateApiSchemaPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `OrgMember` using a unique key and a patch.""" - updateOrgMember( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMemberInput! - ): UpdateOrgMemberPayload + """An edge for our `OrgMemberProfile`. May be used by Relay 1.""" + orgMemberProfileEdge( + """The method to use when ordering `OrgMemberProfile`.""" + orderBy: [OrgMemberProfileOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMemberProfileEdge +} - """Updates a single `SiteTheme` using a unique key and a patch.""" - updateSiteTheme( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSiteThemeInput! - ): UpdateSiteThemePayload +"""All input for the `deleteOrgMemberProfile` mutation.""" +input DeleteOrgMemberProfileInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `Ref` using a unique key and a patch.""" - updateRef( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRefInput! - ): UpdateRefPayload +"""The output of our delete `AppLimit` mutation.""" +type DeleteAppLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `Store` using a unique key and a patch.""" - updateStore( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateStoreInput! - ): UpdateStorePayload + """The `AppLimit` that was deleted by this mutation.""" + appLimit: AppLimit """ - Updates a single `EncryptedSecretsModule` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateEncryptedSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEncryptedSecretsModuleInput! - ): UpdateEncryptedSecretsModulePayload + query: Query + + """An edge for our `AppLimit`. May be used by Relay 1.""" + appLimitEdge( + """The method to use when ordering `AppLimit`.""" + orderBy: [AppLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppLimitEdge +} +"""All input for the `deleteAppLimit` mutation.""" +input DeleteAppLimitInput { """ - Updates a single `MembershipTypesModule` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updateMembershipTypesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateMembershipTypesModuleInput! - ): UpdateMembershipTypesModulePayload + clientMutationId: String + id: UUID! +} - """Updates a single `SecretsModule` using a unique key and a patch.""" - updateSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSecretsModuleInput! - ): UpdateSecretsModulePayload +"""The output of our delete `DatabaseTransfer` mutation.""" +type DeleteDatabaseTransferPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `DatabaseTransfer` that was deleted by this mutation.""" + databaseTransfer: DatabaseTransfer """ - Updates a single `AppPermissionDefault` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateAppPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppPermissionDefaultInput! - ): UpdateAppPermissionDefaultPayload + query: Query - """Updates a single `ApiModule` using a unique key and a patch.""" - updateApiModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateApiModuleInput! - ): UpdateApiModulePayload + """An edge for our `DatabaseTransfer`. May be used by Relay 1.""" + databaseTransferEdge( + """The method to use when ordering `DatabaseTransfer`.""" + orderBy: [DatabaseTransferOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseTransferEdge +} - """Updates a single `SiteModule` using a unique key and a patch.""" - updateSiteModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSiteModuleInput! - ): UpdateSiteModulePayload +"""All input for the `deleteDatabaseTransfer` mutation.""" +input DeleteDatabaseTransferInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `SchemaGrant` using a unique key and a patch.""" - updateSchemaGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSchemaGrantInput! - ): UpdateSchemaGrantPayload +"""The output of our delete `BillingModule` mutation.""" +type DeleteBillingModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `TriggerFunction` using a unique key and a patch.""" - updateTriggerFunction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateTriggerFunctionInput! - ): UpdateTriggerFunctionPayload + """The `BillingModule` that was deleted by this mutation.""" + billingModule: BillingModule - """Updates a single `ViewRule` using a unique key and a patch.""" - updateViewRule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateViewRuleInput! - ): UpdateViewRulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `BillingModule`. May be used by Relay 1.""" + billingModuleEdge( + """The method to use when ordering `BillingModule`.""" + orderBy: [BillingModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): BillingModuleEdge +} +"""All input for the `deleteBillingModule` mutation.""" +input DeleteBillingModuleInput { """ - Updates a single `IdentityProvidersModule` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updateIdentityProvidersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateIdentityProvidersModuleInput! - ): UpdateIdentityProvidersModulePayload + clientMutationId: String + id: UUID! +} +"""The output of our delete `CryptoAuthModule` mutation.""" +type DeleteCryptoAuthModulePayload { """ - Updates a single `SessionSecretsModule` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateSessionSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSessionSecretsModuleInput! - ): UpdateSessionSecretsModulePayload + clientMutationId: String - """Updates a single `AppAdminGrant` using a unique key and a patch.""" - updateAppAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppAdminGrantInput! - ): UpdateAppAdminGrantPayload + """The `CryptoAuthModule` that was deleted by this mutation.""" + cryptoAuthModule: CryptoAuthModule - """Updates a single `AppOwnerGrant` using a unique key and a patch.""" - updateAppOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppOwnerGrantInput! - ): UpdateAppOwnerGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppAchievement` using a unique key and a patch.""" - updateAppAchievement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppAchievementInput! - ): UpdateAppAchievementPayload + """An edge for our `CryptoAuthModule`. May be used by Relay 1.""" + cryptoAuthModuleEdge( + """The method to use when ordering `CryptoAuthModule`.""" + orderBy: [CryptoAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): CryptoAuthModuleEdge +} - """Updates a single `AppStep` using a unique key and a patch.""" - updateAppStep( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppStepInput! - ): UpdateAppStepPayload +"""All input for the `deleteCryptoAuthModule` mutation.""" +input DeleteCryptoAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} +"""The output of our delete `DatabaseProvisionModule` mutation.""" +type DeleteDatabaseProvisionModulePayload { """ - Updates a single `OrgPermissionDefault` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateOrgPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgPermissionDefaultInput! - ): UpdateOrgPermissionDefaultPayload + clientMutationId: String - """Updates a single `AppPermission` using a unique key and a patch.""" - updateAppPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppPermissionInput! - ): UpdateAppPermissionPayload + """The `DatabaseProvisionModule` that was deleted by this mutation.""" + databaseProvisionModule: DatabaseProvisionModule - """Updates a single `OrgPermission` using a unique key and a patch.""" - updateOrgPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgPermissionInput! - ): UpdateOrgPermissionPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `MembershipType` using a unique key and a patch.""" - updateMembershipType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateMembershipTypeInput! - ): UpdateMembershipTypePayload + """An edge for our `DatabaseProvisionModule`. May be used by Relay 1.""" + databaseProvisionModuleEdge( + """The method to use when ordering `DatabaseProvisionModule`.""" + orderBy: [DatabaseProvisionModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): DatabaseProvisionModuleEdge +} - """Updates a single `DefaultPrivilege` using a unique key and a patch.""" - updateDefaultPrivilege( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDefaultPrivilegeInput! - ): UpdateDefaultPrivilegePayload +"""All input for the `deleteDatabaseProvisionModule` mutation.""" +input DeleteDatabaseProvisionModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `ViewGrant` using a unique key and a patch.""" - updateViewGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateViewGrantInput! - ): UpdateViewGrantPayload +"""The output of our delete `InvitesModule` mutation.""" +type DeleteInvitesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `Api` using a unique key and a patch.""" - updateApi( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateApiInput! - ): UpdateApiPayload + """The `InvitesModule` that was deleted by this mutation.""" + invitesModule: InvitesModule """ - Updates a single `ConnectedAccountsModule` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateConnectedAccountsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateConnectedAccountsModuleInput! - ): UpdateConnectedAccountsModulePayload + query: Query - """Updates a single `DevicesModule` using a unique key and a patch.""" - updateDevicesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDevicesModuleInput! - ): UpdateDevicesModulePayload + """An edge for our `InvitesModule`. May be used by Relay 1.""" + invitesModuleEdge( + """The method to use when ordering `InvitesModule`.""" + orderBy: [InvitesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): InvitesModuleEdge +} - """Updates a single `EmailsModule` using a unique key and a patch.""" - updateEmailsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEmailsModuleInput! - ): UpdateEmailsModulePayload +"""All input for the `deleteInvitesModule` mutation.""" +input DeleteInvitesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `PhoneNumbersModule` using a unique key and a patch.""" - updatePhoneNumbersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePhoneNumbersModuleInput! - ): UpdatePhoneNumbersModulePayload +"""The output of our delete `SecureTableProvision` mutation.""" +type DeleteSecureTableProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `UsersModule` using a unique key and a patch.""" - updateUsersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateUsersModuleInput! - ): UpdateUsersModulePayload + """The `SecureTableProvision` that was deleted by this mutation.""" + secureTableProvision: SecureTableProvision """ - Updates a single `WebauthnCredentialsModule` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateWebauthnCredentialsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateWebauthnCredentialsModuleInput! - ): UpdateWebauthnCredentialsModulePayload - - """Updates a single `OrgAdminGrant` using a unique key and a patch.""" - updateOrgAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgAdminGrantInput! - ): UpdateOrgAdminGrantPayload + query: Query - """Updates a single `OrgOwnerGrant` using a unique key and a patch.""" - updateOrgOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgOwnerGrantInput! - ): UpdateOrgOwnerGrantPayload + """An edge for our `SecureTableProvision`. May be used by Relay 1.""" + secureTableProvisionEdge( + """The method to use when ordering `SecureTableProvision`.""" + orderBy: [SecureTableProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): SecureTableProvisionEdge +} - """Updates a single `NodeTypeRegistry` using a unique key and a patch.""" - updateNodeTypeRegistry( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateNodeTypeRegistryInput! - ): UpdateNodeTypeRegistryPayload +"""All input for the `deleteSecureTableProvision` mutation.""" +input DeleteSecureTableProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Updates a single `AppLimitDefault` using a unique key and a patch.""" - updateAppLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLimitDefaultInput! - ): UpdateAppLimitDefaultPayload + """Unique identifier for this provision row.""" + id: UUID! +} - """Updates a single `OrgLimitDefault` using a unique key and a patch.""" - updateOrgLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgLimitDefaultInput! - ): UpdateOrgLimitDefaultPayload +"""The output of our delete `OrgLimitAggregate` mutation.""" +type DeleteOrgLimitAggregatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `Database` using a unique key and a patch.""" - updateDatabase( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDatabaseInput! - ): UpdateDatabasePayload + """The `OrgLimitAggregate` that was deleted by this mutation.""" + orgLimitAggregate: OrgLimitAggregate """ - Updates a single `CryptoAddressesModule` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateCryptoAddressesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCryptoAddressesModuleInput! - ): UpdateCryptoAddressesModulePayload + query: Query - """Updates a single `CryptoAddress` using a unique key and a patch.""" - updateCryptoAddress( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCryptoAddressInput! - ): UpdateCryptoAddressPayload + """An edge for our `OrgLimitAggregate`. May be used by Relay 1.""" + orgLimitAggregateEdge( + """The method to use when ordering `OrgLimitAggregate`.""" + orderBy: [OrgLimitAggregateOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitAggregateEdge +} - """Updates a single `AgentMessage` using a unique key and a patch.""" - updateAgentMessage( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAgentMessageInput! - ): UpdateAgentMessagePayload +"""All input for the `deleteOrgLimitAggregate` mutation.""" +input DeleteOrgLimitAggregateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `Object` using a unique key and a patch.""" - updateObject( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateObjectInput! - ): UpdateObjectPayload +"""The output of our delete `OrgLimit` mutation.""" +type DeleteOrgLimitPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `SiteMetadatum` using a unique key and a patch.""" - updateSiteMetadatum( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSiteMetadatumInput! - ): UpdateSiteMetadatumPayload + """The `OrgLimit` that was deleted by this mutation.""" + orgLimit: OrgLimit - """Updates a single `AppLevelRequirement` using a unique key and a patch.""" - updateAppLevelRequirement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLevelRequirementInput! - ): UpdateAppLevelRequirementPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `FullTextSearch` using a unique key and a patch.""" - updateFullTextSearch( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateFullTextSearchInput! - ): UpdateFullTextSearchPayload + """An edge for our `OrgLimit`. May be used by Relay 1.""" + orgLimitEdge( + """The method to use when ordering `OrgLimit`.""" + orderBy: [OrgLimitOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgLimitEdge +} - """Updates a single `TableGrant` using a unique key and a patch.""" - updateTableGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateTableGrantInput! - ): UpdateTableGrantPayload +"""All input for the `deleteOrgLimit` mutation.""" +input DeleteOrgLimitInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `Commit` using a unique key and a patch.""" - updateCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCommitInput! - ): UpdateCommitPayload +"""The output of our delete `Enum` mutation.""" +type DeleteEnumPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `RateLimitsModule` using a unique key and a patch.""" - updateRateLimitsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRateLimitsModuleInput! - ): UpdateRateLimitsModulePayload + """The `Enum` that was deleted by this mutation.""" + enum: Enum - """Updates a single `OrgChartEdgeGrant` using a unique key and a patch.""" - updateOrgChartEdgeGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgChartEdgeGrantInput! - ): UpdateOrgChartEdgeGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `PhoneNumber` using a unique key and a patch.""" - updatePhoneNumber( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePhoneNumberInput! - ): UpdatePhoneNumberPayload + """An edge for our `Enum`. May be used by Relay 1.""" + enumEdge( + """The method to use when ordering `Enum`.""" + orderBy: [EnumOrderBy!]! = [PRIMARY_KEY_ASC] + ): EnumEdge +} - """Updates a single `AppClaimedInvite` using a unique key and a patch.""" - updateAppClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppClaimedInviteInput! - ): UpdateAppClaimedInvitePayload +"""All input for the `deleteEnum` mutation.""" +input DeleteEnumInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} +"""The output of our delete `User` mutation.""" +type DeleteUserPayload { """ - Updates a single `AppMembershipDefault` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateAppMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppMembershipDefaultInput! - ): UpdateAppMembershipDefaultPayload + clientMutationId: String + + """The `User` that was deleted by this mutation.""" + user: User """ - Updates a single `OrgMembershipDefault` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateOrgMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMembershipDefaultInput! - ): UpdateOrgMembershipDefaultPayload + query: Query - """Updates a single `AuditLog` using a unique key and a patch.""" - updateAuditLog( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAuditLogInput! - ): UpdateAuditLogPayload + """An edge for our `User`. May be used by Relay 1.""" + userEdge( + """The method to use when ordering `User`.""" + orderBy: [UserOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserEdge +} - """Updates a single `Domain` using a unique key and a patch.""" - updateDomain( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDomainInput! - ): UpdateDomainPayload +"""All input for the `deleteUser` mutation.""" +input DeleteUserInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `AgentTask` using a unique key and a patch.""" - updateAgentTask( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAgentTaskInput! - ): UpdateAgentTaskPayload +"""The output of our delete `View` mutation.""" +type DeleteViewPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `AgentThread` using a unique key and a patch.""" - updateAgentThread( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAgentThreadInput! - ): UpdateAgentThreadPayload + """The `View` that was deleted by this mutation.""" + view: View - """Updates a single `Email` using a unique key and a patch.""" - updateEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEmailInput! - ): UpdateEmailPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppGrant` using a unique key and a patch.""" - updateAppGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppGrantInput! - ): UpdateAppGrantPayload + """An edge for our `View`. May be used by Relay 1.""" + viewEdge( + """The method to use when ordering `View`.""" + orderBy: [ViewOrderBy!]! = [PRIMARY_KEY_ASC] + ): ViewEdge +} - """Updates a single `OrgClaimedInvite` using a unique key and a patch.""" - updateOrgClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgClaimedInviteInput! - ): UpdateOrgClaimedInvitePayload +"""All input for the `deleteView` mutation.""" +input DeleteViewInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `OrgChartEdge` using a unique key and a patch.""" - updateOrgChartEdge( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgChartEdgeInput! - ): UpdateOrgChartEdgePayload +"""The output of our delete `WebauthnAuthModule` mutation.""" +type DeleteWebauthnAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `AppLimit` using a unique key and a patch.""" - updateAppLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLimitInput! - ): UpdateAppLimitPayload + """The `WebauthnAuthModule` that was deleted by this mutation.""" + webauthnAuthModule: WebauthnAuthModule - """Updates a single `OrgLimitAggregate` using a unique key and a patch.""" - updateOrgLimitAggregate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgLimitAggregateInput! - ): UpdateOrgLimitAggregatePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query + + """An edge for our `WebauthnAuthModule`. May be used by Relay 1.""" + webauthnAuthModuleEdge( + """The method to use when ordering `WebauthnAuthModule`.""" + orderBy: [WebauthnAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnAuthModuleEdge +} +"""All input for the `deleteWebauthnAuthModule` mutation.""" +input DeleteWebauthnAuthModuleInput { """ - Updates a single `BlueprintConstruction` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updateBlueprintConstruction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateBlueprintConstructionInput! - ): UpdateBlueprintConstructionPayload + clientMutationId: String + id: UUID! +} - """Updates a single `PlansModule` using a unique key and a patch.""" - updatePlansModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePlansModuleInput! - ): UpdatePlansModulePayload +"""The output of our delete `AppInvite` mutation.""" +type DeleteAppInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `RlsModule` using a unique key and a patch.""" - updateRlsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRlsModuleInput! - ): UpdateRlsModulePayload + """The `AppInvite` that was deleted by this mutation.""" + appInvite: AppInvite - """Updates a single `SessionsModule` using a unique key and a patch.""" - updateSessionsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSessionsModuleInput! - ): UpdateSessionsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `OrgGrant` using a unique key and a patch.""" - updateOrgGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgGrantInput! - ): UpdateOrgGrantPayload + """An edge for our `AppInvite`. May be used by Relay 1.""" + appInviteEdge( + """The method to use when ordering `AppInvite`.""" + orderBy: [AppInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppInviteEdge +} - """Updates a single `AppLevel` using a unique key and a patch.""" - updateAppLevel( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppLevelInput! - ): UpdateAppLevelPayload +"""All input for the `deleteAppInvite` mutation.""" +input DeleteAppInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `OrgLimit` using a unique key and a patch.""" - updateOrgLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgLimitInput! - ): UpdateOrgLimitPayload +"""The output of our delete `OrgMembershipSetting` mutation.""" +type DeleteOrgMembershipSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `Blueprint` using a unique key and a patch.""" - updateBlueprint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateBlueprintInput! - ): UpdateBlueprintPayload + """The `OrgMembershipSetting` that was deleted by this mutation.""" + orgMembershipSetting: OrgMembershipSetting """ - Updates a single `DenormalizedTableField` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateDenormalizedTableField( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDenormalizedTableFieldInput! - ): UpdateDenormalizedTableFieldPayload + query: Query - """Updates a single `OrgMemberProfile` using a unique key and a patch.""" - updateOrgMemberProfile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMemberProfileInput! - ): UpdateOrgMemberProfilePayload + """An edge for our `OrgMembershipSetting`. May be used by Relay 1.""" + orgMembershipSettingEdge( + """The method to use when ordering `OrgMembershipSetting`.""" + orderBy: [OrgMembershipSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipSettingEdge +} - """Updates a single `DatabaseTransfer` using a unique key and a patch.""" - updateDatabaseTransfer( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDatabaseTransferInput! - ): UpdateDatabaseTransferPayload +"""All input for the `deleteOrgMembershipSetting` mutation.""" +input DeleteOrgMembershipSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `BillingModule` using a unique key and a patch.""" - updateBillingModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateBillingModuleInput! - ): UpdateBillingModulePayload +"""The output of our delete `App` mutation.""" +type DeleteAppPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `CryptoAuthModule` using a unique key and a patch.""" - updateCryptoAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCryptoAuthModuleInput! - ): UpdateCryptoAuthModulePayload + """The `App` that was deleted by this mutation.""" + app: App """ - Updates a single `DatabaseProvisionModule` using a unique key and a patch. + Our root query field type. Allows us to run any query from our mutation payload. """ - updateDatabaseProvisionModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateDatabaseProvisionModuleInput! - ): UpdateDatabaseProvisionModulePayload + query: Query - """Updates a single `InvitesModule` using a unique key and a patch.""" - updateInvitesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateInvitesModuleInput! - ): UpdateInvitesModulePayload + """An edge for our `App`. May be used by Relay 1.""" + appEdge( + """The method to use when ordering `App`.""" + orderBy: [AppOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppEdge +} +"""All input for the `deleteApp` mutation.""" +input DeleteAppInput { """ - Updates a single `SecureTableProvision` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updateSecureTableProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSecureTableProvisionInput! - ): UpdateSecureTableProvisionPayload + clientMutationId: String - """Updates a single `Enum` using a unique key and a patch.""" - updateEnum( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEnumInput! - ): UpdateEnumPayload + """Unique identifier for this app""" + id: UUID! +} - """Updates a single `User` using a unique key and a patch.""" - updateUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateUserInput! - ): UpdateUserPayload +"""The output of our delete `Site` mutation.""" +type DeleteSitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `View` using a unique key and a patch.""" - updateView( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateViewInput! - ): UpdateViewPayload + """The `Site` that was deleted by this mutation.""" + site: Site - """Updates a single `WebauthnAuthModule` using a unique key and a patch.""" - updateWebauthnAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateWebauthnAuthModuleInput! - ): UpdateWebauthnAuthModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `AppInvite` using a unique key and a patch.""" - updateAppInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppInviteInput! - ): UpdateAppInvitePayload + """An edge for our `Site`. May be used by Relay 1.""" + siteEdge( + """The method to use when ordering `Site`.""" + orderBy: [SiteOrderBy!]! = [PRIMARY_KEY_ASC] + ): SiteEdge +} +"""All input for the `deleteSite` mutation.""" +input DeleteSiteInput { """ - Updates a single `OrgMembershipSetting` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updateOrgMembershipSetting( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMembershipSettingInput! - ): UpdateOrgMembershipSettingPayload + clientMutationId: String - """Updates a single `App` using a unique key and a patch.""" - updateApp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppInput! - ): UpdateAppPayload + """Unique identifier for this site""" + id: UUID! +} - """Updates a single `Site` using a unique key and a patch.""" - updateSite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSiteInput! - ): UpdateSitePayload +"""The output of our delete `NotificationsModule` mutation.""" +type DeleteNotificationsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `NotificationsModule` using a unique key and a patch.""" - updateNotificationsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateNotificationsModuleInput! - ): UpdateNotificationsModulePayload + """The `NotificationsModule` that was deleted by this mutation.""" + notificationsModule: NotificationsModule - """Updates a single `PermissionsModule` using a unique key and a patch.""" - updatePermissionsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePermissionsModuleInput! - ): UpdatePermissionsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `WebauthnCredential` using a unique key and a patch.""" - updateWebauthnCredential( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateWebauthnCredentialInput! - ): UpdateWebauthnCredentialPayload + """An edge for our `NotificationsModule`. May be used by Relay 1.""" + notificationsModuleEdge( + """The method to use when ordering `NotificationsModule`.""" + orderBy: [NotificationsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): NotificationsModuleEdge +} +"""All input for the `deleteNotificationsModule` mutation.""" +input DeleteNotificationsModuleInput { """ - Updates a single `PrimaryKeyConstraint` using a unique key and a patch. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - updatePrimaryKeyConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePrimaryKeyConstraintInput! - ): UpdatePrimaryKeyConstraintPayload + clientMutationId: String + id: UUID! +} - """Updates a single `Trigger` using a unique key and a patch.""" - updateTrigger( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateTriggerInput! - ): UpdateTriggerPayload +"""The output of our delete `PermissionsModule` mutation.""" +type DeletePermissionsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `CheckConstraint` using a unique key and a patch.""" - updateCheckConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateCheckConstraintInput! - ): UpdateCheckConstraintPayload + """The `PermissionsModule` that was deleted by this mutation.""" + permissionsModule: PermissionsModule - """Updates a single `UniqueConstraint` using a unique key and a patch.""" - updateUniqueConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateUniqueConstraintInput! - ): UpdateUniqueConstraintPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `SpatialRelation` using a unique key and a patch.""" - updateSpatialRelation( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSpatialRelationInput! - ): UpdateSpatialRelationPayload + """An edge for our `PermissionsModule`. May be used by Relay 1.""" + permissionsModuleEdge( + """The method to use when ordering `PermissionsModule`.""" + orderBy: [PermissionsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): PermissionsModuleEdge +} - """Updates a single `Policy` using a unique key and a patch.""" - updatePolicy( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdatePolicyInput! - ): UpdatePolicyPayload +"""All input for the `deletePermissionsModule` mutation.""" +input DeletePermissionsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `EmbeddingChunk` using a unique key and a patch.""" - updateEmbeddingChunk( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEmbeddingChunkInput! - ): UpdateEmbeddingChunkPayload +"""The output of our delete `WebauthnCredential` mutation.""" +type DeleteWebauthnCredentialPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `OrgInvite` using a unique key and a patch.""" - updateOrgInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgInviteInput! - ): UpdateOrgInvitePayload + """The `WebauthnCredential` that was deleted by this mutation.""" + webauthnCredential: WebauthnCredential - """Updates a single `AppMembership` using a unique key and a patch.""" - updateAppMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateAppMembershipInput! - ): UpdateAppMembershipPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `Schema` using a unique key and a patch.""" - updateSchema( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSchemaInput! - ): UpdateSchemaPayload + """An edge for our `WebauthnCredential`. May be used by Relay 1.""" + webauthnCredentialEdge( + """The method to use when ordering `WebauthnCredential`.""" + orderBy: [WebauthnCredentialOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnCredentialEdge +} - """Updates a single `Index` using a unique key and a patch.""" - updateIndex( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateIndexInput! - ): UpdateIndexPayload +"""All input for the `deleteWebauthnCredential` mutation.""" +input DeleteWebauthnCredentialInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `LimitsModule` using a unique key and a patch.""" - updateLimitsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateLimitsModuleInput! - ): UpdateLimitsModulePayload +"""The output of our delete `PrimaryKeyConstraint` mutation.""" +type DeletePrimaryKeyConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Updates a single `BlueprintTemplate` using a unique key and a patch.""" - updateBlueprintTemplate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateBlueprintTemplateInput! - ): UpdateBlueprintTemplatePayload + """The `PrimaryKeyConstraint` that was deleted by this mutation.""" + primaryKeyConstraint: PrimaryKeyConstraint - """Updates a single `HierarchyModule` using a unique key and a patch.""" - updateHierarchyModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateHierarchyModuleInput! - ): UpdateHierarchyModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `ProfilesModule` using a unique key and a patch.""" - updateProfilesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateProfilesModuleInput! - ): UpdateProfilesModulePayload + """An edge for our `PrimaryKeyConstraint`. May be used by Relay 1.""" + primaryKeyConstraintEdge( + """The method to use when ordering `PrimaryKeyConstraint`.""" + orderBy: [PrimaryKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): PrimaryKeyConstraintEdge +} - """Updates a single `OrgMembership` using a unique key and a patch.""" - updateOrgMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateOrgMembershipInput! - ): UpdateOrgMembershipPayload +"""All input for the `deletePrimaryKeyConstraint` mutation.""" +input DeletePrimaryKeyConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} +"""The output of our delete `Trigger` mutation.""" +type DeleteTriggerPayload { """ - Updates a single `ForeignKeyConstraint` using a unique key and a patch. + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. """ - updateForeignKeyConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateForeignKeyConstraintInput! - ): UpdateForeignKeyConstraintPayload + clientMutationId: String - """Updates a single `StorageModule` using a unique key and a patch.""" - updateStorageModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateStorageModuleInput! - ): UpdateStorageModulePayload + """The `Trigger` that was deleted by this mutation.""" + trigger: Trigger - """Updates a single `Table` using a unique key and a patch.""" - updateTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateTableInput! - ): UpdateTablePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `EntityTypeProvision` using a unique key and a patch.""" - updateEntityTypeProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateEntityTypeProvisionInput! - ): UpdateEntityTypeProvisionPayload + """An edge for our `Trigger`. May be used by Relay 1.""" + triggerEdge( + """The method to use when ordering `Trigger`.""" + orderBy: [TriggerOrderBy!]! = [PRIMARY_KEY_ASC] + ): TriggerEdge +} - """Updates a single `RelationProvision` using a unique key and a patch.""" - updateRelationProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateRelationProvisionInput! - ): UpdateRelationProvisionPayload +"""All input for the `deleteTrigger` mutation.""" +input DeleteTriggerInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `LevelsModule` using a unique key and a patch.""" - updateLevelsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateLevelsModuleInput! - ): UpdateLevelsModulePayload +"""The output of our delete `CheckConstraint` mutation.""" +type DeleteCheckConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String + + """The `CheckConstraint` that was deleted by this mutation.""" + checkConstraint: CheckConstraint + + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Updates a single `UserAuthModule` using a unique key and a patch.""" - updateUserAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateUserAuthModuleInput! - ): UpdateUserAuthModulePayload + """An edge for our `CheckConstraint`. May be used by Relay 1.""" + checkConstraintEdge( + """The method to use when ordering `CheckConstraint`.""" + orderBy: [CheckConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): CheckConstraintEdge +} - """Updates a single `Field` using a unique key and a patch.""" - updateField( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateFieldInput! - ): UpdateFieldPayload +"""All input for the `deleteCheckConstraint` mutation.""" +input DeleteCheckConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Updates a single `MembershipsModule` using a unique key and a patch.""" - updateMembershipsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateMembershipsModuleInput! - ): UpdateMembershipsModulePayload +"""The output of our delete `UniqueConstraint` mutation.""" +type DeleteUniqueConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `DefaultIdsModule` using a unique key.""" - deleteDefaultIdsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDefaultIdsModuleInput! - ): DeleteDefaultIdsModulePayload + """The `UniqueConstraint` that was deleted by this mutation.""" + uniqueConstraint: UniqueConstraint - """Deletes a single `RoleType` using a unique key.""" - deleteRoleType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRoleTypeInput! - ): DeleteRoleTypePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `ViewTable` using a unique key.""" - deleteViewTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteViewTableInput! - ): DeleteViewTablePayload + """An edge for our `UniqueConstraint`. May be used by Relay 1.""" + uniqueConstraintEdge( + """The method to use when ordering `UniqueConstraint`.""" + orderBy: [UniqueConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): UniqueConstraintEdge +} - """Deletes a single `ApiSchema` using a unique key.""" - deleteApiSchema( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteApiSchemaInput! - ): DeleteApiSchemaPayload +"""All input for the `deleteUniqueConstraint` mutation.""" +input DeleteUniqueConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgMember` using a unique key.""" - deleteOrgMember( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMemberInput! - ): DeleteOrgMemberPayload +"""The output of our delete `SpatialRelation` mutation.""" +type DeleteSpatialRelationPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `SiteTheme` using a unique key.""" - deleteSiteTheme( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSiteThemeInput! - ): DeleteSiteThemePayload + """The `SpatialRelation` that was deleted by this mutation.""" + spatialRelation: SpatialRelation - """Deletes a single `Ref` using a unique key.""" - deleteRef( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRefInput! - ): DeleteRefPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `Store` using a unique key.""" - deleteStore( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteStoreInput! - ): DeleteStorePayload + """An edge for our `SpatialRelation`. May be used by Relay 1.""" + spatialRelationEdge( + """The method to use when ordering `SpatialRelation`.""" + orderBy: [SpatialRelationOrderBy!]! = [PRIMARY_KEY_ASC] + ): SpatialRelationEdge +} - """Deletes a single `EncryptedSecretsModule` using a unique key.""" - deleteEncryptedSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEncryptedSecretsModuleInput! - ): DeleteEncryptedSecretsModulePayload +"""All input for the `deleteSpatialRelation` mutation.""" +input DeleteSpatialRelationInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `MembershipTypesModule` using a unique key.""" - deleteMembershipTypesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteMembershipTypesModuleInput! - ): DeleteMembershipTypesModulePayload +"""The output of our delete `Policy` mutation.""" +type DeletePolicyPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `SecretsModule` using a unique key.""" - deleteSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSecretsModuleInput! - ): DeleteSecretsModulePayload + """The `Policy` that was deleted by this mutation.""" + policy: Policy - """Deletes a single `AppPermissionDefault` using a unique key.""" - deleteAppPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppPermissionDefaultInput! - ): DeleteAppPermissionDefaultPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `ApiModule` using a unique key.""" - deleteApiModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteApiModuleInput! - ): DeleteApiModulePayload + """An edge for our `Policy`. May be used by Relay 1.""" + policyEdge( + """The method to use when ordering `Policy`.""" + orderBy: [PolicyOrderBy!]! = [PRIMARY_KEY_ASC] + ): PolicyEdge +} - """Deletes a single `SiteModule` using a unique key.""" - deleteSiteModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSiteModuleInput! - ): DeleteSiteModulePayload +"""All input for the `deletePolicy` mutation.""" +input DeletePolicyInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `SchemaGrant` using a unique key.""" - deleteSchemaGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSchemaGrantInput! - ): DeleteSchemaGrantPayload +"""The output of our delete `EmbeddingChunk` mutation.""" +type DeleteEmbeddingChunkPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `TriggerFunction` using a unique key.""" - deleteTriggerFunction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteTriggerFunctionInput! - ): DeleteTriggerFunctionPayload + """The `EmbeddingChunk` that was deleted by this mutation.""" + embeddingChunk: EmbeddingChunk - """Deletes a single `ViewRule` using a unique key.""" - deleteViewRule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteViewRuleInput! - ): DeleteViewRulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `IdentityProvidersModule` using a unique key.""" - deleteIdentityProvidersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteIdentityProvidersModuleInput! - ): DeleteIdentityProvidersModulePayload + """An edge for our `EmbeddingChunk`. May be used by Relay 1.""" + embeddingChunkEdge( + """The method to use when ordering `EmbeddingChunk`.""" + orderBy: [EmbeddingChunkOrderBy!]! = [PRIMARY_KEY_ASC] + ): EmbeddingChunkEdge +} - """Deletes a single `SessionSecretsModule` using a unique key.""" - deleteSessionSecretsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSessionSecretsModuleInput! - ): DeleteSessionSecretsModulePayload +"""All input for the `deleteEmbeddingChunk` mutation.""" +input DeleteEmbeddingChunkInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `AppAdminGrant` using a unique key.""" - deleteAppAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppAdminGrantInput! - ): DeleteAppAdminGrantPayload +"""The output of our delete `WebauthnSetting` mutation.""" +type DeleteWebauthnSettingPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppOwnerGrant` using a unique key.""" - deleteAppOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppOwnerGrantInput! - ): DeleteAppOwnerGrantPayload + """The `WebauthnSetting` that was deleted by this mutation.""" + webauthnSetting: WebauthnSetting - """Deletes a single `AppAchievement` using a unique key.""" - deleteAppAchievement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppAchievementInput! - ): DeleteAppAchievementPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `AppStep` using a unique key.""" - deleteAppStep( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppStepInput! - ): DeleteAppStepPayload + """An edge for our `WebauthnSetting`. May be used by Relay 1.""" + webauthnSettingEdge( + """The method to use when ordering `WebauthnSetting`.""" + orderBy: [WebauthnSettingOrderBy!]! = [PRIMARY_KEY_ASC] + ): WebauthnSettingEdge +} - """Deletes a single `OrgPermissionDefault` using a unique key.""" - deleteOrgPermissionDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgPermissionDefaultInput! - ): DeleteOrgPermissionDefaultPayload +"""All input for the `deleteWebauthnSetting` mutation.""" +input DeleteWebauthnSettingInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Deletes a single `AppPermission` using a unique key.""" - deleteAppPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppPermissionInput! - ): DeleteAppPermissionPayload + """Unique identifier for this WebAuthn settings record""" + id: UUID! +} - """Deletes a single `OrgPermission` using a unique key.""" - deleteOrgPermission( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgPermissionInput! - ): DeleteOrgPermissionPayload +"""The output of our delete `OrgInvite` mutation.""" +type DeleteOrgInvitePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `MembershipType` using a unique key.""" - deleteMembershipType( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteMembershipTypeInput! - ): DeleteMembershipTypePayload + """The `OrgInvite` that was deleted by this mutation.""" + orgInvite: OrgInvite - """Deletes a single `DefaultPrivilege` using a unique key.""" - deleteDefaultPrivilege( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDefaultPrivilegeInput! - ): DeleteDefaultPrivilegePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `ViewGrant` using a unique key.""" - deleteViewGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteViewGrantInput! - ): DeleteViewGrantPayload + """An edge for our `OrgInvite`. May be used by Relay 1.""" + orgInviteEdge( + """The method to use when ordering `OrgInvite`.""" + orderBy: [OrgInviteOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgInviteEdge +} - """Deletes a single `Api` using a unique key.""" - deleteApi( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteApiInput! - ): DeleteApiPayload +"""All input for the `deleteOrgInvite` mutation.""" +input DeleteOrgInviteInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `ConnectedAccountsModule` using a unique key.""" - deleteConnectedAccountsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteConnectedAccountsModuleInput! - ): DeleteConnectedAccountsModulePayload +"""The output of our delete `AppMembership` mutation.""" +type DeleteAppMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `DevicesModule` using a unique key.""" - deleteDevicesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDevicesModuleInput! - ): DeleteDevicesModulePayload + """The `AppMembership` that was deleted by this mutation.""" + appMembership: AppMembership - """Deletes a single `EmailsModule` using a unique key.""" - deleteEmailsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEmailsModuleInput! - ): DeleteEmailsModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `PhoneNumbersModule` using a unique key.""" - deletePhoneNumbersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePhoneNumbersModuleInput! - ): DeletePhoneNumbersModulePayload + """An edge for our `AppMembership`. May be used by Relay 1.""" + appMembershipEdge( + """The method to use when ordering `AppMembership`.""" + orderBy: [AppMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): AppMembershipEdge +} - """Deletes a single `UsersModule` using a unique key.""" - deleteUsersModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteUsersModuleInput! - ): DeleteUsersModulePayload +"""All input for the `deleteAppMembership` mutation.""" +input DeleteAppMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `WebauthnCredentialsModule` using a unique key.""" - deleteWebauthnCredentialsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteWebauthnCredentialsModuleInput! - ): DeleteWebauthnCredentialsModulePayload +"""The output of our delete `Schema` mutation.""" +type DeleteSchemaPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `OrgAdminGrant` using a unique key.""" - deleteOrgAdminGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgAdminGrantInput! - ): DeleteOrgAdminGrantPayload + """The `Schema` that was deleted by this mutation.""" + schema: Schema - """Deletes a single `OrgOwnerGrant` using a unique key.""" - deleteOrgOwnerGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgOwnerGrantInput! - ): DeleteOrgOwnerGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `NodeTypeRegistry` using a unique key.""" - deleteNodeTypeRegistry( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteNodeTypeRegistryInput! - ): DeleteNodeTypeRegistryPayload + """An edge for our `Schema`. May be used by Relay 1.""" + schemaEdge( + """The method to use when ordering `Schema`.""" + orderBy: [SchemaOrderBy!]! = [PRIMARY_KEY_ASC] + ): SchemaEdge +} - """Deletes a single `AppLimitDefault` using a unique key.""" - deleteAppLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLimitDefaultInput! - ): DeleteAppLimitDefaultPayload +"""All input for the `deleteSchema` mutation.""" +input DeleteSchemaInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgLimitDefault` using a unique key.""" - deleteOrgLimitDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgLimitDefaultInput! - ): DeleteOrgLimitDefaultPayload +"""The output of our delete `Index` mutation.""" +type DeleteIndexPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `Database` using a unique key.""" - deleteDatabase( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDatabaseInput! - ): DeleteDatabasePayload + """The `Index` that was deleted by this mutation.""" + index: Index - """Deletes a single `CryptoAddressesModule` using a unique key.""" - deleteCryptoAddressesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCryptoAddressesModuleInput! - ): DeleteCryptoAddressesModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `CryptoAddress` using a unique key.""" - deleteCryptoAddress( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCryptoAddressInput! - ): DeleteCryptoAddressPayload + """An edge for our `Index`. May be used by Relay 1.""" + indexEdge( + """The method to use when ordering `Index`.""" + orderBy: [IndexOrderBy!]! = [PRIMARY_KEY_ASC] + ): IndexEdge +} - """Deletes a single `AgentMessage` using a unique key.""" - deleteAgentMessage( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAgentMessageInput! - ): DeleteAgentMessagePayload +"""All input for the `deleteIndex` mutation.""" +input DeleteIndexInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `Object` using a unique key.""" - deleteObject( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteObjectInput! - ): DeleteObjectPayload +"""The output of our delete `BillingProviderModule` mutation.""" +type DeleteBillingProviderModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `SiteMetadatum` using a unique key.""" - deleteSiteMetadatum( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSiteMetadatumInput! - ): DeleteSiteMetadatumPayload + """The `BillingProviderModule` that was deleted by this mutation.""" + billingProviderModule: BillingProviderModule - """Deletes a single `AppLevelRequirement` using a unique key.""" - deleteAppLevelRequirement( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLevelRequirementInput! - ): DeleteAppLevelRequirementPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `FullTextSearch` using a unique key.""" - deleteFullTextSearch( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteFullTextSearchInput! - ): DeleteFullTextSearchPayload + """An edge for our `BillingProviderModule`. May be used by Relay 1.""" + billingProviderModuleEdge( + """The method to use when ordering `BillingProviderModule`.""" + orderBy: [BillingProviderModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): BillingProviderModuleEdge +} - """Deletes a single `TableGrant` using a unique key.""" - deleteTableGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteTableGrantInput! - ): DeleteTableGrantPayload +"""All input for the `deleteBillingProviderModule` mutation.""" +input DeleteBillingProviderModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `Commit` using a unique key.""" - deleteCommit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCommitInput! - ): DeleteCommitPayload +"""The output of our delete `BlueprintTemplate` mutation.""" +type DeleteBlueprintTemplatePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `RateLimitsModule` using a unique key.""" - deleteRateLimitsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRateLimitsModuleInput! - ): DeleteRateLimitsModulePayload + """The `BlueprintTemplate` that was deleted by this mutation.""" + blueprintTemplate: BlueprintTemplate - """Deletes a single `OrgChartEdgeGrant` using a unique key.""" - deleteOrgChartEdgeGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgChartEdgeGrantInput! - ): DeleteOrgChartEdgeGrantPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `PhoneNumber` using a unique key.""" - deletePhoneNumber( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePhoneNumberInput! - ): DeletePhoneNumberPayload + """An edge for our `BlueprintTemplate`. May be used by Relay 1.""" + blueprintTemplateEdge( + """The method to use when ordering `BlueprintTemplate`.""" + orderBy: [BlueprintTemplateOrderBy!]! = [PRIMARY_KEY_ASC] + ): BlueprintTemplateEdge +} - """Deletes a single `AppClaimedInvite` using a unique key.""" - deleteAppClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppClaimedInviteInput! - ): DeleteAppClaimedInvitePayload +"""All input for the `deleteBlueprintTemplate` mutation.""" +input DeleteBlueprintTemplateInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Deletes a single `AppMembershipDefault` using a unique key.""" - deleteAppMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppMembershipDefaultInput! - ): DeleteAppMembershipDefaultPayload + """Unique identifier for this template.""" + id: UUID! +} - """Deletes a single `OrgMembershipDefault` using a unique key.""" - deleteOrgMembershipDefault( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMembershipDefaultInput! - ): DeleteOrgMembershipDefaultPayload +"""The output of our delete `HierarchyModule` mutation.""" +type DeleteHierarchyModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AuditLog` using a unique key.""" - deleteAuditLog( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAuditLogInput! - ): DeleteAuditLogPayload + """The `HierarchyModule` that was deleted by this mutation.""" + hierarchyModule: HierarchyModule - """Deletes a single `Domain` using a unique key.""" - deleteDomain( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDomainInput! - ): DeleteDomainPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `AgentTask` using a unique key.""" - deleteAgentTask( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAgentTaskInput! - ): DeleteAgentTaskPayload + """An edge for our `HierarchyModule`. May be used by Relay 1.""" + hierarchyModuleEdge( + """The method to use when ordering `HierarchyModule`.""" + orderBy: [HierarchyModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): HierarchyModuleEdge +} - """Deletes a single `AgentThread` using a unique key.""" - deleteAgentThread( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAgentThreadInput! - ): DeleteAgentThreadPayload +"""All input for the `deleteHierarchyModule` mutation.""" +input DeleteHierarchyModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `Email` using a unique key.""" - deleteEmail( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEmailInput! - ): DeleteEmailPayload +"""The output of our delete `ProfilesModule` mutation.""" +type DeleteProfilesModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppGrant` using a unique key.""" - deleteAppGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppGrantInput! - ): DeleteAppGrantPayload + """The `ProfilesModule` that was deleted by this mutation.""" + profilesModule: ProfilesModule - """Deletes a single `OrgClaimedInvite` using a unique key.""" - deleteOrgClaimedInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgClaimedInviteInput! - ): DeleteOrgClaimedInvitePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `OrgChartEdge` using a unique key.""" - deleteOrgChartEdge( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgChartEdgeInput! - ): DeleteOrgChartEdgePayload + """An edge for our `ProfilesModule`. May be used by Relay 1.""" + profilesModuleEdge( + """The method to use when ordering `ProfilesModule`.""" + orderBy: [ProfilesModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): ProfilesModuleEdge +} - """Deletes a single `AppLimit` using a unique key.""" - deleteAppLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLimitInput! - ): DeleteAppLimitPayload +"""All input for the `deleteProfilesModule` mutation.""" +input DeleteProfilesModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgLimitAggregate` using a unique key.""" - deleteOrgLimitAggregate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgLimitAggregateInput! - ): DeleteOrgLimitAggregatePayload +"""The output of our delete `OrgMembership` mutation.""" +type DeleteOrgMembershipPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `BlueprintConstruction` using a unique key.""" - deleteBlueprintConstruction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteBlueprintConstructionInput! - ): DeleteBlueprintConstructionPayload + """The `OrgMembership` that was deleted by this mutation.""" + orgMembership: OrgMembership - """Deletes a single `PlansModule` using a unique key.""" - deletePlansModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePlansModuleInput! - ): DeletePlansModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `RlsModule` using a unique key.""" - deleteRlsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRlsModuleInput! - ): DeleteRlsModulePayload + """An edge for our `OrgMembership`. May be used by Relay 1.""" + orgMembershipEdge( + """The method to use when ordering `OrgMembership`.""" + orderBy: [OrgMembershipOrderBy!]! = [PRIMARY_KEY_ASC] + ): OrgMembershipEdge +} - """Deletes a single `SessionsModule` using a unique key.""" - deleteSessionsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSessionsModuleInput! - ): DeleteSessionsModulePayload +"""All input for the `deleteOrgMembership` mutation.""" +input DeleteOrgMembershipInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgGrant` using a unique key.""" - deleteOrgGrant( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgGrantInput! - ): DeleteOrgGrantPayload +"""The output of our delete `ForeignKeyConstraint` mutation.""" +type DeleteForeignKeyConstraintPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppLevel` using a unique key.""" - deleteAppLevel( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppLevelInput! - ): DeleteAppLevelPayload + """The `ForeignKeyConstraint` that was deleted by this mutation.""" + foreignKeyConstraint: ForeignKeyConstraint - """Deletes a single `OrgLimit` using a unique key.""" - deleteOrgLimit( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgLimitInput! - ): DeleteOrgLimitPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `Blueprint` using a unique key.""" - deleteBlueprint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteBlueprintInput! - ): DeleteBlueprintPayload + """An edge for our `ForeignKeyConstraint`. May be used by Relay 1.""" + foreignKeyConstraintEdge( + """The method to use when ordering `ForeignKeyConstraint`.""" + orderBy: [ForeignKeyConstraintOrderBy!]! = [PRIMARY_KEY_ASC] + ): ForeignKeyConstraintEdge +} - """Deletes a single `DenormalizedTableField` using a unique key.""" - deleteDenormalizedTableField( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDenormalizedTableFieldInput! - ): DeleteDenormalizedTableFieldPayload +"""All input for the `deleteForeignKeyConstraint` mutation.""" +input DeleteForeignKeyConstraintInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `OrgMemberProfile` using a unique key.""" - deleteOrgMemberProfile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMemberProfileInput! - ): DeleteOrgMemberProfilePayload +"""The output of our delete `Table` mutation.""" +type DeleteTablePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `DatabaseTransfer` using a unique key.""" - deleteDatabaseTransfer( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDatabaseTransferInput! - ): DeleteDatabaseTransferPayload + """The `Table` that was deleted by this mutation.""" + table: Table - """Deletes a single `BillingModule` using a unique key.""" - deleteBillingModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteBillingModuleInput! - ): DeleteBillingModulePayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `CryptoAuthModule` using a unique key.""" - deleteCryptoAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCryptoAuthModuleInput! - ): DeleteCryptoAuthModulePayload + """An edge for our `Table`. May be used by Relay 1.""" + tableEdge( + """The method to use when ordering `Table`.""" + orderBy: [TableOrderBy!]! = [PRIMARY_KEY_ASC] + ): TableEdge +} + +"""All input for the `deleteTable` mutation.""" +input DeleteTableInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `DatabaseProvisionModule` using a unique key.""" - deleteDatabaseProvisionModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteDatabaseProvisionModuleInput! - ): DeleteDatabaseProvisionModulePayload +"""The output of our delete `RelationProvision` mutation.""" +type DeleteRelationProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `InvitesModule` using a unique key.""" - deleteInvitesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteInvitesModuleInput! - ): DeleteInvitesModulePayload + """The `RelationProvision` that was deleted by this mutation.""" + relationProvision: RelationProvision - """Deletes a single `SecureTableProvision` using a unique key.""" - deleteSecureTableProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSecureTableProvisionInput! - ): DeleteSecureTableProvisionPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `Enum` using a unique key.""" - deleteEnum( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEnumInput! - ): DeleteEnumPayload + """An edge for our `RelationProvision`. May be used by Relay 1.""" + relationProvisionEdge( + """The method to use when ordering `RelationProvision`.""" + orderBy: [RelationProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): RelationProvisionEdge +} - """Deletes a single `User` using a unique key.""" - deleteUser( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteUserInput! - ): DeleteUserPayload +"""All input for the `deleteRelationProvision` mutation.""" +input DeleteRelationProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Deletes a single `View` using a unique key.""" - deleteView( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteViewInput! - ): DeleteViewPayload + """Unique identifier for this relation provision row.""" + id: UUID! +} - """Deletes a single `WebauthnAuthModule` using a unique key.""" - deleteWebauthnAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteWebauthnAuthModuleInput! - ): DeleteWebauthnAuthModulePayload +"""The output of our delete `EntityTypeProvision` mutation.""" +type DeleteEntityTypeProvisionPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `AppInvite` using a unique key.""" - deleteAppInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppInviteInput! - ): DeleteAppInvitePayload + """The `EntityTypeProvision` that was deleted by this mutation.""" + entityTypeProvision: EntityTypeProvision - """Deletes a single `OrgMembershipSetting` using a unique key.""" - deleteOrgMembershipSetting( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMembershipSettingInput! - ): DeleteOrgMembershipSettingPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `App` using a unique key.""" - deleteApp( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppInput! - ): DeleteAppPayload + """An edge for our `EntityTypeProvision`. May be used by Relay 1.""" + entityTypeProvisionEdge( + """The method to use when ordering `EntityTypeProvision`.""" + orderBy: [EntityTypeProvisionOrderBy!]! = [PRIMARY_KEY_ASC] + ): EntityTypeProvisionEdge +} - """Deletes a single `Site` using a unique key.""" - deleteSite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSiteInput! - ): DeleteSitePayload +"""All input for the `deleteEntityTypeProvision` mutation.""" +input DeleteEntityTypeProvisionInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String - """Deletes a single `NotificationsModule` using a unique key.""" - deleteNotificationsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteNotificationsModuleInput! - ): DeleteNotificationsModulePayload + """Unique identifier for this provision row.""" + id: UUID! +} - """Deletes a single `PermissionsModule` using a unique key.""" - deletePermissionsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePermissionsModuleInput! - ): DeletePermissionsModulePayload +"""The output of our delete `LevelsModule` mutation.""" +type DeleteLevelsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `WebauthnCredential` using a unique key.""" - deleteWebauthnCredential( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteWebauthnCredentialInput! - ): DeleteWebauthnCredentialPayload + """The `LevelsModule` that was deleted by this mutation.""" + levelsModule: LevelsModule - """Deletes a single `PrimaryKeyConstraint` using a unique key.""" - deletePrimaryKeyConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePrimaryKeyConstraintInput! - ): DeletePrimaryKeyConstraintPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `Trigger` using a unique key.""" - deleteTrigger( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteTriggerInput! - ): DeleteTriggerPayload + """An edge for our `LevelsModule`. May be used by Relay 1.""" + levelsModuleEdge( + """The method to use when ordering `LevelsModule`.""" + orderBy: [LevelsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): LevelsModuleEdge +} - """Deletes a single `CheckConstraint` using a unique key.""" - deleteCheckConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteCheckConstraintInput! - ): DeleteCheckConstraintPayload +"""All input for the `deleteLevelsModule` mutation.""" +input DeleteLevelsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `UniqueConstraint` using a unique key.""" - deleteUniqueConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteUniqueConstraintInput! - ): DeleteUniqueConstraintPayload +"""The output of our delete `UserAuthModule` mutation.""" +type DeleteUserAuthModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `SpatialRelation` using a unique key.""" - deleteSpatialRelation( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSpatialRelationInput! - ): DeleteSpatialRelationPayload + """The `UserAuthModule` that was deleted by this mutation.""" + userAuthModule: UserAuthModule - """Deletes a single `Policy` using a unique key.""" - deletePolicy( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeletePolicyInput! - ): DeletePolicyPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `EmbeddingChunk` using a unique key.""" - deleteEmbeddingChunk( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEmbeddingChunkInput! - ): DeleteEmbeddingChunkPayload + """An edge for our `UserAuthModule`. May be used by Relay 1.""" + userAuthModuleEdge( + """The method to use when ordering `UserAuthModule`.""" + orderBy: [UserAuthModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): UserAuthModuleEdge +} - """Deletes a single `OrgInvite` using a unique key.""" - deleteOrgInvite( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgInviteInput! - ): DeleteOrgInvitePayload +"""All input for the `deleteUserAuthModule` mutation.""" +input DeleteUserAuthModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `AppMembership` using a unique key.""" - deleteAppMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteAppMembershipInput! - ): DeleteAppMembershipPayload +"""The output of our delete `Field` mutation.""" +type DeleteFieldPayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `Schema` using a unique key.""" - deleteSchema( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSchemaInput! - ): DeleteSchemaPayload + """The `Field` that was deleted by this mutation.""" + field: Field - """Deletes a single `Index` using a unique key.""" - deleteIndex( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteIndexInput! - ): DeleteIndexPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `LimitsModule` using a unique key.""" - deleteLimitsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteLimitsModuleInput! - ): DeleteLimitsModulePayload + """An edge for our `Field`. May be used by Relay 1.""" + fieldEdge( + """The method to use when ordering `Field`.""" + orderBy: [FieldOrderBy!]! = [PRIMARY_KEY_ASC] + ): FieldEdge +} - """Deletes a single `BlueprintTemplate` using a unique key.""" - deleteBlueprintTemplate( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteBlueprintTemplateInput! - ): DeleteBlueprintTemplatePayload +"""All input for the `deleteField` mutation.""" +input DeleteFieldInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `HierarchyModule` using a unique key.""" - deleteHierarchyModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteHierarchyModuleInput! - ): DeleteHierarchyModulePayload +"""The output of our delete `LimitsModule` mutation.""" +type DeleteLimitsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `ProfilesModule` using a unique key.""" - deleteProfilesModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteProfilesModuleInput! - ): DeleteProfilesModulePayload + """The `LimitsModule` that was deleted by this mutation.""" + limitsModule: LimitsModule - """Deletes a single `OrgMembership` using a unique key.""" - deleteOrgMembership( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteOrgMembershipInput! - ): DeleteOrgMembershipPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `ForeignKeyConstraint` using a unique key.""" - deleteForeignKeyConstraint( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteForeignKeyConstraintInput! - ): DeleteForeignKeyConstraintPayload + """An edge for our `LimitsModule`. May be used by Relay 1.""" + limitsModuleEdge( + """The method to use when ordering `LimitsModule`.""" + orderBy: [LimitsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): LimitsModuleEdge +} - """Deletes a single `StorageModule` using a unique key.""" - deleteStorageModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteStorageModuleInput! - ): DeleteStorageModulePayload +"""All input for the `deleteLimitsModule` mutation.""" +input DeleteLimitsModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `Table` using a unique key.""" - deleteTable( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteTableInput! - ): DeleteTablePayload +"""The output of our delete `StorageModule` mutation.""" +type DeleteStorageModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `EntityTypeProvision` using a unique key.""" - deleteEntityTypeProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteEntityTypeProvisionInput! - ): DeleteEntityTypeProvisionPayload + """The `StorageModule` that was deleted by this mutation.""" + storageModule: StorageModule - """Deletes a single `RelationProvision` using a unique key.""" - deleteRelationProvision( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteRelationProvisionInput! - ): DeleteRelationProvisionPayload + """ + Our root query field type. Allows us to run any query from our mutation payload. + """ + query: Query - """Deletes a single `LevelsModule` using a unique key.""" - deleteLevelsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteLevelsModuleInput! - ): DeleteLevelsModulePayload + """An edge for our `StorageModule`. May be used by Relay 1.""" + storageModuleEdge( + """The method to use when ordering `StorageModule`.""" + orderBy: [StorageModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): StorageModuleEdge +} - """Deletes a single `UserAuthModule` using a unique key.""" - deleteUserAuthModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteUserAuthModuleInput! - ): DeleteUserAuthModulePayload +"""All input for the `deleteStorageModule` mutation.""" +input DeleteStorageModuleInput { + """ + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. + """ + clientMutationId: String + id: UUID! +} - """Deletes a single `Field` using a unique key.""" - deleteField( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteFieldInput! - ): DeleteFieldPayload +"""The output of our delete `MembershipsModule` mutation.""" +type DeleteMembershipsModulePayload { + """ + The exact same `clientMutationId` that was provided in the mutation input, + unchanged and unused. May be used by a client to track mutations. + """ + clientMutationId: String - """Deletes a single `MembershipsModule` using a unique key.""" - deleteMembershipsModule( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteMembershipsModuleInput! - ): DeleteMembershipsModulePayload + """The `MembershipsModule` that was deleted by this mutation.""" + membershipsModule: MembershipsModule """ - Request a presigned URL for uploading a file directly to S3. - Client computes SHA-256 of the file content and provides it here. - If a file with the same hash already exists (dedup), returns the - existing file ID and deduplicated=true with no uploadUrl. + Our root query field type. Allows us to run any query from our mutation payload. """ - requestUploadUrl( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestUploadUrlInput! - ): RequestUploadUrlPayload + query: Query + + """An edge for our `MembershipsModule`. May be used by Relay 1.""" + membershipsModuleEdge( + """The method to use when ordering `MembershipsModule`.""" + orderBy: [MembershipsModuleOrderBy!]! = [PRIMARY_KEY_ASC] + ): MembershipsModuleEdge +} +"""All input for the `deleteMembershipsModule` mutation.""" +input DeleteMembershipsModuleInput { """ - Provision an S3 bucket for a logical bucket in the database. - Reads the bucket config via RLS, then creates and configures - the S3 bucket with the appropriate privacy policies, CORS rules, - and lifecycle settings. + An arbitrary string value with no semantic meaning. Will be included in the + payload verbatim. May be used to track mutations by the client. """ - provisionBucket( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionBucketInput! - ): ProvisionBucketPayload + clientMutationId: String + id: UUID! } input ProvisionBucketInput { diff --git a/sdk/constructive-sdk/src/admin/README.md b/sdk/constructive-sdk/src/admin/README.md index 9e4350db1..563e17baa 100644 --- a/sdk/constructive-sdk/src/admin/README.md +++ b/sdk/constructive-sdk/src/admin/README.md @@ -8,9 +8,9 @@ ## Overview -- **Tables:** 37 +- **Tables:** 46 - **Custom queries:** 11 -- **Custom mutations:** 4 +- **Custom mutations:** 3 **Generators:** ORM diff --git a/sdk/constructive-sdk/src/admin/orm/README.md b/sdk/constructive-sdk/src/admin/orm/README.md index 99ee4b492..b4b02888a 100644 --- a/sdk/constructive-sdk/src/admin/orm/README.md +++ b/sdk/constructive-sdk/src/admin/orm/README.md @@ -26,18 +26,27 @@ const db = createClient({ | `appPermission` | findMany, findOne, create, update, delete | | `orgPermission` | findMany, findOne, create, update, delete | | `appLevelRequirement` | findMany, findOne, create, update, delete | +| `appLimitCreditRedemption` | findMany, findOne, create, update, delete | +| `appLimitCreditCodeItem` | findMany, findOne, create, update, delete | +| `appLimitCredit` | findMany, findOne, create, update, delete | | `orgMember` | findMany, findOne, create, update, delete | | `appPermissionDefault` | findMany, findOne, create, update, delete | +| `appLimitCreditCode` | findMany, findOne, create, update, delete | | `orgPermissionDefault` | findMany, findOne, create, update, delete | | `appAdminGrant` | findMany, findOne, create, update, delete | | `appOwnerGrant` | findMany, findOne, create, update, delete | | `appAchievement` | findMany, findOne, create, update, delete | | `appStep` | findMany, findOne, create, update, delete | +| `appLimitCapsDefault` | findMany, findOne, create, update, delete | +| `orgLimitCapsDefault` | findMany, findOne, create, update, delete | +| `appLimitCap` | findMany, findOne, create, update, delete | +| `orgLimitCap` | findMany, findOne, create, update, delete | | `orgAdminGrant` | findMany, findOne, create, update, delete | | `orgOwnerGrant` | findMany, findOne, create, update, delete | | `membershipType` | findMany, findOne, create, update, delete | | `appLimitDefault` | findMany, findOne, create, update, delete | | `orgLimitDefault` | findMany, findOne, create, update, delete | +| `orgLimitCredit` | findMany, findOne, create, update, delete | | `orgChartEdgeGrant` | findMany, findOne, create, update, delete | | `appClaimedInvite` | findMany, findOne, create, update, delete | | `appGrant` | findMany, findOne, create, update, delete | @@ -48,13 +57,13 @@ const db = createClient({ | `orgLimitEvent` | findMany, findOne, create, update, delete | | `orgGrant` | findMany, findOne, create, update, delete | | `orgChartEdge` | findMany, findOne, create, update, delete | -| `appLimit` | findMany, findOne, create, update, delete | -| `orgLimitAggregate` | findMany, findOne, create, update, delete | | `orgMemberProfile` | findMany, findOne, create, update, delete | -| `orgLimit` | findMany, findOne, create, update, delete | | `appLevel` | findMany, findOne, create, update, delete | +| `appLimit` | findMany, findOne, create, update, delete | | `appInvite` | findMany, findOne, create, update, delete | | `orgMembershipSetting` | findMany, findOne, create, update, delete | +| `orgLimitAggregate` | findMany, findOne, create, update, delete | +| `orgLimit` | findMany, findOne, create, update, delete | | `orgInvite` | findMany, findOne, create, update, delete | | `appMembership` | findMany, findOne, create, update, delete | | `orgMembership` | findMany, findOne, create, update, delete | @@ -223,6 +232,104 @@ const updated = await db.appLevelRequirement.update({ where: { id: '' }, d const deleted = await db.appLevelRequirement.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditRedemption` + +CRUD operations for AppLimitCreditRedemption records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditRedemption records +const items = await db.appLimitCreditRedemption.findMany({ select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditRedemption.findOne({ id: '', select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Create +const created = await db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditCodeItem` + +CRUD operations for AppLimitCreditCodeItem records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `defaultLimitId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCodeItem records +const items = await db.appLimitCreditCodeItem.findMany({ select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Create +const created = await db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCredit` + +CRUD operations for AppLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCredit records +const items = await db.appLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.appLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgMember` CRUD operations for OrgMember records. @@ -285,6 +392,39 @@ const updated = await db.appPermissionDefault.update({ where: { id: '' }, const deleted = await db.appPermissionDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditCode` + +CRUD operations for AppLimitCreditCode records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `code` | String | Yes | +| `maxRedemptions` | Int | Yes | +| `currentRedemptions` | Int | Yes | +| `expiresAt` | Datetime | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCode records +const items = await db.appLimitCreditCode.findMany({ select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCode.findOne({ id: '', select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Create +const created = await db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCode.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgPermissionDefault` CRUD operations for OrgPermissionDefault records. @@ -452,6 +592,132 @@ const updated = await db.appStep.update({ where: { id: '' }, data: { actor const deleted = await db.appStep.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCapsDefault` + +CRUD operations for AppLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCapsDefault records +const items = await db.appLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCapsDefault` + +CRUD operations for OrgLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCapsDefault records +const items = await db.orgLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCap` + +CRUD operations for AppLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCap records +const items = await db.appLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCap.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCap` + +CRUD operations for OrgLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCap records +const items = await db.orgLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCap.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgAdminGrant` CRUD operations for OrgAdminGrant records. @@ -620,6 +886,41 @@ const updated = await db.orgLimitDefault.update({ where: { id: '' }, data: const deleted = await db.orgLimitDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitCredit` + +CRUD operations for OrgLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `entityId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all orgLimitCredit records +const items = await db.orgLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgChartEdgeGrant` CRUD operations for OrgChartEdgeGrant records. @@ -977,78 +1278,6 @@ const updated = await db.orgChartEdge.update({ where: { id: '' }, data: { const deleted = await db.orgChartEdge.delete({ where: { id: '' } }).execute(); ``` -### `db.appLimit` - -CRUD operations for AppLimit records. - -**Fields:** - -| Field | Type | Editable | -|-------|------|----------| -| `id` | UUID | No | -| `name` | String | Yes | -| `actorId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | - -**Operations:** - -```typescript -// List all appLimit records -const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Get one by id -const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Create -const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); - -// Update -const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); - -// Delete -const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); -``` - -### `db.orgLimitAggregate` - -CRUD operations for OrgLimitAggregate records. - -**Fields:** - -| Field | Type | Editable | -|-------|------|----------| -| `id` | UUID | No | -| `name` | String | Yes | -| `entityId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | - -**Operations:** - -```typescript -// List all orgLimitAggregate records -const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Get one by id -const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); - -// Create -const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); - -// Update -const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); - -// Delete -const deleted = await db.orgLimitAggregate.delete({ where: { id: '' } }).execute(); -``` - ### `db.orgMemberProfile` CRUD operations for OrgMemberProfile records. @@ -1088,9 +1317,9 @@ const updated = await db.orgMemberProfile.update({ where: { id: '' }, data const deleted = await db.orgMemberProfile.delete({ where: { id: '' } }).execute(); ``` -### `db.orgLimit` +### `db.appLevel` -CRUD operations for OrgLimit records. +CRUD operations for AppLevel records. **Fields:** @@ -1098,36 +1327,34 @@ CRUD operations for OrgLimit records. |-------|------|----------| | `id` | UUID | No | | `name` | String | Yes | -| `actorId` | UUID | Yes | -| `num` | BigInt | Yes | -| `max` | BigInt | Yes | -| `softMax` | BigInt | Yes | -| `windowStart` | Datetime | Yes | -| `windowDuration` | Interval | Yes | -| `entityId` | UUID | Yes | +| `description` | String | Yes | +| `image` | ConstructiveInternalTypeImage | Yes | +| `ownerId` | UUID | Yes | +| `createdAt` | Datetime | No | +| `updatedAt` | Datetime | No | **Operations:** ```typescript -// List all orgLimit records -const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +// List all appLevel records +const items = await db.appLevel.findMany({ select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); // Get one by id -const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const item = await db.appLevel.findOne({ id: '', select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); // Create -const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute(); +const created = await db.appLevel.create({ data: { name: '', description: '', image: '', ownerId: '' }, select: { id: true } }).execute(); // Update -const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); +const updated = await db.appLevel.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); +const deleted = await db.appLevel.delete({ where: { id: '' } }).execute(); ``` -### `db.appLevel` +### `db.appLimit` -CRUD operations for AppLevel records. +CRUD operations for AppLimit records. **Fields:** @@ -1135,29 +1362,33 @@ CRUD operations for AppLevel records. |-------|------|----------| | `id` | UUID | No | | `name` | String | Yes | -| `description` | String | Yes | -| `image` | ConstructiveInternalTypeImage | Yes | -| `ownerId` | UUID | Yes | -| `createdAt` | Datetime | No | -| `updatedAt` | Datetime | No | +| `actorId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | **Operations:** ```typescript -// List all appLevel records -const items = await db.appLevel.findMany({ select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); +// List all appLimit records +const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Get one by id -const item = await db.appLevel.findOne({ id: '', select: { id: true, name: true, description: true, image: true, ownerId: true, createdAt: true, updatedAt: true } }).execute(); +const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Create -const created = await db.appLevel.create({ data: { name: '', description: '', image: '', ownerId: '' }, select: { id: true } }).execute(); +const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); // Update -const updated = await db.appLevel.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); +const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.appLevel.delete({ where: { id: '' } }).execute(); +const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); ``` ### `db.appInvite` @@ -1243,6 +1474,86 @@ const updated = await db.orgMembershipSetting.update({ where: { id: '' }, const deleted = await db.orgMembershipSetting.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitAggregate` + +CRUD operations for OrgLimitAggregate records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `reserved` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitAggregate records +const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); + +// Get one by id +const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); + +// Create +const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitAggregate.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimit` + +CRUD operations for OrgLimit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `actorId` | UUID | Yes | +| `num` | BigInt | Yes | +| `max` | BigInt | Yes | +| `softMax` | BigInt | Yes | +| `windowStart` | Datetime | Yes | +| `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all orgLimit records +const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); + +// Create +const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgInvite` CRUD operations for OrgInvite records. @@ -1587,24 +1898,6 @@ submitOrgInviteCode const result = await db.mutation.submitOrgInviteCode({ input: { token: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-sdk/src/admin/orm/index.ts b/sdk/constructive-sdk/src/admin/orm/index.ts index 5a9d91c9b..6aad71d9e 100644 --- a/sdk/constructive-sdk/src/admin/orm/index.ts +++ b/sdk/constructive-sdk/src/admin/orm/index.ts @@ -10,18 +10,27 @@ import { OrgGetSubordinatesRecordModel } from './models/orgGetSubordinatesRecord import { AppPermissionModel } from './models/appPermission'; import { OrgPermissionModel } from './models/orgPermission'; import { AppLevelRequirementModel } from './models/appLevelRequirement'; +import { AppLimitCreditRedemptionModel } from './models/appLimitCreditRedemption'; +import { AppLimitCreditCodeItemModel } from './models/appLimitCreditCodeItem'; +import { AppLimitCreditModel } from './models/appLimitCredit'; import { OrgMemberModel } from './models/orgMember'; import { AppPermissionDefaultModel } from './models/appPermissionDefault'; +import { AppLimitCreditCodeModel } from './models/appLimitCreditCode'; import { OrgPermissionDefaultModel } from './models/orgPermissionDefault'; import { AppAdminGrantModel } from './models/appAdminGrant'; import { AppOwnerGrantModel } from './models/appOwnerGrant'; import { AppAchievementModel } from './models/appAchievement'; import { AppStepModel } from './models/appStep'; +import { AppLimitCapsDefaultModel } from './models/appLimitCapsDefault'; +import { OrgLimitCapsDefaultModel } from './models/orgLimitCapsDefault'; +import { AppLimitCapModel } from './models/appLimitCap'; +import { OrgLimitCapModel } from './models/orgLimitCap'; import { OrgAdminGrantModel } from './models/orgAdminGrant'; import { OrgOwnerGrantModel } from './models/orgOwnerGrant'; import { MembershipTypeModel } from './models/membershipType'; import { AppLimitDefaultModel } from './models/appLimitDefault'; import { OrgLimitDefaultModel } from './models/orgLimitDefault'; +import { OrgLimitCreditModel } from './models/orgLimitCredit'; import { OrgChartEdgeGrantModel } from './models/orgChartEdgeGrant'; import { AppClaimedInviteModel } from './models/appClaimedInvite'; import { AppGrantModel } from './models/appGrant'; @@ -32,13 +41,13 @@ import { AppLimitEventModel } from './models/appLimitEvent'; import { OrgLimitEventModel } from './models/orgLimitEvent'; import { OrgGrantModel } from './models/orgGrant'; import { OrgChartEdgeModel } from './models/orgChartEdge'; -import { AppLimitModel } from './models/appLimit'; -import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; import { OrgMemberProfileModel } from './models/orgMemberProfile'; -import { OrgLimitModel } from './models/orgLimit'; import { AppLevelModel } from './models/appLevel'; +import { AppLimitModel } from './models/appLimit'; import { AppInviteModel } from './models/appInvite'; import { OrgMembershipSettingModel } from './models/orgMembershipSetting'; +import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; +import { OrgLimitModel } from './models/orgLimit'; import { OrgInviteModel } from './models/orgInvite'; import { AppMembershipModel } from './models/appMembership'; import { OrgMembershipModel } from './models/orgMembership'; @@ -82,18 +91,27 @@ export function createClient(config: OrmClientConfig) { appPermission: new AppPermissionModel(client), orgPermission: new OrgPermissionModel(client), appLevelRequirement: new AppLevelRequirementModel(client), + appLimitCreditRedemption: new AppLimitCreditRedemptionModel(client), + appLimitCreditCodeItem: new AppLimitCreditCodeItemModel(client), + appLimitCredit: new AppLimitCreditModel(client), orgMember: new OrgMemberModel(client), appPermissionDefault: new AppPermissionDefaultModel(client), + appLimitCreditCode: new AppLimitCreditCodeModel(client), orgPermissionDefault: new OrgPermissionDefaultModel(client), appAdminGrant: new AppAdminGrantModel(client), appOwnerGrant: new AppOwnerGrantModel(client), appAchievement: new AppAchievementModel(client), appStep: new AppStepModel(client), + appLimitCapsDefault: new AppLimitCapsDefaultModel(client), + orgLimitCapsDefault: new OrgLimitCapsDefaultModel(client), + appLimitCap: new AppLimitCapModel(client), + orgLimitCap: new OrgLimitCapModel(client), orgAdminGrant: new OrgAdminGrantModel(client), orgOwnerGrant: new OrgOwnerGrantModel(client), membershipType: new MembershipTypeModel(client), appLimitDefault: new AppLimitDefaultModel(client), orgLimitDefault: new OrgLimitDefaultModel(client), + orgLimitCredit: new OrgLimitCreditModel(client), orgChartEdgeGrant: new OrgChartEdgeGrantModel(client), appClaimedInvite: new AppClaimedInviteModel(client), appGrant: new AppGrantModel(client), @@ -104,13 +122,13 @@ export function createClient(config: OrmClientConfig) { orgLimitEvent: new OrgLimitEventModel(client), orgGrant: new OrgGrantModel(client), orgChartEdge: new OrgChartEdgeModel(client), - appLimit: new AppLimitModel(client), - orgLimitAggregate: new OrgLimitAggregateModel(client), orgMemberProfile: new OrgMemberProfileModel(client), - orgLimit: new OrgLimitModel(client), appLevel: new AppLevelModel(client), + appLimit: new AppLimitModel(client), appInvite: new AppInviteModel(client), orgMembershipSetting: new OrgMembershipSettingModel(client), + orgLimitAggregate: new OrgLimitAggregateModel(client), + orgLimit: new OrgLimitModel(client), orgInvite: new OrgInviteModel(client), appMembership: new AppMembershipModel(client), orgMembership: new OrgMembershipModel(client), diff --git a/sdk/constructive-sdk/src/admin/orm/input-types.ts b/sdk/constructive-sdk/src/admin/orm/input-types.ts index a0e988480..4591edfda 100644 --- a/sdk/constructive-sdk/src/admin/orm/input-types.ts +++ b/sdk/constructive-sdk/src/admin/orm/input-types.ts @@ -282,6 +282,40 @@ export interface AppLevelRequirement { createdAt?: string | null; updatedAt?: string | null; } +/** Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits */ +export interface AppLimitCreditRedemption { + id: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string | null; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string | null; +} +/** Items within a credit code — each row grants credits for a specific limit definition */ +export interface AppLimitCreditCodeItem { + id: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string | null; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string | null; + /** Number of credits this item grants per redemption */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; +} +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface AppLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Simplified view of active members in an entity, used for listing who belongs to an org or group */ export interface OrgMember { id: string; @@ -298,6 +332,18 @@ export interface AppPermissionDefault { /** Default permission bitmask applied to new members */ permissions?: string | null; } +/** Redeemable credit codes managed by admins with the add_credits permission */ +export interface AppLimitCreditCode { + id: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string | null; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number | null; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number | null; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string | null; +} /** Stores the default permission bitmask assigned to new members upon joining */ export interface OrgPermissionDefault { id: string; @@ -350,6 +396,42 @@ export interface AppStep { createdAt?: string | null; updatedAt?: string | null; } +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface AppLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface OrgLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface AppLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface OrgLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} /** Records of admin role grants and revocations between members */ export interface OrgAdminGrant { id: string; @@ -411,6 +493,22 @@ export interface OrgLimitDefault { /** Default soft limit threshold for warnings; NULL means no soft limit */ softMax?: string | null; } +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface OrgLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Append-only log of hierarchy edge grants and revocations; triggers apply changes to the edges table */ export interface OrgChartEdgeGrant { id: string; @@ -566,42 +664,6 @@ export interface OrgChartEdge { /** Numeric seniority level for this position (higher = more senior) */ positionLevel?: number | null; } -/** Tracks per-actor usage counts against configurable maximum limits */ -export interface AppLimit { - id: string; - /** Name identifier of the limit being tracked */ - name?: string | null; - /** User whose usage is being tracked against this limit */ - actorId?: string | null; - /** Current usage count for this actor and limit */ - num?: string | null; - /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ - max?: string | null; - /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ - softMax?: string | null; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string | null; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: string | null; -} -/** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ -export interface OrgLimitAggregate { - id: string; - /** Name identifier of the aggregate limit being tracked */ - name?: string | null; - /** Entity (org) whose aggregate usage is being tracked */ - entityId?: string | null; - /** Current aggregate usage count for this entity and limit */ - num?: string | null; - /** Maximum allowed aggregate usage; negative means unlimited */ - max?: string | null; - /** Soft limit threshold for warnings; NULL means no soft limit */ - softMax?: string | null; - /** Start of the current metering window; NULL means no time window */ - windowStart?: string | null; - /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ - windowDuration?: string | null; -} /** Per-membership profile information visible to other entity members (display name, email, title, bio, avatar) */ export interface OrgMemberProfile { id: string; @@ -624,8 +686,22 @@ export interface OrgMemberProfile { /** Profile picture visible to other entity members */ profilePicture?: ConstructiveInternalTypeImage | null; } +/** Defines available levels that users can achieve by completing requirements */ +export interface AppLevel { + id: string; + /** Unique name of the level */ + name?: string | null; + /** Human-readable description of what this level represents */ + description?: string | null; + /** Badge or icon image associated with this level */ + image?: ConstructiveInternalTypeImage | null; + /** Optional owner (actor) who created or manages this level */ + ownerId?: string | null; + createdAt?: string | null; + updatedAt?: string | null; +} /** Tracks per-actor usage counts against configurable maximum limits */ -export interface OrgLimit { +export interface AppLimit { id: string; /** Name identifier of the limit being tracked */ name?: string | null; @@ -641,21 +717,12 @@ export interface OrgLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; - entityId?: string | null; -} -/** Defines available levels that users can achieve by completing requirements */ -export interface AppLevel { - id: string; - /** Unique name of the level */ - name?: string | null; - /** Human-readable description of what this level represents */ - description?: string | null; - /** Badge or icon image associated with this level */ - image?: ConstructiveInternalTypeImage | null; - /** Optional owner (actor) who created or manages this level */ - ownerId?: string | null; - createdAt?: string | null; - updatedAt?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; } /** Invitation records sent to prospective members via email, with token-based redemption and expiration */ export interface AppInvite { @@ -709,6 +776,57 @@ export interface OrgMembershipSetting { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string | null; } +/** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ +export interface OrgLimitAggregate { + id: string; + /** Name identifier of the aggregate limit being tracked */ + name?: string | null; + /** Entity (org) whose aggregate usage is being tracked */ + entityId?: string | null; + /** Current aggregate usage count for this entity and limit */ + num?: string | null; + /** Maximum allowed aggregate usage; negative means unlimited */ + max?: string | null; + /** Soft limit threshold for warnings; NULL means no soft limit */ + softMax?: string | null; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string | null; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string | null; +} +/** Tracks per-actor usage counts against configurable maximum limits */ +export interface OrgLimit { + id: string; + /** Name identifier of the limit being tracked */ + name?: string | null; + /** User whose usage is being tracked against this limit */ + actorId?: string | null; + /** Current usage count for this actor and limit */ + num?: string | null; + /** Maximum allowed usage; negative means unlimited. Modified by plans, credits, and achievements. */ + max?: string | null; + /** Soft limit threshold for warnings; NULL means no soft limit. When num >= soft_max, consumers should warn but still allow until max is reached. */ + softMax?: string | null; + /** Start of the current metering window; NULL means no time window */ + windowStart?: string | null; + /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ + windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + entityId?: string | null; +} /** Invitation records sent to prospective members via email, with token-based redemption and expiration */ export interface OrgInvite { id: string; @@ -818,18 +936,44 @@ export interface OrgGetSubordinatesRecordRelations {} export interface AppPermissionRelations {} export interface OrgPermissionRelations {} export interface AppLevelRequirementRelations {} +export interface AppLimitCreditRedemptionRelations { + creditCode?: AppLimitCreditCode | null; +} +export interface AppLimitCreditCodeItemRelations { + creditCode?: AppLimitCreditCode | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditRelations { + defaultLimit?: AppLimitDefault | null; +} export interface OrgMemberRelations {} export interface AppPermissionDefaultRelations {} +export interface AppLimitCreditCodeRelations { + appLimitCreditCodeItemsByCreditCodeId?: ConnectionResult; + appLimitCreditRedemptionsByCreditCodeId?: ConnectionResult; +} export interface OrgPermissionDefaultRelations {} export interface AppAdminGrantRelations {} export interface AppOwnerGrantRelations {} export interface AppAchievementRelations {} export interface AppStepRelations {} +export interface AppLimitCapsDefaultRelations {} +export interface OrgLimitCapsDefaultRelations {} +export interface AppLimitCapRelations {} +export interface OrgLimitCapRelations {} export interface OrgAdminGrantRelations {} export interface OrgOwnerGrantRelations {} export interface MembershipTypeRelations {} -export interface AppLimitDefaultRelations {} -export interface OrgLimitDefaultRelations {} +export interface AppLimitDefaultRelations { + appLimitCreditsByDefaultLimitId?: ConnectionResult; + appLimitCreditCodeItemsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitDefaultRelations { + orgLimitCreditsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitCreditRelations { + defaultLimit?: OrgLimitDefault | null; +} export interface OrgChartEdgeGrantRelations {} export interface AppClaimedInviteRelations {} export interface AppGrantRelations {} @@ -840,15 +984,15 @@ export interface AppLimitEventRelations {} export interface OrgLimitEventRelations {} export interface OrgGrantRelations {} export interface OrgChartEdgeRelations {} -export interface AppLimitRelations {} -export interface OrgLimitAggregateRelations {} export interface OrgMemberProfileRelations { membership?: OrgMembership | null; } -export interface OrgLimitRelations {} export interface AppLevelRelations {} +export interface AppLimitRelations {} export interface AppInviteRelations {} export interface OrgMembershipSettingRelations {} +export interface OrgLimitAggregateRelations {} +export interface OrgLimitRelations {} export interface OrgInviteRelations {} export interface AppMembershipRelations {} export interface OrgMembershipRelations { @@ -862,20 +1006,31 @@ export type OrgGetSubordinatesRecordWithRelations = OrgGetSubordinatesRecord & export type AppPermissionWithRelations = AppPermission & AppPermissionRelations; export type OrgPermissionWithRelations = OrgPermission & OrgPermissionRelations; export type AppLevelRequirementWithRelations = AppLevelRequirement & AppLevelRequirementRelations; +export type AppLimitCreditRedemptionWithRelations = AppLimitCreditRedemption & + AppLimitCreditRedemptionRelations; +export type AppLimitCreditCodeItemWithRelations = AppLimitCreditCodeItem & + AppLimitCreditCodeItemRelations; +export type AppLimitCreditWithRelations = AppLimitCredit & AppLimitCreditRelations; export type OrgMemberWithRelations = OrgMember & OrgMemberRelations; export type AppPermissionDefaultWithRelations = AppPermissionDefault & AppPermissionDefaultRelations; +export type AppLimitCreditCodeWithRelations = AppLimitCreditCode & AppLimitCreditCodeRelations; export type OrgPermissionDefaultWithRelations = OrgPermissionDefault & OrgPermissionDefaultRelations; export type AppAdminGrantWithRelations = AppAdminGrant & AppAdminGrantRelations; export type AppOwnerGrantWithRelations = AppOwnerGrant & AppOwnerGrantRelations; export type AppAchievementWithRelations = AppAchievement & AppAchievementRelations; export type AppStepWithRelations = AppStep & AppStepRelations; +export type AppLimitCapsDefaultWithRelations = AppLimitCapsDefault & AppLimitCapsDefaultRelations; +export type OrgLimitCapsDefaultWithRelations = OrgLimitCapsDefault & OrgLimitCapsDefaultRelations; +export type AppLimitCapWithRelations = AppLimitCap & AppLimitCapRelations; +export type OrgLimitCapWithRelations = OrgLimitCap & OrgLimitCapRelations; export type OrgAdminGrantWithRelations = OrgAdminGrant & OrgAdminGrantRelations; export type OrgOwnerGrantWithRelations = OrgOwnerGrant & OrgOwnerGrantRelations; export type MembershipTypeWithRelations = MembershipType & MembershipTypeRelations; export type AppLimitDefaultWithRelations = AppLimitDefault & AppLimitDefaultRelations; export type OrgLimitDefaultWithRelations = OrgLimitDefault & OrgLimitDefaultRelations; +export type OrgLimitCreditWithRelations = OrgLimitCredit & OrgLimitCreditRelations; export type OrgChartEdgeGrantWithRelations = OrgChartEdgeGrant & OrgChartEdgeGrantRelations; export type AppClaimedInviteWithRelations = AppClaimedInvite & AppClaimedInviteRelations; export type AppGrantWithRelations = AppGrant & AppGrantRelations; @@ -888,14 +1043,14 @@ export type AppLimitEventWithRelations = AppLimitEvent & AppLimitEventRelations; export type OrgLimitEventWithRelations = OrgLimitEvent & OrgLimitEventRelations; export type OrgGrantWithRelations = OrgGrant & OrgGrantRelations; export type OrgChartEdgeWithRelations = OrgChartEdge & OrgChartEdgeRelations; -export type AppLimitWithRelations = AppLimit & AppLimitRelations; -export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; export type OrgMemberProfileWithRelations = OrgMemberProfile & OrgMemberProfileRelations; -export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; export type AppLevelWithRelations = AppLevel & AppLevelRelations; +export type AppLimitWithRelations = AppLimit & AppLimitRelations; export type AppInviteWithRelations = AppInvite & AppInviteRelations; export type OrgMembershipSettingWithRelations = OrgMembershipSetting & OrgMembershipSettingRelations; +export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; +export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; export type OrgInviteWithRelations = OrgInvite & OrgInviteRelations; export type AppMembershipWithRelations = AppMembership & AppMembershipRelations; export type OrgMembershipWithRelations = OrgMembership & OrgMembershipRelations; @@ -932,6 +1087,38 @@ export type AppLevelRequirementSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitCreditRedemptionSelect = { + id?: boolean; + creditCodeId?: boolean; + entityId?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; +}; +export type AppLimitCreditCodeItemSelect = { + id?: boolean; + creditCodeId?: boolean; + defaultLimitId?: boolean; + amount?: boolean; + creditType?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; export type OrgMemberSelect = { id?: boolean; isAdmin?: boolean; @@ -942,6 +1129,25 @@ export type AppPermissionDefaultSelect = { id?: boolean; permissions?: boolean; }; +export type AppLimitCreditCodeSelect = { + id?: boolean; + code?: boolean; + maxRedemptions?: boolean; + currentRedemptions?: boolean; + expiresAt?: boolean; + appLimitCreditCodeItemsByCreditCodeId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; + appLimitCreditRedemptionsByCreditCodeId?: { + select: AppLimitCreditRedemptionSelect; + first?: number; + filter?: AppLimitCreditRedemptionFilter; + orderBy?: AppLimitCreditRedemptionOrderBy[]; + }; +}; export type OrgPermissionDefaultSelect = { id?: boolean; permissions?: boolean; @@ -979,6 +1185,28 @@ export type AppStepSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type OrgLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type AppLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; +export type OrgLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; export type OrgAdminGrantSelect = { id?: boolean; isGrant?: boolean; @@ -1010,12 +1238,42 @@ export type AppLimitDefaultSelect = { name?: boolean; max?: boolean; softMax?: boolean; + appLimitCreditsByDefaultLimitId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; + appLimitCreditCodeItemsByDefaultLimitId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; }; export type OrgLimitDefaultSelect = { id?: boolean; name?: boolean; max?: boolean; softMax?: boolean; + orgLimitCreditsByDefaultLimitId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; +}; +export type OrgLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + entityId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + defaultLimit?: { + select: OrgLimitDefaultSelect; + }; }; export type OrgChartEdgeGrantSelect = { id?: boolean; @@ -1114,26 +1372,6 @@ export type OrgChartEdgeSelect = { positionTitle?: boolean; positionLevel?: boolean; }; -export type AppLimitSelect = { - id?: boolean; - name?: boolean; - actorId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; -}; -export type OrgLimitAggregateSelect = { - id?: boolean; - name?: boolean; - entityId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; -}; export type OrgMemberProfileSelect = { id?: boolean; createdAt?: boolean; @@ -1150,17 +1388,6 @@ export type OrgMemberProfileSelect = { select: OrgMembershipSelect; }; }; -export type OrgLimitSelect = { - id?: boolean; - name?: boolean; - actorId?: boolean; - num?: boolean; - max?: boolean; - softMax?: boolean; - windowStart?: boolean; - windowDuration?: boolean; - entityId?: boolean; -}; export type AppLevelSelect = { id?: boolean; name?: boolean; @@ -1170,6 +1397,19 @@ export type AppLevelSelect = { createdAt?: boolean; updatedAt?: boolean; }; +export type AppLimitSelect = { + id?: boolean; + name?: boolean; + actorId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; +}; export type AppInviteSelect = { id?: boolean; email?: boolean; @@ -1201,17 +1441,45 @@ export type OrgMembershipSettingSelect = { populateMemberEmail?: boolean; limitAllocationMode?: boolean; }; -export type OrgInviteSelect = { +export type OrgLimitAggregateSelect = { id?: boolean; - email?: boolean; - senderId?: boolean; - receiverId?: boolean; - inviteToken?: boolean; - inviteValid?: boolean; - inviteLimit?: boolean; - inviteCount?: boolean; - multiple?: boolean; - data?: boolean; + name?: boolean; + entityId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + reserved?: boolean; +}; +export type OrgLimitSelect = { + id?: boolean; + name?: boolean; + actorId?: boolean; + num?: boolean; + max?: boolean; + softMax?: boolean; + windowStart?: boolean; + windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + entityId?: boolean; +}; +export type OrgInviteSelect = { + id?: boolean; + email?: boolean; + senderId?: boolean; + receiverId?: boolean; + inviteToken?: boolean; + inviteValid?: boolean; + inviteLimit?: boolean; + inviteCount?: boolean; + multiple?: boolean; + data?: boolean; profileId?: boolean; expiresAt?: boolean; createdAt?: boolean; @@ -1334,6 +1602,66 @@ export interface AppLevelRequirementFilter { /** Negates the expression. */ not?: AppLevelRequirementFilter; } +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} export interface OrgMemberFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1362,6 +1690,32 @@ export interface AppPermissionDefaultFilter { /** Negates the expression. */ not?: AppPermissionDefaultFilter; } +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} export interface OrgPermissionDefaultFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1456,6 +1810,66 @@ export interface AppStepFilter { /** Negates the expression. */ not?: AppStepFilter; } +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} export interface OrgAdminGrantFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1535,6 +1949,14 @@ export interface AppLimitDefaultFilter { or?: AppLimitDefaultFilter[]; /** Negates the expression. */ not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; } export interface OrgLimitDefaultFilter { /** Filter by the object’s `id` field. */ @@ -1551,6 +1973,34 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; } export interface OrgChartEdgeGrantFilter { /** Filter by the object’s `id` field. */ @@ -1782,54 +2232,6 @@ export interface OrgChartEdgeFilter { /** Negates the expression. */ not?: OrgChartEdgeFilter; } -export interface AppLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: AppLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: AppLimitFilter[]; - /** Negates the expression. */ - not?: AppLimitFilter; -} -export interface OrgLimitAggregateFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitAggregateFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitAggregateFilter[]; - /** Negates the expression. */ - not?: OrgLimitAggregateFilter; -} export interface OrgMemberProfileFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1862,32 +2264,6 @@ export interface OrgMemberProfileFilter { /** Filter by the object’s `membership` relation. */ membership?: OrgMembershipFilter; } -export interface OrgLimitFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `name` field. */ - name?: StringFilter; - /** Filter by the object’s `actorId` field. */ - actorId?: UUIDFilter; - /** Filter by the object’s `num` field. */ - num?: BigIntFilter; - /** Filter by the object’s `max` field. */ - max?: BigIntFilter; - /** Filter by the object’s `softMax` field. */ - softMax?: BigIntFilter; - /** Filter by the object’s `windowStart` field. */ - windowStart?: DatetimeFilter; - /** Filter by the object’s `windowDuration` field. */ - windowDuration?: IntervalFilter; - /** Filter by the object’s `entityId` field. */ - entityId?: UUIDFilter; - /** Checks for all expressions in this list. */ - and?: OrgLimitFilter[]; - /** Checks for any expressions in this list. */ - or?: OrgLimitFilter[]; - /** Negates the expression. */ - not?: OrgLimitFilter; -} export interface AppLevelFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1910,6 +2286,36 @@ export interface AppLevelFilter { /** Negates the expression. */ not?: AppLevelFilter; } +export interface AppLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitFilter[]; + /** Negates the expression. */ + not?: AppLimitFilter; +} export interface AppInviteFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -1978,37 +2384,101 @@ export interface OrgMembershipSettingFilter { /** Negates the expression. */ not?: OrgMembershipSettingFilter; } -export interface OrgInviteFilter { +export interface OrgLimitAggregateFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; - /** Filter by the object’s `email` field. */ - email?: ConstructiveInternalTypeEmailFilter; - /** Filter by the object’s `senderId` field. */ - senderId?: UUIDFilter; - /** Filter by the object’s `receiverId` field. */ - receiverId?: UUIDFilter; - /** Filter by the object’s `inviteToken` field. */ - inviteToken?: StringFilter; - /** Filter by the object’s `inviteValid` field. */ - inviteValid?: BooleanFilter; - /** Filter by the object’s `inviteLimit` field. */ - inviteLimit?: IntFilter; - /** Filter by the object’s `inviteCount` field. */ - inviteCount?: IntFilter; - /** Filter by the object’s `multiple` field. */ - multiple?: BooleanFilter; - /** Filter by the object’s `profileId` field. */ - profileId?: UUIDFilter; - /** Filter by the object’s `expiresAt` field. */ - expiresAt?: DatetimeFilter; - /** Filter by the object’s `createdAt` field. */ - createdAt?: DatetimeFilter; - /** Filter by the object’s `updatedAt` field. */ - updatedAt?: DatetimeFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ - and?: OrgInviteFilter[]; + and?: OrgLimitAggregateFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitAggregateFilter[]; + /** Negates the expression. */ + not?: OrgLimitAggregateFilter; +} +export interface OrgLimitFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `num` field. */ + num?: BigIntFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Filter by the object’s `windowStart` field. */ + windowStart?: DatetimeFilter; + /** Filter by the object’s `windowDuration` field. */ + windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitFilter[]; + /** Negates the expression. */ + not?: OrgLimitFilter; +} +export interface OrgInviteFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `email` field. */ + email?: ConstructiveInternalTypeEmailFilter; + /** Filter by the object’s `senderId` field. */ + senderId?: UUIDFilter; + /** Filter by the object’s `receiverId` field. */ + receiverId?: UUIDFilter; + /** Filter by the object’s `inviteToken` field. */ + inviteToken?: StringFilter; + /** Filter by the object’s `inviteValid` field. */ + inviteValid?: BooleanFilter; + /** Filter by the object’s `inviteLimit` field. */ + inviteLimit?: IntFilter; + /** Filter by the object’s `inviteCount` field. */ + inviteCount?: IntFilter; + /** Filter by the object’s `multiple` field. */ + multiple?: BooleanFilter; + /** Filter by the object’s `profileId` field. */ + profileId?: UUIDFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: OrgInviteFilter[]; /** Checks for any expressions in this list. */ or?: OrgInviteFilter[]; /** Negates the expression. */ @@ -2167,6 +2637,46 @@ export type AppLevelRequirementOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgMemberOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2187,6 +2697,20 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; export type OrgPermissionDefaultOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2261,6 +2785,50 @@ export type AppStepOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; export type OrgAdminGrantOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2337,6 +2905,24 @@ export type OrgLimitDefaultOrderBy = | 'MAX_DESC' | 'SOFT_MAX_ASC' | 'SOFT_MAX_DESC'; +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgChartEdgeGrantOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2527,46 +3113,6 @@ export type OrgChartEdgeOrderBy = | 'POSITION_TITLE_DESC' | 'POSITION_LEVEL_ASC' | 'POSITION_LEVEL_DESC'; -export type AppLimitOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ACTOR_ID_ASC' - | 'ACTOR_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; -export type OrgLimitAggregateOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC' - | 'NUM_ASC' - | 'NUM_DESC' - | 'MAX_ASC' - | 'MAX_DESC' - | 'SOFT_MAX_ASC' - | 'SOFT_MAX_DESC' - | 'WINDOW_START_ASC' - | 'WINDOW_START_DESC' - | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; export type OrgMemberProfileOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2593,7 +3139,25 @@ export type OrgMemberProfileOrderBy = | 'BIO_DESC' | 'PROFILE_PICTURE_ASC' | 'PROFILE_PICTURE_DESC'; -export type OrgLimitOrderBy = +export type AppLevelOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'DESCRIPTION_ASC' + | 'DESCRIPTION_DESC' + | 'IMAGE_ASC' + | 'IMAGE_DESC' + | 'OWNER_ID_ASC' + | 'OWNER_ID_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; +export type AppLimitOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' @@ -2613,26 +3177,12 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' - | 'ENTITY_ID_ASC' - | 'ENTITY_ID_DESC'; -export type AppLevelOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'NAME_ASC' - | 'NAME_DESC' - | 'DESCRIPTION_ASC' - | 'DESCRIPTION_DESC' - | 'IMAGE_ASC' - | 'IMAGE_DESC' - | 'OWNER_ID_ASC' - | 'OWNER_ID_DESC' - | 'CREATED_AT_ASC' - | 'CREATED_AT_DESC' - | 'UPDATED_AT_ASC' - | 'UPDATED_AT_DESC'; + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; export type AppInviteOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2695,6 +3245,62 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +export type OrgLimitAggregateOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; +export type OrgLimitOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'NUM_ASC' + | 'NUM_DESC' + | 'MAX_ASC' + | 'MAX_DESC' + | 'SOFT_MAX_ASC' + | 'SOFT_MAX_DESC' + | 'WINDOW_START_ASC' + | 'WINDOW_START_DESC' + | 'WINDOW_DURATION_ASC' + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; export type OrgInviteOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -2920,6 +3526,76 @@ export interface DeleteAppLevelRequirementInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + appLimitCreditRedemption: { + creditCodeId: string; + entityId: string; + }; +} +export interface AppLimitCreditRedemptionPatch { + creditCodeId?: string | null; + entityId?: string | null; +} +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + appLimitCreditCodeItem: { + creditCodeId: string; + defaultLimitId: string; + amount: string; + creditType?: string; + }; +} +export interface AppLimitCreditCodeItemPatch { + creditCodeId?: string | null; + defaultLimitId?: string | null; + amount?: string | null; + creditType?: string | null; +} +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + appLimitCredit: { + defaultLimitId: string; + actorId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface AppLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + appLimitCreditPatch: AppLimitCreditPatch; +} +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgMemberInput { clientMutationId?: string; orgMember: { @@ -2960,6 +3636,30 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + appLimitCreditCode: { + code: string; + maxRedemptions?: number; + currentRedemptions?: number; + expiresAt?: string; + }; +} +export interface AppLimitCreditCodePatch { + code?: string | null; + maxRedemptions?: number | null; + currentRedemptions?: number | null; + expiresAt?: string | null; +} +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgPermissionDefaultInput { clientMutationId?: string; orgPermissionDefault: { @@ -3068,6 +3768,90 @@ export interface DeleteAppStepInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + appLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface AppLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + orgLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface OrgLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + appLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface AppLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + appLimitCapPatch: AppLimitCapPatch; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + orgLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface OrgLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + orgLimitCapPatch: OrgLimitCapPatch; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgAdminGrantInput { clientMutationId?: string; orgAdminGrant: { @@ -3186,6 +3970,34 @@ export interface DeleteOrgLimitDefaultInput { clientMutationId?: string; id: string; } +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + orgLimitCredit: { + defaultLimitId: string; + actorId?: string; + entityId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface OrgLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + entityId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgChartEdgeGrantInput { clientMutationId?: string; orgChartEdgeGrant: { @@ -3454,66 +4266,6 @@ export interface DeleteOrgChartEdgeInput { clientMutationId?: string; id: string; } -export interface CreateAppLimitInput { - clientMutationId?: string; - appLimit: { - name?: string; - actorId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - }; -} -export interface AppLimitPatch { - name?: string | null; - actorId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; -} -export interface UpdateAppLimitInput { - clientMutationId?: string; - id: string; - appLimitPatch: AppLimitPatch; -} -export interface DeleteAppLimitInput { - clientMutationId?: string; - id: string; -} -export interface CreateOrgLimitAggregateInput { - clientMutationId?: string; - orgLimitAggregate: { - name?: string; - entityId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - }; -} -export interface OrgLimitAggregatePatch { - name?: string | null; - entityId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; -} -export interface UpdateOrgLimitAggregateInput { - clientMutationId?: string; - id: string; - orgLimitAggregatePatch: OrgLimitAggregatePatch; -} -export interface DeleteOrgLimitAggregateInput { - clientMutationId?: string; - id: string; -} export interface CreateOrgMemberProfileInput { clientMutationId?: string; orgMemberProfile: { @@ -3547,38 +4299,6 @@ export interface DeleteOrgMemberProfileInput { clientMutationId?: string; id: string; } -export interface CreateOrgLimitInput { - clientMutationId?: string; - orgLimit: { - name?: string; - actorId: string; - num?: string; - max?: string; - softMax?: string; - windowStart?: string; - windowDuration?: IntervalInput; - entityId: string; - }; -} -export interface OrgLimitPatch { - name?: string | null; - actorId?: string | null; - num?: string | null; - max?: string | null; - softMax?: string | null; - windowStart?: string | null; - windowDuration?: IntervalInput | null; - entityId?: string | null; -} -export interface UpdateOrgLimitInput { - clientMutationId?: string; - id: string; - orgLimitPatch: OrgLimitPatch; -} -export interface DeleteOrgLimitInput { - clientMutationId?: string; - id: string; -} export interface CreateAppLevelInput { clientMutationId?: string; appLevel: { @@ -3604,6 +4324,42 @@ export interface DeleteAppLevelInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitInput { + clientMutationId?: string; + appLimit: { + name?: string; + actorId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + }; +} +export interface AppLimitPatch { + name?: string | null; + actorId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; +} +export interface UpdateAppLimitInput { + clientMutationId?: string; + id: string; + appLimitPatch: AppLimitPatch; +} +export interface DeleteAppLimitInput { + clientMutationId?: string; + id: string; +} export interface CreateAppInviteInput { clientMutationId?: string; appInvite: { @@ -3678,16 +4434,92 @@ export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } -export interface CreateOrgInviteInput { +export interface CreateOrgLimitAggregateInput { clientMutationId?: string; - orgInvite: { - email?: ConstructiveInternalTypeEmail; - senderId?: string; - receiverId?: string; - inviteToken?: string; - inviteValid?: boolean; - inviteLimit?: number; - inviteCount?: number; + orgLimitAggregate: { + name?: string; + entityId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + reserved?: string; + }; +} +export interface OrgLimitAggregatePatch { + name?: string | null; + entityId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + reserved?: string | null; +} +export interface UpdateOrgLimitAggregateInput { + clientMutationId?: string; + id: string; + orgLimitAggregatePatch: OrgLimitAggregatePatch; +} +export interface DeleteOrgLimitAggregateInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitInput { + clientMutationId?: string; + orgLimit: { + name?: string; + actorId: string; + num?: string; + max?: string; + softMax?: string; + windowStart?: string; + windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + entityId: string; + }; +} +export interface OrgLimitPatch { + name?: string | null; + actorId?: string | null; + num?: string | null; + max?: string | null; + softMax?: string | null; + windowStart?: string | null; + windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + entityId?: string | null; +} +export interface UpdateOrgLimitInput { + clientMutationId?: string; + id: string; + orgLimitPatch: OrgLimitPatch; +} +export interface DeleteOrgLimitInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgInviteInput { + clientMutationId?: string; + orgInvite: { + email?: ConstructiveInternalTypeEmail; + senderId?: string; + receiverId?: string; + inviteToken?: string; + inviteValid?: boolean; + inviteLimit?: number; + inviteCount?: number; multiple?: boolean; data?: Record; profileId?: string; @@ -3807,7 +4639,19 @@ export interface DeleteOrgMembershipInput { id: string; } // ============ Connection Fields Map ============ -export const connectionFieldsMap = {} as Record>; +export const connectionFieldsMap = { + AppLimitCreditCode: { + appLimitCreditCodeItemsByCreditCodeId: 'AppLimitCreditCodeItem', + appLimitCreditRedemptionsByCreditCodeId: 'AppLimitCreditRedemption', + }, + AppLimitDefault: { + appLimitCreditsByDefaultLimitId: 'AppLimitCredit', + appLimitCreditCodeItemsByDefaultLimitId: 'AppLimitCreditCodeItem', + }, + OrgLimitDefault: { + orgLimitCreditsByDefaultLimitId: 'OrgLimitCredit', + }, +} as Record>; // ============ Custom Input Types (from schema) ============ export interface SubmitAppInviteCodeInput { clientMutationId?: string; @@ -3817,25 +4661,6 @@ export interface SubmitOrgInviteCodeInput { clientMutationId?: string; token?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -3845,30 +4670,50 @@ export interface ProvisionBucketInput { */ ownerId?: string; } -/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ -export interface IntervalFilter { - /** Is null (if `true` is specified) or is not null (if `false` is specified). */ - isNull?: boolean; - /** Equal to the specified value. */ - equalTo?: IntervalInput; - /** Not equal to the specified value. */ - notEqualTo?: IntervalInput; - /** Not equal to the specified value, treating null like an ordinary value. */ - distinctFrom?: IntervalInput; - /** Equal to the specified value, treating null like an ordinary value. */ - notDistinctFrom?: IntervalInput; - /** Included in the specified list. */ - in?: IntervalInput[]; - /** Not included in the specified list. */ - notIn?: IntervalInput[]; - /** Less than the specified value. */ - lessThan?: IntervalInput; - /** Less than or equal to the specified value. */ - lessThanOrEqualTo?: IntervalInput; - /** Greater than the specified value. */ - greaterThan?: IntervalInput; - /** Greater than or equal to the specified value. */ - greaterThanOrEqualTo?: IntervalInput; +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; } /** A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeImageFilter { @@ -3905,6 +4750,31 @@ export interface ConstructiveInternalTypeImageFilter { /** Contained by the specified JSON. */ containedBy?: ConstructiveInternalTypeImage; } +/** A filter to be used against Interval fields. All fields are combined with a logical ‘and.’ */ +export interface IntervalFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: IntervalInput; + /** Not equal to the specified value. */ + notEqualTo?: IntervalInput; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: IntervalInput; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: IntervalInput; + /** Included in the specified list. */ + in?: IntervalInput[]; + /** Not included in the specified list. */ + notIn?: IntervalInput[]; + /** Less than the specified value. */ + lessThan?: IntervalInput; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: IntervalInput; + /** Greater than the specified value. */ + greaterThan?: IntervalInput; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: IntervalInput; +} /** A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeEmailFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -3982,6 +4852,94 @@ export interface ConstructiveInternalTypeEmailFilter { /** Greater than or equal to the specified value (case-insensitive). */ greaterThanOrEqualToInsensitive?: ConstructiveInternalTypeEmail; } +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; +} /** An interval of time that has passed where the smallest distinct unit is a second. */ export interface IntervalInput { /** @@ -4001,6 +4959,256 @@ export interface IntervalInput { /** A quantity of years. */ years?: number; } +/** A filter to be used against UUID fields. All fields are combined with a logical ‘and.’ */ +export interface UUIDFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} +/** A filter to be used against BigInt fields. All fields are combined with a logical ‘and.’ */ +export interface BigIntFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} +/** A filter to be used against String fields. All fields are combined with a logical ‘and.’ */ +export interface StringFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; + /** Contains the specified string (case-sensitive). */ + includes?: string; + /** Does not contain the specified string (case-sensitive). */ + notIncludes?: string; + /** Contains the specified string (case-insensitive). */ + includesInsensitive?: string; + /** Does not contain the specified string (case-insensitive). */ + notIncludesInsensitive?: string; + /** Starts with the specified string (case-sensitive). */ + startsWith?: string; + /** Does not start with the specified string (case-sensitive). */ + notStartsWith?: string; + /** Starts with the specified string (case-insensitive). */ + startsWithInsensitive?: string; + /** Does not start with the specified string (case-insensitive). */ + notStartsWithInsensitive?: string; + /** Ends with the specified string (case-sensitive). */ + endsWith?: string; + /** Does not end with the specified string (case-sensitive). */ + notEndsWith?: string; + /** Ends with the specified string (case-insensitive). */ + endsWithInsensitive?: string; + /** Does not end with the specified string (case-insensitive). */ + notEndsWithInsensitive?: string; + /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + like?: string; + /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + notLike?: string; + /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + likeInsensitive?: string; + /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */ + notLikeInsensitive?: string; + /** Equal to the specified value (case-insensitive). */ + equalToInsensitive?: string; + /** Not equal to the specified value (case-insensitive). */ + notEqualToInsensitive?: string; + /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */ + distinctFromInsensitive?: string; + /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */ + notDistinctFromInsensitive?: string; + /** Included in the specified list (case-insensitive). */ + inInsensitive?: string[]; + /** Not included in the specified list (case-insensitive). */ + notInInsensitive?: string[]; + /** Less than the specified value (case-insensitive). */ + lessThanInsensitive?: string; + /** Less than or equal to the specified value (case-insensitive). */ + lessThanOrEqualToInsensitive?: string; + /** Greater than the specified value (case-insensitive). */ + greaterThanInsensitive?: string; + /** Greater than or equal to the specified value (case-insensitive). */ + greaterThanOrEqualToInsensitive?: string; +} +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against Int fields. All fields are combined with a logical ‘and.’ */ +export interface IntFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: number; + /** Not equal to the specified value. */ + notEqualTo?: number; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: number; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: number; + /** Included in the specified list. */ + in?: number[]; + /** Not included in the specified list. */ + notIn?: number[]; + /** Less than the specified value. */ + lessThan?: number; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: number; + /** Greater than the specified value. */ + greaterThan?: number; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: number; +} +/** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */ +export interface DatetimeFilter { + /** Is null (if `true` is specified) or is not null (if `false` is specified). */ + isNull?: boolean; + /** Equal to the specified value. */ + equalTo?: string; + /** Not equal to the specified value. */ + notEqualTo?: string; + /** Not equal to the specified value, treating null like an ordinary value. */ + distinctFrom?: string; + /** Equal to the specified value, treating null like an ordinary value. */ + notDistinctFrom?: string; + /** Included in the specified list. */ + in?: string[]; + /** Not included in the specified list. */ + notIn?: string[]; + /** Less than the specified value. */ + lessThan?: string; + /** Less than or equal to the specified value. */ + lessThanOrEqualTo?: string; + /** Greater than the specified value. */ + greaterThan?: string; + /** Greater than or equal to the specified value. */ + greaterThanOrEqualTo?: string; +} /** A connection to a list of `AppPermission` values. */ // ============ Payload/Return Types (for custom operations) ============ export interface AppPermissionConnection { @@ -4075,25 +5283,6 @@ export type SubmitOrgInviteCodePayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -4251,6 +5440,141 @@ export type DeleteAppLevelRequirementPayloadSelect = { select: AppLevelRequirementEdgeSelect; }; }; +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type CreateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type UpdateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type DeleteAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type CreateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type UpdateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type DeleteAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type CreateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type UpdateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type DeleteAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; export interface CreateOrgMemberPayload { clientMutationId?: string | null; /** The `OrgMember` that was created by this mutation. */ @@ -4328,17 +5652,62 @@ export type UpdateAppPermissionDefaultPayloadSelect = { }; export interface DeleteAppPermissionDefaultPayload { clientMutationId?: string | null; - /** The `AppPermissionDefault` that was deleted by this mutation. */ - appPermissionDefault?: AppPermissionDefault | null; - appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; + /** The `AppPermissionDefault` that was deleted by this mutation. */ + appPermissionDefault?: AppPermissionDefault | null; + appPermissionDefaultEdge?: AppPermissionDefaultEdge | null; +} +export type DeleteAppPermissionDefaultPayloadSelect = { + clientMutationId?: boolean; + appPermissionDefault?: { + select: AppPermissionDefaultSelect; + }; + appPermissionDefaultEdge?: { + select: AppPermissionDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type CreateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type UpdateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; } -export type DeleteAppPermissionDefaultPayloadSelect = { +export type DeleteAppLimitCreditCodePayloadSelect = { clientMutationId?: boolean; - appPermissionDefault?: { - select: AppPermissionDefaultSelect; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; }; - appPermissionDefaultEdge?: { - select: AppPermissionDefaultEdgeSelect; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; }; }; export interface CreateOrgPermissionDefaultPayload { @@ -4566,6 +5935,186 @@ export type DeleteAppStepPayloadSelect = { select: AppStepEdgeSelect; }; }; +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type CreateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type UpdateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type DeleteAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type CreateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type UpdateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type DeleteOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type CreateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type UpdateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type DeleteAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type CreateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type UpdateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type DeleteOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; export interface CreateOrgAdminGrantPayload { clientMutationId?: string | null; /** The `OrgAdminGrant` that was created by this mutation. */ @@ -4791,6 +6340,51 @@ export type DeleteOrgLimitDefaultPayloadSelect = { select: OrgLimitDefaultEdgeSelect; }; }; +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type CreateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type UpdateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type DeleteOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; export interface CreateOrgChartEdgeGrantPayload { clientMutationId?: string | null; /** The `OrgChartEdgeGrant` that was created by this mutation. */ @@ -5173,96 +6767,6 @@ export type DeleteOrgChartEdgePayloadSelect = { select: OrgChartEdgeEdgeSelect; }; }; -export interface CreateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was created by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type CreateAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface UpdateAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was updated by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type UpdateAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface DeleteAppLimitPayload { - clientMutationId?: string | null; - /** The `AppLimit` that was deleted by this mutation. */ - appLimit?: AppLimit | null; - appLimitEdge?: AppLimitEdge | null; -} -export type DeleteAppLimitPayloadSelect = { - clientMutationId?: boolean; - appLimit?: { - select: AppLimitSelect; - }; - appLimitEdge?: { - select: AppLimitEdgeSelect; - }; -}; -export interface CreateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was created by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type CreateOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; -export interface UpdateOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was updated by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type UpdateOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; -export interface DeleteOrgLimitAggregatePayload { - clientMutationId?: string | null; - /** The `OrgLimitAggregate` that was deleted by this mutation. */ - orgLimitAggregate?: OrgLimitAggregate | null; - orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; -} -export type DeleteOrgLimitAggregatePayloadSelect = { - clientMutationId?: boolean; - orgLimitAggregate?: { - select: OrgLimitAggregateSelect; - }; - orgLimitAggregateEdge?: { - select: OrgLimitAggregateEdgeSelect; - }; -}; export interface CreateOrgMemberProfilePayload { clientMutationId?: string | null; /** The `OrgMemberProfile` that was created by this mutation. */ @@ -5308,94 +6812,94 @@ export type DeleteOrgMemberProfilePayloadSelect = { select: OrgMemberProfileEdgeSelect; }; }; -export interface CreateOrgLimitPayload { +export interface CreateAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was created by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was created by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type CreateOrgLimitPayloadSelect = { +export type CreateAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface UpdateOrgLimitPayload { +export interface UpdateAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was updated by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was updated by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type UpdateOrgLimitPayloadSelect = { +export type UpdateAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface DeleteOrgLimitPayload { +export interface DeleteAppLevelPayload { clientMutationId?: string | null; - /** The `OrgLimit` that was deleted by this mutation. */ - orgLimit?: OrgLimit | null; - orgLimitEdge?: OrgLimitEdge | null; + /** The `AppLevel` that was deleted by this mutation. */ + appLevel?: AppLevel | null; + appLevelEdge?: AppLevelEdge | null; } -export type DeleteOrgLimitPayloadSelect = { +export type DeleteAppLevelPayloadSelect = { clientMutationId?: boolean; - orgLimit?: { - select: OrgLimitSelect; + appLevel?: { + select: AppLevelSelect; }; - orgLimitEdge?: { - select: OrgLimitEdgeSelect; + appLevelEdge?: { + select: AppLevelEdgeSelect; }; }; -export interface CreateAppLevelPayload { +export interface CreateAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was created by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was created by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type CreateAppLevelPayloadSelect = { +export type CreateAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; -export interface UpdateAppLevelPayload { +export interface UpdateAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was updated by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was updated by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type UpdateAppLevelPayloadSelect = { +export type UpdateAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; -export interface DeleteAppLevelPayload { +export interface DeleteAppLimitPayload { clientMutationId?: string | null; - /** The `AppLevel` that was deleted by this mutation. */ - appLevel?: AppLevel | null; - appLevelEdge?: AppLevelEdge | null; + /** The `AppLimit` that was deleted by this mutation. */ + appLimit?: AppLimit | null; + appLimitEdge?: AppLimitEdge | null; } -export type DeleteAppLevelPayloadSelect = { +export type DeleteAppLimitPayloadSelect = { clientMutationId?: boolean; - appLevel?: { - select: AppLevelSelect; + appLimit?: { + select: AppLimitSelect; }; - appLevelEdge?: { - select: AppLevelEdgeSelect; + appLimitEdge?: { + select: AppLimitEdgeSelect; }; }; export interface CreateAppInvitePayload { @@ -5488,6 +6992,96 @@ export type DeleteOrgMembershipSettingPayloadSelect = { select: OrgMembershipSettingEdgeSelect; }; }; +export interface CreateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was created by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type CreateOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface UpdateOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was updated by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type UpdateOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface DeleteOrgLimitAggregatePayload { + clientMutationId?: string | null; + /** The `OrgLimitAggregate` that was deleted by this mutation. */ + orgLimitAggregate?: OrgLimitAggregate | null; + orgLimitAggregateEdge?: OrgLimitAggregateEdge | null; +} +export type DeleteOrgLimitAggregatePayloadSelect = { + clientMutationId?: boolean; + orgLimitAggregate?: { + select: OrgLimitAggregateSelect; + }; + orgLimitAggregateEdge?: { + select: OrgLimitAggregateEdgeSelect; + }; +}; +export interface CreateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was created by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type CreateOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; +export interface UpdateOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was updated by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type UpdateOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; +export interface DeleteOrgLimitPayload { + clientMutationId?: string | null; + /** The `OrgLimit` that was deleted by this mutation. */ + orgLimit?: OrgLimit | null; + orgLimitEdge?: OrgLimitEdge | null; +} +export type DeleteOrgLimitPayloadSelect = { + clientMutationId?: boolean; + orgLimit?: { + select: OrgLimitSelect; + }; + orgLimitEdge?: { + select: OrgLimitEdgeSelect; + }; +}; export interface CreateOrgInvitePayload { clientMutationId?: string | null; /** The `OrgInvite` that was created by this mutation. */ @@ -5676,6 +7270,42 @@ export type AppLevelRequirementEdgeSelect = { select: AppLevelRequirementSelect; }; }; +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +export type AppLimitCreditRedemptionEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditRedemptionSelect; + }; +}; +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +export type AppLimitCreditCodeItemEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeItemSelect; + }; +}; +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +export type AppLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditSelect; + }; +}; /** A `OrgMember` edge in the connection. */ export interface OrgMemberEdge { cursor?: string | null; @@ -5700,6 +7330,18 @@ export type AppPermissionDefaultEdgeSelect = { select: AppPermissionDefaultSelect; }; }; +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} +export type AppLimitCreditCodeEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeSelect; + }; +}; /** A `OrgPermissionDefault` edge in the connection. */ export interface OrgPermissionDefaultEdge { cursor?: string | null; @@ -5760,6 +7402,54 @@ export type AppStepEdgeSelect = { select: AppStepSelect; }; }; +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +export type AppLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapsDefaultSelect; + }; +}; +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +export type OrgLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapsDefaultSelect; + }; +}; +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +export type AppLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapSelect; + }; +}; +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} +export type OrgLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapSelect; + }; +}; /** A `OrgAdminGrant` edge in the connection. */ export interface OrgAdminGrantEdge { cursor?: string | null; @@ -5820,6 +7510,18 @@ export type OrgLimitDefaultEdgeSelect = { select: OrgLimitDefaultSelect; }; }; +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} +export type OrgLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCreditSelect; + }; +}; /** A `OrgChartEdgeGrant` edge in the connection. */ export interface OrgChartEdgeGrantEdge { cursor?: string | null; @@ -5916,30 +7618,6 @@ export type OrgChartEdgeEdgeSelect = { select: OrgChartEdgeSelect; }; }; -/** A `AppLimit` edge in the connection. */ -export interface AppLimitEdge { - cursor?: string | null; - /** The `AppLimit` at the end of the edge. */ - node?: AppLimit | null; -} -export type AppLimitEdgeSelect = { - cursor?: boolean; - node?: { - select: AppLimitSelect; - }; -}; -/** A `OrgLimitAggregate` edge in the connection. */ -export interface OrgLimitAggregateEdge { - cursor?: string | null; - /** The `OrgLimitAggregate` at the end of the edge. */ - node?: OrgLimitAggregate | null; -} -export type OrgLimitAggregateEdgeSelect = { - cursor?: boolean; - node?: { - select: OrgLimitAggregateSelect; - }; -}; /** A `OrgMemberProfile` edge in the connection. */ export interface OrgMemberProfileEdge { cursor?: string | null; @@ -5952,18 +7630,6 @@ export type OrgMemberProfileEdgeSelect = { select: OrgMemberProfileSelect; }; }; -/** A `OrgLimit` edge in the connection. */ -export interface OrgLimitEdge { - cursor?: string | null; - /** The `OrgLimit` at the end of the edge. */ - node?: OrgLimit | null; -} -export type OrgLimitEdgeSelect = { - cursor?: boolean; - node?: { - select: OrgLimitSelect; - }; -}; /** A `AppLevel` edge in the connection. */ export interface AppLevelEdge { cursor?: string | null; @@ -5976,6 +7642,18 @@ export type AppLevelEdgeSelect = { select: AppLevelSelect; }; }; +/** A `AppLimit` edge in the connection. */ +export interface AppLimitEdge { + cursor?: string | null; + /** The `AppLimit` at the end of the edge. */ + node?: AppLimit | null; +} +export type AppLimitEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitSelect; + }; +}; /** A `AppInvite` edge in the connection. */ export interface AppInviteEdge { cursor?: string | null; @@ -6000,6 +7678,30 @@ export type OrgMembershipSettingEdgeSelect = { select: OrgMembershipSettingSelect; }; }; +/** A `OrgLimitAggregate` edge in the connection. */ +export interface OrgLimitAggregateEdge { + cursor?: string | null; + /** The `OrgLimitAggregate` at the end of the edge. */ + node?: OrgLimitAggregate | null; +} +export type OrgLimitAggregateEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitAggregateSelect; + }; +}; +/** A `OrgLimit` edge in the connection. */ +export interface OrgLimitEdge { + cursor?: string | null; + /** The `OrgLimit` at the end of the edge. */ + node?: OrgLimit | null; +} +export type OrgLimitEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitSelect; + }; +}; /** A `OrgInvite` edge in the connection. */ export interface OrgInviteEdge { cursor?: string | null; diff --git a/sdk/constructive-sdk/src/admin/orm/models/appLimitCap.ts b/sdk/constructive-sdk/src/admin/orm/models/appLimitCap.ts new file mode 100644 index 000000000..b40f02904 --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/appLimitCap.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCap, + AppLimitCapWithRelations, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, + CreateAppLimitCapInput, + UpdateAppLimitCapInput, + AppLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + }, + 'AppLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCap', + document, + variables, + transform: (data: { + appLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCap: data.appLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCap', + 'createAppLimitCap', + 'appLimitCap', + args.select, + args.data, + 'CreateAppLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'createAppLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCap', + 'updateAppLimitCap', + 'appLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapInput', + 'id', + 'appLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'updateAppLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCap', + 'deleteAppLimitCap', + 'appLimitCap', + { + id: args.where.id, + }, + 'DeleteAppLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'deleteAppLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/appLimitCapsDefault.ts b/sdk/constructive-sdk/src/admin/orm/models/appLimitCapsDefault.ts new file mode 100644 index 000000000..b0ea0fcef --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/appLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCapsDefault, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, + CreateAppLimitCapsDefaultInput, + UpdateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'AppLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefault', + document, + variables, + transform: (data: { + appLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCapsDefault: data.appLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCapsDefault', + 'createAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.data, + 'CreateAppLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'createAppLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCapsDefault', + 'updateAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapsDefaultInput', + 'id', + 'appLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'updateAppLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCapsDefault', + 'deleteAppLimitCapsDefault', + 'appLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteAppLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'deleteAppLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/appLimitCredit.ts b/sdk/constructive-sdk/src/admin/orm/models/appLimitCredit.ts new file mode 100644 index 000000000..392072a13 --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/appLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCredit, + AppLimitCreditWithRelations, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, + CreateAppLimitCreditInput, + UpdateAppLimitCreditInput, + AppLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredit', + document, + variables, + transform: (data: { + appLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCredit: data.appLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCredit', + 'createAppLimitCredit', + 'appLimitCredit', + args.select, + args.data, + 'CreateAppLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'createAppLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCredit', + 'updateAppLimitCredit', + 'appLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditInput', + 'id', + 'appLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'updateAppLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCredit', + 'deleteAppLimitCredit', + 'appLimitCredit', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'deleteAppLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditCode.ts b/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditCode.ts new file mode 100644 index 000000000..75a9d825a --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditCode.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCreditCode model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCode, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, + CreateAppLimitCreditCodeInput, + UpdateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCode: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCode', + document, + variables, + transform: (data: { + appLimitCreditCodes?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCode: data.appLimitCreditCodes?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCode', + 'createAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.data, + 'CreateAppLimitCreditCodeInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'createAppLimitCreditCode', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCode', + 'updateAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeInput', + 'id', + 'appLimitCreditCodePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'updateAppLimitCreditCode', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCode', + 'deleteAppLimitCreditCode', + 'appLimitCreditCode', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'deleteAppLimitCreditCode', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditCodeItem.ts b/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditCodeItem.ts new file mode 100644 index 000000000..381660fad --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditCodeItem.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditCodeItem model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCodeItem, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, + CreateAppLimitCreditCodeItemInput, + UpdateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeItemModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeItemFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItem: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItem', + document, + variables, + transform: (data: { + appLimitCreditCodeItems?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCodeItem: data.appLimitCreditCodeItems?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCodeItem', + 'createAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.data, + 'CreateAppLimitCreditCodeItemInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'createAppLimitCreditCodeItem', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodeItemPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCodeItem', + 'updateAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeItemInput', + 'id', + 'appLimitCreditCodeItemPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'updateAppLimitCreditCodeItem', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCodeItem', + 'deleteAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeItemInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'deleteAppLimitCreditCodeItem', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditRedemption.ts b/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditRedemption.ts new file mode 100644 index 000000000..fd3676073 --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/appLimitCreditRedemption.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditRedemption model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditRedemption, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, + CreateAppLimitCreditRedemptionInput, + UpdateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditRedemptionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditRedemptionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemption: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemption', + document, + variables, + transform: (data: { + appLimitCreditRedemptions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditRedemption: data.appLimitCreditRedemptions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditRedemption', + 'createAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.data, + 'CreateAppLimitCreditRedemptionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'createAppLimitCreditRedemption', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditRedemptionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditRedemption', + 'updateAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditRedemptionInput', + 'id', + 'appLimitCreditRedemptionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'updateAppLimitCreditRedemption', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditRedemption', + 'deleteAppLimitCreditRedemption', + 'appLimitCreditRedemption', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditRedemptionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'deleteAppLimitCreditRedemption', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/index.ts b/sdk/constructive-sdk/src/admin/orm/models/index.ts index 1b903645a..686efa165 100644 --- a/sdk/constructive-sdk/src/admin/orm/models/index.ts +++ b/sdk/constructive-sdk/src/admin/orm/models/index.ts @@ -8,18 +8,27 @@ export { OrgGetSubordinatesRecordModel } from './orgGetSubordinatesRecord'; export { AppPermissionModel } from './appPermission'; export { OrgPermissionModel } from './orgPermission'; export { AppLevelRequirementModel } from './appLevelRequirement'; +export { AppLimitCreditRedemptionModel } from './appLimitCreditRedemption'; +export { AppLimitCreditCodeItemModel } from './appLimitCreditCodeItem'; +export { AppLimitCreditModel } from './appLimitCredit'; export { OrgMemberModel } from './orgMember'; export { AppPermissionDefaultModel } from './appPermissionDefault'; +export { AppLimitCreditCodeModel } from './appLimitCreditCode'; export { OrgPermissionDefaultModel } from './orgPermissionDefault'; export { AppAdminGrantModel } from './appAdminGrant'; export { AppOwnerGrantModel } from './appOwnerGrant'; export { AppAchievementModel } from './appAchievement'; export { AppStepModel } from './appStep'; +export { AppLimitCapsDefaultModel } from './appLimitCapsDefault'; +export { OrgLimitCapsDefaultModel } from './orgLimitCapsDefault'; +export { AppLimitCapModel } from './appLimitCap'; +export { OrgLimitCapModel } from './orgLimitCap'; export { OrgAdminGrantModel } from './orgAdminGrant'; export { OrgOwnerGrantModel } from './orgOwnerGrant'; export { MembershipTypeModel } from './membershipType'; export { AppLimitDefaultModel } from './appLimitDefault'; export { OrgLimitDefaultModel } from './orgLimitDefault'; +export { OrgLimitCreditModel } from './orgLimitCredit'; export { OrgChartEdgeGrantModel } from './orgChartEdgeGrant'; export { AppClaimedInviteModel } from './appClaimedInvite'; export { AppGrantModel } from './appGrant'; @@ -30,13 +39,13 @@ export { AppLimitEventModel } from './appLimitEvent'; export { OrgLimitEventModel } from './orgLimitEvent'; export { OrgGrantModel } from './orgGrant'; export { OrgChartEdgeModel } from './orgChartEdge'; -export { AppLimitModel } from './appLimit'; -export { OrgLimitAggregateModel } from './orgLimitAggregate'; export { OrgMemberProfileModel } from './orgMemberProfile'; -export { OrgLimitModel } from './orgLimit'; export { AppLevelModel } from './appLevel'; +export { AppLimitModel } from './appLimit'; export { AppInviteModel } from './appInvite'; export { OrgMembershipSettingModel } from './orgMembershipSetting'; +export { OrgLimitAggregateModel } from './orgLimitAggregate'; +export { OrgLimitModel } from './orgLimit'; export { OrgInviteModel } from './orgInvite'; export { AppMembershipModel } from './appMembership'; export { OrgMembershipModel } from './orgMembership'; diff --git a/sdk/constructive-sdk/src/admin/orm/models/orgLimitCap.ts b/sdk/constructive-sdk/src/admin/orm/models/orgLimitCap.ts new file mode 100644 index 000000000..0cb635912 --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/orgLimitCap.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCap, + OrgLimitCapWithRelations, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, + CreateOrgLimitCapInput, + UpdateOrgLimitCapInput, + OrgLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCap', + document, + variables, + transform: (data: { + orgLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCap: data.orgLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCap', + 'createOrgLimitCap', + 'orgLimitCap', + args.select, + args.data, + 'CreateOrgLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'createOrgLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCap', + 'updateOrgLimitCap', + 'orgLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapInput', + 'id', + 'orgLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'updateOrgLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCap', + 'deleteOrgLimitCap', + 'orgLimitCap', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'deleteOrgLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/orgLimitCapsDefault.ts b/sdk/constructive-sdk/src/admin/orm/models/orgLimitCapsDefault.ts new file mode 100644 index 000000000..722bb185f --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/orgLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCapsDefault, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, + CreateOrgLimitCapsDefaultInput, + UpdateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefault', + document, + variables, + transform: (data: { + orgLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCapsDefault: data.orgLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCapsDefault', + 'createOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.data, + 'CreateOrgLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'createOrgLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCapsDefault', + 'updateOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapsDefaultInput', + 'id', + 'orgLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'updateOrgLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCapsDefault', + 'deleteOrgLimitCapsDefault', + 'orgLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'deleteOrgLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/models/orgLimitCredit.ts b/sdk/constructive-sdk/src/admin/orm/models/orgLimitCredit.ts new file mode 100644 index 000000000..68e631fa7 --- /dev/null +++ b/sdk/constructive-sdk/src/admin/orm/models/orgLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCredit, + OrgLimitCreditWithRelations, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, + CreateOrgLimitCreditInput, + UpdateOrgLimitCreditInput, + OrgLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + }, + 'OrgLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredit', + document, + variables, + transform: (data: { + orgLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCredit: data.orgLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCredit', + 'createOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.data, + 'CreateOrgLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'createOrgLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCredit', + 'updateOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCreditInput', + 'id', + 'orgLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'updateOrgLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCredit', + 'deleteOrgLimitCredit', + 'orgLimitCredit', + { + id: args.where.id, + }, + 'DeleteOrgLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'deleteOrgLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/admin/orm/mutation/index.ts b/sdk/constructive-sdk/src/admin/orm/mutation/index.ts index cbc1459ea..e1c312186 100644 --- a/sdk/constructive-sdk/src/admin/orm/mutation/index.ts +++ b/sdk/constructive-sdk/src/admin/orm/mutation/index.ts @@ -9,15 +9,12 @@ import type { InferSelectResult, StrictSelect } from '../select-types'; import type { SubmitAppInviteCodeInput, SubmitOrgInviteCodeInput, - RequestUploadUrlInput, ProvisionBucketInput, SubmitAppInviteCodePayload, SubmitOrgInviteCodePayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SubmitAppInviteCodePayloadSelect, SubmitOrgInviteCodePayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -27,16 +24,6 @@ export interface SubmitAppInviteCodeVariables { export interface SubmitOrgInviteCodeVariables { input: SubmitOrgInviteCodeInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -107,35 +94,6 @@ export function createMutationOperations(client: OrmClient) { 'SubmitOrgInviteCodePayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-sdk/src/admin/orm/query-builder.ts b/sdk/constructive-sdk/src/admin/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-sdk/src/admin/orm/query-builder.ts +++ b/sdk/constructive-sdk/src/admin/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-sdk/src/auth/README.md b/sdk/constructive-sdk/src/auth/README.md index 210c88ac4..863e03862 100644 --- a/sdk/constructive-sdk/src/auth/README.md +++ b/sdk/constructive-sdk/src/auth/README.md @@ -10,7 +10,7 @@ - **Tables:** 9 - **Custom queries:** 5 -- **Custom mutations:** 23 +- **Custom mutations:** 22 **Generators:** ORM diff --git a/sdk/constructive-sdk/src/auth/orm/README.md b/sdk/constructive-sdk/src/auth/orm/README.md index 9188f84b8..29faca860 100644 --- a/sdk/constructive-sdk/src/auth/orm/README.md +++ b/sdk/constructive-sdk/src/auth/orm/README.md @@ -737,24 +737,6 @@ sendVerificationEmail const result = await db.mutation.sendVerificationEmail({ input: { email: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-sdk/src/auth/orm/input-types.ts b/sdk/constructive-sdk/src/auth/orm/input-types.ts index a091f00d3..9cf3cadd8 100644 --- a/sdk/constructive-sdk/src/auth/orm/input-types.ts +++ b/sdk/constructive-sdk/src/auth/orm/input-types.ts @@ -1349,25 +1349,6 @@ export interface SendVerificationEmailInput { clientMutationId?: string; email?: ConstructiveInternalTypeEmail; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -2425,25 +2406,6 @@ export type SendVerificationEmailPayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-sdk/src/auth/orm/mutation/index.ts b/sdk/constructive-sdk/src/auth/orm/mutation/index.ts index fa49f8830..3681a0fb5 100644 --- a/sdk/constructive-sdk/src/auth/orm/mutation/index.ts +++ b/sdk/constructive-sdk/src/auth/orm/mutation/index.ts @@ -28,7 +28,6 @@ import type { CreateApiKeyInput, ForgotPasswordInput, SendVerificationEmailInput, - RequestUploadUrlInput, ProvisionBucketInput, SignOutPayload, SendAccountDeletionEmailPayload, @@ -51,7 +50,6 @@ import type { CreateApiKeyPayload, ForgotPasswordPayload, SendVerificationEmailPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SignOutPayloadSelect, SendAccountDeletionEmailPayloadSelect, @@ -74,7 +72,6 @@ import type { CreateApiKeyPayloadSelect, ForgotPasswordPayloadSelect, SendVerificationEmailPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -141,16 +138,6 @@ export interface ForgotPasswordVariables { export interface SendVerificationEmailVariables { input: SendVerificationEmailInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -772,35 +759,6 @@ export function createMutationOperations(client: OrmClient) { 'SendVerificationEmailPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-sdk/src/auth/orm/query-builder.ts b/sdk/constructive-sdk/src/auth/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-sdk/src/auth/orm/query-builder.ts +++ b/sdk/constructive-sdk/src/auth/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-sdk/src/objects/README.md b/sdk/constructive-sdk/src/objects/README.md index 0fc7476f2..e89d046e0 100644 --- a/sdk/constructive-sdk/src/objects/README.md +++ b/sdk/constructive-sdk/src/objects/README.md @@ -10,7 +10,7 @@ - **Tables:** 5 - **Custom queries:** 4 -- **Custom mutations:** 10 +- **Custom mutations:** 9 **Generators:** ORM diff --git a/sdk/constructive-sdk/src/objects/orm/README.md b/sdk/constructive-sdk/src/objects/orm/README.md index e86aa309c..94b8dc086 100644 --- a/sdk/constructive-sdk/src/objects/orm/README.md +++ b/sdk/constructive-sdk/src/objects/orm/README.md @@ -394,24 +394,6 @@ setAndCommit const result = await db.mutation.setAndCommit({ input: '' }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-sdk/src/objects/orm/input-types.ts b/sdk/constructive-sdk/src/objects/orm/input-types.ts index 67a2de15b..8fcc221ef 100644 --- a/sdk/constructive-sdk/src/objects/orm/input-types.ts +++ b/sdk/constructive-sdk/src/objects/orm/input-types.ts @@ -706,25 +706,6 @@ export interface SetAndCommitInput { kids?: string[]; ktree?: string[]; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -814,25 +795,6 @@ export type SetAndCommitPayloadSelect = { clientMutationId?: boolean; result?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/constructive-sdk/src/objects/orm/mutation/index.ts b/sdk/constructive-sdk/src/objects/orm/mutation/index.ts index 04890fb67..97d4456b4 100644 --- a/sdk/constructive-sdk/src/objects/orm/mutation/index.ts +++ b/sdk/constructive-sdk/src/objects/orm/mutation/index.ts @@ -15,7 +15,6 @@ import type { InsertNodeAtPathInput, UpdateNodeAtPathInput, SetAndCommitInput, - RequestUploadUrlInput, ProvisionBucketInput, FreezeObjectsPayload, InitEmptyRepoPayload, @@ -25,7 +24,6 @@ import type { InsertNodeAtPathPayload, UpdateNodeAtPathPayload, SetAndCommitPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, FreezeObjectsPayloadSelect, InitEmptyRepoPayloadSelect, @@ -35,7 +33,6 @@ import type { InsertNodeAtPathPayloadSelect, UpdateNodeAtPathPayloadSelect, SetAndCommitPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -63,16 +60,6 @@ export interface UpdateNodeAtPathVariables { export interface SetAndCommitVariables { input: SetAndCommitInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -317,35 +304,6 @@ export function createMutationOperations(client: OrmClient) { 'SetAndCommitPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-sdk/src/objects/orm/query-builder.ts b/sdk/constructive-sdk/src/objects/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-sdk/src/objects/orm/query-builder.ts +++ b/sdk/constructive-sdk/src/objects/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/constructive-sdk/src/public/README.md b/sdk/constructive-sdk/src/public/README.md index 1dd3b4991..de1542560 100644 --- a/sdk/constructive-sdk/src/public/README.md +++ b/sdk/constructive-sdk/src/public/README.md @@ -8,7 +8,7 @@ ## Overview -- **Tables:** 129 +- **Tables:** 147 - **Custom queries:** 22 - **Custom mutations:** 49 diff --git a/sdk/constructive-sdk/src/public/orm/README.md b/sdk/constructive-sdk/src/public/orm/README.md index 910f95827..fd19e2e43 100644 --- a/sdk/constructive-sdk/src/public/orm/README.md +++ b/sdk/constructive-sdk/src/public/orm/README.md @@ -34,6 +34,7 @@ const db = createClient({ | `checkConstraint` | findMany, findOne, create, update, delete | | `field` | findMany, findOne, create, update, delete | | `spatialRelation` | findMany, findOne, create, update, delete | +| `partition` | findMany, findOne, create, update, delete | | `foreignKeyConstraint` | findMany, findOne, create, update, delete | | `fullTextSearch` | findMany, findOne, create, update, delete | | `index` | findMany, findOne, create, update, delete | @@ -54,17 +55,20 @@ const db = createClient({ | `schemaGrant` | findMany, findOne, create, update, delete | | `defaultPrivilege` | findMany, findOne, create, update, delete | | `enum` | findMany, findOne, create, update, delete | +| `function` | findMany, findOne, create, update, delete | | `apiSchema` | findMany, findOne, create, update, delete | | `apiModule` | findMany, findOne, create, update, delete | | `domain` | findMany, findOne, create, update, delete | | `siteMetadatum` | findMany, findOne, create, update, delete | | `siteModule` | findMany, findOne, create, update, delete | | `siteTheme` | findMany, findOne, create, update, delete | +| `corsSetting` | findMany, findOne, create, update, delete | | `triggerFunction` | findMany, findOne, create, update, delete | | `databaseTransfer` | findMany, findOne, create, update, delete | | `api` | findMany, findOne, create, update, delete | | `site` | findMany, findOne, create, update, delete | | `app` | findMany, findOne, create, update, delete | +| `apiSetting` | findMany, findOne, create, update, delete | | `connectedAccountsModule` | findMany, findOne, create, update, delete | | `cryptoAddressesModule` | findMany, findOne, create, update, delete | | `cryptoAuthModule` | findMany, findOne, create, update, delete | @@ -106,7 +110,11 @@ const db = createClient({ | `orgChartEdgeGrant` | findMany, findOne, create, update, delete | | `orgPermissionDefault` | findMany, findOne, create, update, delete | | `appLimit` | findMany, findOne, create, update, delete | +| `appLimitCredit` | findMany, findOne, create, update, delete | +| `appLimitCreditCodeItem` | findMany, findOne, create, update, delete | +| `appLimitCreditRedemption` | findMany, findOne, create, update, delete | | `orgLimit` | findMany, findOne, create, update, delete | +| `orgLimitCredit` | findMany, findOne, create, update, delete | | `orgLimitAggregate` | findMany, findOne, create, update, delete | | `appStep` | findMany, findOne, create, update, delete | | `appAchievement` | findMany, findOne, create, update, delete | @@ -128,6 +136,11 @@ const db = createClient({ | `ref` | findMany, findOne, create, update, delete | | `store` | findMany, findOne, create, update, delete | | `appPermissionDefault` | findMany, findOne, create, update, delete | +| `appLimitCreditCode` | findMany, findOne, create, update, delete | +| `appLimitCapsDefault` | findMany, findOne, create, update, delete | +| `orgLimitCapsDefault` | findMany, findOne, create, update, delete | +| `appLimitCap` | findMany, findOne, create, update, delete | +| `orgLimitCap` | findMany, findOne, create, update, delete | | `membershipType` | findMany, findOne, create, update, delete | | `migrateFile` | findMany, findOne, create, update, delete | | `devicesModule` | findMany, findOne, create, update, delete | @@ -136,19 +149,24 @@ const db = createClient({ | `orgLimitDefault` | findMany, findOne, create, update, delete | | `userConnectedAccount` | findMany, findOne, create, update, delete | | `commit` | findMany, findOne, create, update, delete | +| `pubkeySetting` | findMany, findOne, create, update, delete | | `rateLimitsModule` | findMany, findOne, create, update, delete | | `appMembershipDefault` | findMany, findOne, create, update, delete | | `orgMembershipDefault` | findMany, findOne, create, update, delete | +| `rlsSetting` | findMany, findOne, create, update, delete | | `appLimitEvent` | findMany, findOne, create, update, delete | | `orgLimitEvent` | findMany, findOne, create, update, delete | -| `plansModule` | findMany, findOne, create, update, delete | | `rlsModule` | findMany, findOne, create, update, delete | +| `databaseSetting` | findMany, findOne, create, update, delete | +| `plansModule` | findMany, findOne, create, update, delete | | `sqlAction` | findMany, findOne, create, update, delete | | `billingModule` | findMany, findOne, create, update, delete | | `astMigration` | findMany, findOne, create, update, delete | | `user` | findMany, findOne, create, update, delete | | `orgMembershipSetting` | findMany, findOne, create, update, delete | +| `webauthnSetting` | findMany, findOne, create, update, delete | | `appMembership` | findMany, findOne, create, update, delete | +| `billingProviderModule` | findMany, findOne, create, update, delete | | `hierarchyModule` | findMany, findOne, create, update, delete | ## Table Operations @@ -643,6 +661,45 @@ const updated = await db.spatialRelation.update({ where: { id: '' }, data: const deleted = await db.spatialRelation.delete({ where: { id: '' } }).execute(); ``` +### `db.partition` + +CRUD operations for Partition records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `tableId` | UUID | Yes | +| `strategy` | String | Yes | +| `partitionKeyId` | UUID | Yes | +| `interval` | String | Yes | +| `retention` | String | Yes | +| `lookahead` | Int | Yes | +| `namingPattern` | String | Yes | +| `createdAt` | Datetime | No | +| `updatedAt` | Datetime | No | + +**Operations:** + +```typescript +// List all partition records +const items = await db.partition.findMany({ select: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }).execute(); + +// Get one by id +const item = await db.partition.findOne({ id: '', select: { id: true, databaseId: true, tableId: true, strategy: true, partitionKeyId: true, interval: true, retention: true, lookahead: true, namingPattern: true, createdAt: true, updatedAt: true } }).execute(); + +// Create +const created = await db.partition.create({ data: { databaseId: '', tableId: '', strategy: '', partitionKeyId: '', interval: '', retention: '', lookahead: '', namingPattern: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.partition.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.partition.delete({ where: { id: '' } }).execute(); +``` + ### `db.foreignKeyConstraint` CRUD operations for ForeignKeyConstraint records. @@ -1438,6 +1495,38 @@ const updated = await db.enum.update({ where: { id: '' }, data: { database const deleted = await db.enum.delete({ where: { id: '' } }).execute(); ``` +### `db.function` + +CRUD operations for Function records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `name` | String | Yes | + +**Operations:** + +```typescript +// List all function records +const items = await db.function.findMany({ select: { id: true, databaseId: true, schemaId: true, name: true } }).execute(); + +// Get one by id +const item = await db.function.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, name: true } }).execute(); + +// Create +const created = await db.function.create({ data: { databaseId: '', schemaId: '', name: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.function.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.function.delete({ where: { id: '' } }).execute(); +``` + ### `db.apiSchema` CRUD operations for ApiSchema records. @@ -1636,6 +1725,38 @@ const updated = await db.siteTheme.update({ where: { id: '' }, data: { dat const deleted = await db.siteTheme.delete({ where: { id: '' } }).execute(); ``` +### `db.corsSetting` + +CRUD operations for CorsSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `apiId` | UUID | Yes | +| `allowedOrigins` | String | Yes | + +**Operations:** + +```typescript +// List all corsSetting records +const items = await db.corsSetting.findMany({ select: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }).execute(); + +// Get one by id +const item = await db.corsSetting.findOne({ id: '', select: { id: true, databaseId: true, apiId: true, allowedOrigins: true } }).execute(); + +// Create +const created = await db.corsSetting.create({ data: { databaseId: '', apiId: '', allowedOrigins: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.corsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.corsSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.triggerFunction` CRUD operations for TriggerFunction records. @@ -1821,6 +1942,47 @@ const updated = await db.app.update({ where: { id: '' }, data: { databaseI const deleted = await db.app.delete({ where: { id: '' } }).execute(); ``` +### `db.apiSetting` + +CRUD operations for ApiSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `apiId` | UUID | Yes | +| `enableAggregates` | Boolean | Yes | +| `enablePostgis` | Boolean | Yes | +| `enableSearch` | Boolean | Yes | +| `enableDirectUploads` | Boolean | Yes | +| `enablePresignedUploads` | Boolean | Yes | +| `enableManyToMany` | Boolean | Yes | +| `enableConnectionFilter` | Boolean | Yes | +| `enableLtree` | Boolean | Yes | +| `enableLlm` | Boolean | Yes | +| `options` | JSON | Yes | + +**Operations:** + +```typescript +// List all apiSetting records +const items = await db.apiSetting.findMany({ select: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Get one by id +const item = await db.apiSetting.findOne({ id: '', select: { id: true, databaseId: true, apiId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Create +const created = await db.apiSetting.create({ data: { databaseId: '', apiId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.apiSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.apiSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.connectedAccountsModule` CRUD operations for ConnectedAccountsModule records. @@ -2190,7 +2352,16 @@ CRUD operations for LimitsModule records. | `limitDecrementTrigger` | String | Yes | | `limitUpdateTrigger` | String | Yes | | `limitCheckFunction` | String | Yes | +| `limitCreditsTableId` | UUID | Yes | +| `eventsTableId` | UUID | Yes | +| `creditCodesTableId` | UUID | Yes | +| `creditCodeItemsTableId` | UUID | Yes | +| `creditRedemptionsTableId` | UUID | Yes | | `aggregateTableId` | UUID | Yes | +| `limitCapsTableId` | UUID | Yes | +| `limitCapsDefaultsTableId` | UUID | Yes | +| `capCheckTrigger` | String | Yes | +| `resolveCapFunction` | String | Yes | | `prefix` | String | Yes | | `membershipType` | Int | Yes | | `entityTableId` | UUID | Yes | @@ -2200,13 +2371,13 @@ CRUD operations for LimitsModule records. ```typescript // List all limitsModule records -const items = await db.limitsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); +const items = await db.limitsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); // Get one by id -const item = await db.limitsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, aggregateTableId: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); +const item = await db.limitsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, tableId: true, tableName: true, defaultTableId: true, defaultTableName: true, limitIncrementFunction: true, limitDecrementFunction: true, limitIncrementTrigger: true, limitDecrementTrigger: true, limitUpdateTrigger: true, limitCheckFunction: true, limitCreditsTableId: true, eventsTableId: true, creditCodesTableId: true, creditCodeItemsTableId: true, creditRedemptionsTableId: true, aggregateTableId: true, limitCapsTableId: true, limitCapsDefaultsTableId: true, capCheckTrigger: true, resolveCapFunction: true, prefix: true, membershipType: true, entityTableId: true, actorTableId: true } }).execute(); // Create -const created = await db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', aggregateTableId: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); +const created = await db.limitsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', tableId: '', tableName: '', defaultTableId: '', defaultTableName: '', limitIncrementFunction: '', limitDecrementFunction: '', limitIncrementTrigger: '', limitDecrementTrigger: '', limitUpdateTrigger: '', limitCheckFunction: '', limitCreditsTableId: '', eventsTableId: '', creditCodesTableId: '', creditCodeItemsTableId: '', creditRedemptionsTableId: '', aggregateTableId: '', limitCapsTableId: '', limitCapsDefaultsTableId: '', capCheckTrigger: '', resolveCapFunction: '', prefix: '', membershipType: '', entityTableId: '', actorTableId: '' }, select: { id: true } }).execute(); // Update const updated = await db.limitsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -2751,23 +2922,32 @@ CRUD operations for StorageModule records. | `provider` | String | Yes | | `allowedOrigins` | String | Yes | | `restrictReads` | Boolean | Yes | +| `hasPathShares` | Boolean | Yes | +| `pathSharesTableId` | UUID | Yes | | `uploadUrlExpirySeconds` | Int | Yes | | `downloadUrlExpirySeconds` | Int | Yes | | `defaultMaxFileSize` | BigInt | Yes | | `maxFilenameLength` | Int | Yes | | `cacheTtlSeconds` | Int | Yes | +| `maxBulkFiles` | Int | Yes | +| `maxBulkTotalSize` | BigInt | Yes | +| `hasVersioning` | Boolean | Yes | +| `hasContentHash` | Boolean | Yes | +| `hasCustomKeys` | Boolean | Yes | +| `hasAuditLog` | Boolean | Yes | +| `fileEventsTableId` | UUID | Yes | **Operations:** ```typescript // List all storageModule records -const items = await db.storageModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }).execute(); +const items = await db.storageModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }).execute(); // Get one by id -const item = await db.storageModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true } }).execute(); +const item = await db.storageModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, bucketsTableId: true, filesTableId: true, bucketsTableName: true, filesTableName: true, membershipType: true, policies: true, skipDefaultPolicyTables: true, entityTableId: true, endpoint: true, publicUrlPrefix: true, provider: true, allowedOrigins: true, restrictReads: true, hasPathShares: true, pathSharesTableId: true, uploadUrlExpirySeconds: true, downloadUrlExpirySeconds: true, defaultMaxFileSize: true, maxFilenameLength: true, cacheTtlSeconds: true, maxBulkFiles: true, maxBulkTotalSize: true, hasVersioning: true, hasContentHash: true, hasCustomKeys: true, hasAuditLog: true, fileEventsTableId: true } }).execute(); // Create -const created = await db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '' }, select: { id: true } }).execute(); +const created = await db.storageModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', bucketsTableId: '', filesTableId: '', bucketsTableName: '', filesTableName: '', membershipType: '', policies: '', skipDefaultPolicyTables: '', entityTableId: '', endpoint: '', publicUrlPrefix: '', provider: '', allowedOrigins: '', restrictReads: '', hasPathShares: '', pathSharesTableId: '', uploadUrlExpirySeconds: '', downloadUrlExpirySeconds: '', defaultMaxFileSize: '', maxFilenameLength: '', cacheTtlSeconds: '', maxBulkFiles: '', maxBulkTotalSize: '', hasVersioning: '', hasContentHash: '', hasCustomKeys: '', hasAuditLog: '', fileEventsTableId: '' }, select: { id: true } }).execute(); // Update const updated = await db.storageModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -2807,19 +2987,20 @@ CRUD operations for EntityTypeProvision records. | `outStorageModuleId` | UUID | Yes | | `outBucketsTableId` | UUID | Yes | | `outFilesTableId` | UUID | Yes | +| `outPathSharesTableId` | UUID | Yes | | `outInvitesModuleId` | UUID | Yes | **Operations:** ```typescript // List all entityTypeProvision records -const items = await db.entityTypeProvision.findMany({ select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }).execute(); +const items = await db.entityTypeProvision.findMany({ select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }).execute(); // Get one by id -const item = await db.entityTypeProvision.findOne({ id: '', select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outInvitesModuleId: true } }).execute(); +const item = await db.entityTypeProvision.findOne({ id: '', select: { id: true, databaseId: true, name: true, prefix: true, description: true, parentEntity: true, tableName: true, isVisible: true, hasLimits: true, hasProfiles: true, hasLevels: true, hasStorage: true, hasInvites: true, storageConfig: true, skipEntityPolicies: true, tableProvision: true, outMembershipType: true, outEntityTableId: true, outEntityTableName: true, outInstalledModules: true, outStorageModuleId: true, outBucketsTableId: true, outFilesTableId: true, outPathSharesTableId: true, outInvitesModuleId: true } }).execute(); // Create -const created = await db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); +const created = await db.entityTypeProvision.create({ data: { databaseId: '', name: '', prefix: '', description: '', parentEntity: '', tableName: '', isVisible: '', hasLimits: '', hasProfiles: '', hasLevels: '', hasStorage: '', hasInvites: '', storageConfig: '', skipEntityPolicies: '', tableProvision: '', outMembershipType: '', outEntityTableId: '', outEntityTableName: '', outInstalledModules: '', outStorageModuleId: '', outBucketsTableId: '', outFilesTableId: '', outPathSharesTableId: '', outInvitesModuleId: '' }, select: { id: true } }).execute(); // Update const updated = await db.entityTypeProvision.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); @@ -3440,18 +3621,21 @@ CRUD operations for AppLimit records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | **Operations:** ```typescript // List all appLimit records -const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const items = await db.appLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Get one by id -const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const item = await db.appLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true } }).execute(); // Create -const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); +const created = await db.appLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '' }, select: { id: true } }).execute(); // Update const updated = await db.appLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -3460,6 +3644,104 @@ const updated = await db.appLimit.update({ where: { id: '' }, data: { name const deleted = await db.appLimit.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCredit` + +CRUD operations for AppLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCredit records +const items = await db.appLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.appLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.appLimitCredit.create({ data: { defaultLimitId: '', actorId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCredit.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditCodeItem` + +CRUD operations for AppLimitCreditCodeItem records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `defaultLimitId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCodeItem records +const items = await db.appLimitCreditCodeItem.findMany({ select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCodeItem.findOne({ id: '', select: { id: true, creditCodeId: true, defaultLimitId: true, amount: true, creditType: true } }).execute(); + +// Create +const created = await db.appLimitCreditCodeItem.create({ data: { creditCodeId: '', defaultLimitId: '', amount: '', creditType: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCodeItem.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCodeItem.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCreditRedemption` + +CRUD operations for AppLimitCreditRedemption records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `creditCodeId` | UUID | Yes | +| `entityId` | UUID | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditRedemption records +const items = await db.appLimitCreditRedemption.findMany({ select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditRedemption.findOne({ id: '', select: { id: true, creditCodeId: true, entityId: true } }).execute(); + +// Create +const created = await db.appLimitCreditRedemption.create({ data: { creditCodeId: '', entityId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditRedemption.update({ where: { id: '' }, data: { creditCodeId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditRedemption.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgLimit` CRUD operations for OrgLimit records. @@ -3476,19 +3758,22 @@ CRUD operations for OrgLimit records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | | `entityId` | UUID | Yes | **Operations:** ```typescript // List all orgLimit records -const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const items = await db.orgLimit.findMany({ select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); // Get one by id -const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, entityId: true } }).execute(); +const item = await db.orgLimit.findOne({ id: '', select: { id: true, name: true, actorId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, entityId: true } }).execute(); // Create -const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', entityId: '' }, select: { id: true } }).execute(); +const created = await db.orgLimit.create({ data: { name: '', actorId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', entityId: '' }, select: { id: true } }).execute(); // Update const updated = await db.orgLimit.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -3497,6 +3782,41 @@ const updated = await db.orgLimit.update({ where: { id: '' }, data: { name const deleted = await db.orgLimit.delete({ where: { id: '' } }).execute(); ``` +### `db.orgLimitCredit` + +CRUD operations for OrgLimitCredit records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `defaultLimitId` | UUID | Yes | +| `actorId` | UUID | Yes | +| `entityId` | UUID | Yes | +| `amount` | BigInt | Yes | +| `creditType` | String | Yes | +| `reason` | String | Yes | + +**Operations:** + +```typescript +// List all orgLimitCredit records +const items = await db.orgLimitCredit.findMany({ select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCredit.findOne({ id: '', select: { id: true, defaultLimitId: true, actorId: true, entityId: true, amount: true, creditType: true, reason: true } }).execute(); + +// Create +const created = await db.orgLimitCredit.create({ data: { defaultLimitId: '', actorId: '', entityId: '', amount: '', creditType: '', reason: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCredit.update({ where: { id: '' }, data: { defaultLimitId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCredit.delete({ where: { id: '' } }).execute(); +``` + ### `db.orgLimitAggregate` CRUD operations for OrgLimitAggregate records. @@ -3513,18 +3833,22 @@ CRUD operations for OrgLimitAggregate records. | `softMax` | BigInt | Yes | | `windowStart` | Datetime | Yes | | `windowDuration` | Interval | Yes | +| `planMax` | BigInt | Yes | +| `purchasedCredits` | BigInt | Yes | +| `periodCredits` | BigInt | Yes | +| `reserved` | BigInt | Yes | **Operations:** ```typescript // List all orgLimitAggregate records -const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const items = await db.orgLimitAggregate.findMany({ select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); // Get one by id -const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true } }).execute(); +const item = await db.orgLimitAggregate.findOne({ id: '', select: { id: true, name: true, entityId: true, num: true, max: true, softMax: true, windowStart: true, windowDuration: true, planMax: true, purchasedCredits: true, periodCredits: true, reserved: true } }).execute(); // Create -const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '' }, select: { id: true } }).execute(); +const created = await db.orgLimitAggregate.create({ data: { name: '', entityId: '', num: '', max: '', softMax: '', windowStart: '', windowDuration: '', planMax: '', purchasedCredits: '', periodCredits: '', reserved: '' }, select: { id: true } }).execute(); // Update const updated = await db.orgLimitAggregate.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); @@ -4247,6 +4571,165 @@ const updated = await db.appPermissionDefault.update({ where: { id: '' }, const deleted = await db.appPermissionDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.appLimitCreditCode` + +CRUD operations for AppLimitCreditCode records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `code` | String | Yes | +| `maxRedemptions` | Int | Yes | +| `currentRedemptions` | Int | Yes | +| `expiresAt` | Datetime | Yes | + +**Operations:** + +```typescript +// List all appLimitCreditCode records +const items = await db.appLimitCreditCode.findMany({ select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Get one by id +const item = await db.appLimitCreditCode.findOne({ id: '', select: { id: true, code: true, maxRedemptions: true, currentRedemptions: true, expiresAt: true } }).execute(); + +// Create +const created = await db.appLimitCreditCode.create({ data: { code: '', maxRedemptions: '', currentRedemptions: '', expiresAt: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCreditCode.update({ where: { id: '' }, data: { code: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCreditCode.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCapsDefault` + +CRUD operations for AppLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCapsDefault records +const items = await db.appLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCapsDefault` + +CRUD operations for OrgLimitCapsDefault records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCapsDefault records +const items = await db.orgLimitCapsDefault.findMany({ select: { id: true, name: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCapsDefault.findOne({ id: '', select: { id: true, name: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCapsDefault.create({ data: { name: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCapsDefault.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCapsDefault.delete({ where: { id: '' } }).execute(); +``` + +### `db.appLimitCap` + +CRUD operations for AppLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all appLimitCap records +const items = await db.appLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.appLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.appLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.appLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.appLimitCap.delete({ where: { id: '' } }).execute(); +``` + +### `db.orgLimitCap` + +CRUD operations for OrgLimitCap records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `name` | String | Yes | +| `entityId` | UUID | Yes | +| `max` | BigInt | Yes | + +**Operations:** + +```typescript +// List all orgLimitCap records +const items = await db.orgLimitCap.findMany({ select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Get one by id +const item = await db.orgLimitCap.findOne({ id: '', select: { id: true, name: true, entityId: true, max: true } }).execute(); + +// Create +const created = await db.orgLimitCap.create({ data: { name: '', entityId: '', max: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.orgLimitCap.update({ where: { id: '' }, data: { name: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.orgLimitCap.delete({ where: { id: '' } }).execute(); +``` + ### `db.membershipType` CRUD operations for MembershipType records. @@ -4519,6 +5002,43 @@ const updated = await db.commit.update({ where: { id: '' }, data: { messag const deleted = await db.commit.delete({ where: { id: '' } }).execute(); ``` +### `db.pubkeySetting` + +CRUD operations for PubkeySetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `cryptoNetwork` | String | Yes | +| `userField` | String | Yes | +| `signUpWithKeyFunctionId` | UUID | Yes | +| `signInRequestChallengeFunctionId` | UUID | Yes | +| `signInRecordFailureFunctionId` | UUID | Yes | +| `signInWithChallengeFunctionId` | UUID | Yes | + +**Operations:** + +```typescript +// List all pubkeySetting records +const items = await db.pubkeySetting.findMany({ select: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }).execute(); + +// Get one by id +const item = await db.pubkeySetting.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, cryptoNetwork: true, userField: true, signUpWithKeyFunctionId: true, signInRequestChallengeFunctionId: true, signInRecordFailureFunctionId: true, signInWithChallengeFunctionId: true } }).execute(); + +// Create +const created = await db.pubkeySetting.create({ data: { databaseId: '', schemaId: '', cryptoNetwork: '', userField: '', signUpWithKeyFunctionId: '', signInRequestChallengeFunctionId: '', signInRecordFailureFunctionId: '', signInWithChallengeFunctionId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.pubkeySetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.pubkeySetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.rateLimitsModule` CRUD operations for RateLimitsModule records. @@ -4626,6 +5146,44 @@ const updated = await db.orgMembershipDefault.update({ where: { id: '' }, const deleted = await db.orgMembershipDefault.delete({ where: { id: '' } }).execute(); ``` +### `db.rlsSetting` + +CRUD operations for RlsSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `authenticateSchemaId` | UUID | Yes | +| `roleSchemaId` | UUID | Yes | +| `authenticateFunctionId` | UUID | Yes | +| `authenticateStrictFunctionId` | UUID | Yes | +| `currentRoleFunctionId` | UUID | Yes | +| `currentRoleIdFunctionId` | UUID | Yes | +| `currentUserAgentFunctionId` | UUID | Yes | +| `currentIpAddressFunctionId` | UUID | Yes | + +**Operations:** + +```typescript +// List all rlsSetting records +const items = await db.rlsSetting.findMany({ select: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }).execute(); + +// Get one by id +const item = await db.rlsSetting.findOne({ id: '', select: { id: true, databaseId: true, authenticateSchemaId: true, roleSchemaId: true, authenticateFunctionId: true, authenticateStrictFunctionId: true, currentRoleFunctionId: true, currentRoleIdFunctionId: true, currentUserAgentFunctionId: true, currentIpAddressFunctionId: true } }).execute(); + +// Create +const created = await db.rlsSetting.create({ data: { databaseId: '', authenticateSchemaId: '', roleSchemaId: '', authenticateFunctionId: '', authenticateStrictFunctionId: '', currentRoleFunctionId: '', currentRoleIdFunctionId: '', currentUserAgentFunctionId: '', currentIpAddressFunctionId: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.rlsSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.rlsSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.appLimitEvent` CRUD operations for AppLimitEvent records. @@ -4700,9 +5258,9 @@ const updated = await db.orgLimitEvent.update({ where: { id: '' }, data: { const deleted = await db.orgLimitEvent.delete({ where: { id: '' } }).execute(); ``` -### `db.plansModule` +### `db.rlsModule` -CRUD operations for PlansModule records. +CRUD operations for RlsModule records. **Fields:** @@ -4712,36 +5270,76 @@ CRUD operations for PlansModule records. | `databaseId` | UUID | Yes | | `schemaId` | UUID | Yes | | `privateSchemaId` | UUID | Yes | -| `plansTableId` | UUID | Yes | -| `plansTableName` | String | Yes | -| `planLimitsTableId` | UUID | Yes | -| `planLimitsTableName` | String | Yes | -| `applyPlanFunction` | String | Yes | -| `applyPlanAggregateFunction` | String | Yes | -| `prefix` | String | Yes | +| `sessionCredentialsTableId` | UUID | Yes | +| `sessionsTableId` | UUID | Yes | +| `usersTableId` | UUID | Yes | +| `authenticate` | String | Yes | +| `authenticateStrict` | String | Yes | +| `currentRole` | String | Yes | +| `currentRoleId` | String | Yes | **Operations:** ```typescript -// List all plansModule records -const items = await db.plansModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); +// List all rlsModule records +const items = await db.rlsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); // Get one by id -const item = await db.plansModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); +const item = await db.rlsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); // Create -const created = await db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); +const created = await db.rlsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }, select: { id: true } }).execute(); // Update -const updated = await db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); +const updated = await db.rlsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.plansModule.delete({ where: { id: '' } }).execute(); +const deleted = await db.rlsModule.delete({ where: { id: '' } }).execute(); ``` -### `db.rlsModule` +### `db.databaseSetting` -CRUD operations for RlsModule records. +CRUD operations for DatabaseSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `enableAggregates` | Boolean | Yes | +| `enablePostgis` | Boolean | Yes | +| `enableSearch` | Boolean | Yes | +| `enableDirectUploads` | Boolean | Yes | +| `enablePresignedUploads` | Boolean | Yes | +| `enableManyToMany` | Boolean | Yes | +| `enableConnectionFilter` | Boolean | Yes | +| `enableLtree` | Boolean | Yes | +| `enableLlm` | Boolean | Yes | +| `options` | JSON | Yes | + +**Operations:** + +```typescript +// List all databaseSetting records +const items = await db.databaseSetting.findMany({ select: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Get one by id +const item = await db.databaseSetting.findOne({ id: '', select: { id: true, databaseId: true, enableAggregates: true, enablePostgis: true, enableSearch: true, enableDirectUploads: true, enablePresignedUploads: true, enableManyToMany: true, enableConnectionFilter: true, enableLtree: true, enableLlm: true, options: true } }).execute(); + +// Create +const created = await db.databaseSetting.create({ data: { databaseId: '', enableAggregates: '', enablePostgis: '', enableSearch: '', enableDirectUploads: '', enablePresignedUploads: '', enableManyToMany: '', enableConnectionFilter: '', enableLtree: '', enableLlm: '', options: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.databaseSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.databaseSetting.delete({ where: { id: '' } }).execute(); +``` + +### `db.plansModule` + +CRUD operations for PlansModule records. **Fields:** @@ -4751,31 +5349,33 @@ CRUD operations for RlsModule records. | `databaseId` | UUID | Yes | | `schemaId` | UUID | Yes | | `privateSchemaId` | UUID | Yes | -| `sessionCredentialsTableId` | UUID | Yes | -| `sessionsTableId` | UUID | Yes | -| `usersTableId` | UUID | Yes | -| `authenticate` | String | Yes | -| `authenticateStrict` | String | Yes | -| `currentRole` | String | Yes | -| `currentRoleId` | String | Yes | +| `plansTableId` | UUID | Yes | +| `plansTableName` | String | Yes | +| `planLimitsTableId` | UUID | Yes | +| `planLimitsTableName` | String | Yes | +| `planPricingTableId` | UUID | Yes | +| `planOverridesTableId` | UUID | Yes | +| `applyPlanFunction` | String | Yes | +| `applyPlanAggregateFunction` | String | Yes | +| `prefix` | String | Yes | **Operations:** ```typescript -// List all rlsModule records -const items = await db.rlsModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); +// List all plansModule records +const items = await db.plansModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); // Get one by id -const item = await db.rlsModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, sessionCredentialsTableId: true, sessionsTableId: true, usersTableId: true, authenticate: true, authenticateStrict: true, currentRole: true, currentRoleId: true } }).execute(); +const item = await db.plansModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, plansTableId: true, plansTableName: true, planLimitsTableId: true, planLimitsTableName: true, planPricingTableId: true, planOverridesTableId: true, applyPlanFunction: true, applyPlanAggregateFunction: true, prefix: true } }).execute(); // Create -const created = await db.rlsModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', sessionCredentialsTableId: '', sessionsTableId: '', usersTableId: '', authenticate: '', authenticateStrict: '', currentRole: '', currentRoleId: '' }, select: { id: true } }).execute(); +const created = await db.plansModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', plansTableId: '', plansTableName: '', planLimitsTableId: '', planLimitsTableName: '', planPricingTableId: '', planOverridesTableId: '', applyPlanFunction: '', applyPlanAggregateFunction: '', prefix: '' }, select: { id: true } }).execute(); // Update -const updated = await db.rlsModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); +const updated = await db.plansModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); // Delete -const deleted = await db.rlsModule.delete({ where: { id: '' } }).execute(); +const deleted = await db.plansModule.delete({ where: { id: '' } }).execute(); ``` ### `db.sqlAction` @@ -4986,6 +5586,52 @@ const updated = await db.orgMembershipSetting.update({ where: { id: '' }, const deleted = await db.orgMembershipSetting.delete({ where: { id: '' } }).execute(); ``` +### `db.webauthnSetting` + +CRUD operations for WebauthnSetting records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `credentialsSchemaId` | UUID | Yes | +| `sessionsSchemaId` | UUID | Yes | +| `sessionSecretsSchemaId` | UUID | Yes | +| `credentialsTableId` | UUID | Yes | +| `sessionsTableId` | UUID | Yes | +| `sessionCredentialsTableId` | UUID | Yes | +| `sessionSecretsTableId` | UUID | Yes | +| `userFieldId` | UUID | Yes | +| `rpId` | String | Yes | +| `rpName` | String | Yes | +| `originAllowlist` | String | Yes | +| `attestationType` | String | Yes | +| `requireUserVerification` | Boolean | Yes | +| `residentKey` | String | Yes | +| `challengeExpirySeconds` | BigInt | Yes | + +**Operations:** + +```typescript +// List all webauthnSetting records +const items = await db.webauthnSetting.findMany({ select: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }).execute(); + +// Get one by id +const item = await db.webauthnSetting.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, credentialsSchemaId: true, sessionsSchemaId: true, sessionSecretsSchemaId: true, credentialsTableId: true, sessionsTableId: true, sessionCredentialsTableId: true, sessionSecretsTableId: true, userFieldId: true, rpId: true, rpName: true, originAllowlist: true, attestationType: true, requireUserVerification: true, residentKey: true, challengeExpirySeconds: true } }).execute(); + +// Create +const created = await db.webauthnSetting.create({ data: { databaseId: '', schemaId: '', credentialsSchemaId: '', sessionsSchemaId: '', sessionSecretsSchemaId: '', credentialsTableId: '', sessionsTableId: '', sessionCredentialsTableId: '', sessionSecretsTableId: '', userFieldId: '', rpId: '', rpName: '', originAllowlist: '', attestationType: '', requireUserVerification: '', residentKey: '', challengeExpirySeconds: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.webauthnSetting.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.webauthnSetting.delete({ where: { id: '' } }).execute(); +``` + ### `db.appMembership` CRUD operations for AppMembership records. @@ -5030,6 +5676,54 @@ const updated = await db.appMembership.update({ where: { id: '' }, data: { const deleted = await db.appMembership.delete({ where: { id: '' } }).execute(); ``` +### `db.billingProviderModule` + +CRUD operations for BillingProviderModule records. + +**Fields:** + +| Field | Type | Editable | +|-------|------|----------| +| `id` | UUID | No | +| `databaseId` | UUID | Yes | +| `schemaId` | UUID | Yes | +| `privateSchemaId` | UUID | Yes | +| `provider` | String | Yes | +| `productsTableId` | UUID | Yes | +| `pricesTableId` | UUID | Yes | +| `subscriptionsTableId` | UUID | Yes | +| `billingCustomersTableId` | UUID | Yes | +| `billingCustomersTableName` | String | Yes | +| `billingProductsTableId` | UUID | Yes | +| `billingProductsTableName` | String | Yes | +| `billingPricesTableId` | UUID | Yes | +| `billingPricesTableName` | String | Yes | +| `billingSubscriptionsTableId` | UUID | Yes | +| `billingSubscriptionsTableName` | String | Yes | +| `billingWebhookEventsTableId` | UUID | Yes | +| `billingWebhookEventsTableName` | String | Yes | +| `processBillingEventFunction` | String | Yes | +| `prefix` | String | Yes | + +**Operations:** + +```typescript +// List all billingProviderModule records +const items = await db.billingProviderModule.findMany({ select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }).execute(); + +// Get one by id +const item = await db.billingProviderModule.findOne({ id: '', select: { id: true, databaseId: true, schemaId: true, privateSchemaId: true, provider: true, productsTableId: true, pricesTableId: true, subscriptionsTableId: true, billingCustomersTableId: true, billingCustomersTableName: true, billingProductsTableId: true, billingProductsTableName: true, billingPricesTableId: true, billingPricesTableName: true, billingSubscriptionsTableId: true, billingSubscriptionsTableName: true, billingWebhookEventsTableId: true, billingWebhookEventsTableName: true, processBillingEventFunction: true, prefix: true } }).execute(); + +// Create +const created = await db.billingProviderModule.create({ data: { databaseId: '', schemaId: '', privateSchemaId: '', provider: '', productsTableId: '', pricesTableId: '', subscriptionsTableId: '', billingCustomersTableId: '', billingCustomersTableName: '', billingProductsTableId: '', billingProductsTableName: '', billingPricesTableId: '', billingPricesTableName: '', billingSubscriptionsTableId: '', billingSubscriptionsTableName: '', billingWebhookEventsTableId: '', billingWebhookEventsTableName: '', processBillingEventFunction: '', prefix: '' }, select: { id: true } }).execute(); + +// Update +const updated = await db.billingProviderModule.update({ where: { id: '' }, data: { databaseId: '' }, select: { id: true } }).execute(); + +// Delete +const deleted = await db.billingProviderModule.delete({ where: { id: '' } }).execute(); +``` + ### `db.hierarchyModule` CRUD operations for HierarchyModule records. @@ -5818,6 +6512,21 @@ setFieldOrder const result = await db.mutation.setFieldOrder({ input: { fieldIds: '' } }).execute(); ``` +### `db.mutation.appendSmartTags` + +appendSmartTags + +- **Type:** mutation +- **Arguments:** + + | Argument | Type | + |----------|------| + | `input` | AppendSmartTagsInput (required) | + +```typescript +const result = await db.mutation.appendSmartTags({ input: { pTableId: '', pTags: '' } }).execute(); +``` + ### `db.mutation.provisionUniqueConstraint` Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -6149,24 +6858,6 @@ Composable table provisioning: creates or finds a table, then creates fields (so const result = await db.mutation.provisionTable({ input: '' }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/constructive-sdk/src/public/orm/index.ts b/sdk/constructive-sdk/src/public/orm/index.ts index 4dca904e1..2eed6f3e8 100644 --- a/sdk/constructive-sdk/src/public/orm/index.ts +++ b/sdk/constructive-sdk/src/public/orm/index.ts @@ -18,6 +18,7 @@ import { TableModel } from './models/table'; import { CheckConstraintModel } from './models/checkConstraint'; import { FieldModel } from './models/field'; import { SpatialRelationModel } from './models/spatialRelation'; +import { PartitionModel } from './models/partition'; import { ForeignKeyConstraintModel } from './models/foreignKeyConstraint'; import { FullTextSearchModel } from './models/fullTextSearch'; import { IndexModel } from './models/index'; @@ -38,17 +39,20 @@ import { IdentityProvidersModuleModel } from './models/identityProvidersModule'; import { SchemaGrantModel } from './models/schemaGrant'; import { DefaultPrivilegeModel } from './models/defaultPrivilege'; import { EnumModel } from './models/enum'; +import { FunctionModel } from './models/function'; import { ApiSchemaModel } from './models/apiSchema'; import { ApiModuleModel } from './models/apiModule'; import { DomainModel } from './models/domain'; import { SiteMetadatumModel } from './models/siteMetadatum'; import { SiteModuleModel } from './models/siteModule'; import { SiteThemeModel } from './models/siteTheme'; +import { CorsSettingModel } from './models/corsSetting'; import { TriggerFunctionModel } from './models/triggerFunction'; import { DatabaseTransferModel } from './models/databaseTransfer'; import { ApiModel } from './models/api'; import { SiteModel } from './models/site'; import { AppModel } from './models/app'; +import { ApiSettingModel } from './models/apiSetting'; import { ConnectedAccountsModuleModel } from './models/connectedAccountsModule'; import { CryptoAddressesModuleModel } from './models/cryptoAddressesModule'; import { CryptoAuthModuleModel } from './models/cryptoAuthModule'; @@ -90,7 +94,11 @@ import { OrgChartEdgeModel } from './models/orgChartEdge'; import { OrgChartEdgeGrantModel } from './models/orgChartEdgeGrant'; import { OrgPermissionDefaultModel } from './models/orgPermissionDefault'; import { AppLimitModel } from './models/appLimit'; +import { AppLimitCreditModel } from './models/appLimitCredit'; +import { AppLimitCreditCodeItemModel } from './models/appLimitCreditCodeItem'; +import { AppLimitCreditRedemptionModel } from './models/appLimitCreditRedemption'; import { OrgLimitModel } from './models/orgLimit'; +import { OrgLimitCreditModel } from './models/orgLimitCredit'; import { OrgLimitAggregateModel } from './models/orgLimitAggregate'; import { AppStepModel } from './models/appStep'; import { AppAchievementModel } from './models/appAchievement'; @@ -112,6 +120,11 @@ import { IdentityProviderModel } from './models/identityProvider'; import { RefModel } from './models/ref'; import { StoreModel } from './models/store'; import { AppPermissionDefaultModel } from './models/appPermissionDefault'; +import { AppLimitCreditCodeModel } from './models/appLimitCreditCode'; +import { AppLimitCapsDefaultModel } from './models/appLimitCapsDefault'; +import { OrgLimitCapsDefaultModel } from './models/orgLimitCapsDefault'; +import { AppLimitCapModel } from './models/appLimitCap'; +import { OrgLimitCapModel } from './models/orgLimitCap'; import { MembershipTypeModel } from './models/membershipType'; import { MigrateFileModel } from './models/migrateFile'; import { DevicesModuleModel } from './models/devicesModule'; @@ -120,19 +133,24 @@ import { AppLimitDefaultModel } from './models/appLimitDefault'; import { OrgLimitDefaultModel } from './models/orgLimitDefault'; import { UserConnectedAccountModel } from './models/userConnectedAccount'; import { CommitModel } from './models/commit'; +import { PubkeySettingModel } from './models/pubkeySetting'; import { RateLimitsModuleModel } from './models/rateLimitsModule'; import { AppMembershipDefaultModel } from './models/appMembershipDefault'; import { OrgMembershipDefaultModel } from './models/orgMembershipDefault'; +import { RlsSettingModel } from './models/rlsSetting'; import { AppLimitEventModel } from './models/appLimitEvent'; import { OrgLimitEventModel } from './models/orgLimitEvent'; -import { PlansModuleModel } from './models/plansModule'; import { RlsModuleModel } from './models/rlsModule'; +import { DatabaseSettingModel } from './models/databaseSetting'; +import { PlansModuleModel } from './models/plansModule'; import { SqlActionModel } from './models/sqlAction'; import { BillingModuleModel } from './models/billingModule'; import { AstMigrationModel } from './models/astMigration'; import { UserModel } from './models/user'; import { OrgMembershipSettingModel } from './models/orgMembershipSetting'; +import { WebauthnSettingModel } from './models/webauthnSetting'; import { AppMembershipModel } from './models/appMembership'; +import { BillingProviderModuleModel } from './models/billingProviderModule'; import { HierarchyModuleModel } from './models/hierarchyModule'; import { createQueryOperations } from './query'; import { createMutationOperations } from './mutation'; @@ -182,6 +200,7 @@ export function createClient(config: OrmClientConfig) { checkConstraint: new CheckConstraintModel(client), field: new FieldModel(client), spatialRelation: new SpatialRelationModel(client), + partition: new PartitionModel(client), foreignKeyConstraint: new ForeignKeyConstraintModel(client), fullTextSearch: new FullTextSearchModel(client), index: new IndexModel(client), @@ -202,17 +221,20 @@ export function createClient(config: OrmClientConfig) { schemaGrant: new SchemaGrantModel(client), defaultPrivilege: new DefaultPrivilegeModel(client), enum: new EnumModel(client), + function: new FunctionModel(client), apiSchema: new ApiSchemaModel(client), apiModule: new ApiModuleModel(client), domain: new DomainModel(client), siteMetadatum: new SiteMetadatumModel(client), siteModule: new SiteModuleModel(client), siteTheme: new SiteThemeModel(client), + corsSetting: new CorsSettingModel(client), triggerFunction: new TriggerFunctionModel(client), databaseTransfer: new DatabaseTransferModel(client), api: new ApiModel(client), site: new SiteModel(client), app: new AppModel(client), + apiSetting: new ApiSettingModel(client), connectedAccountsModule: new ConnectedAccountsModuleModel(client), cryptoAddressesModule: new CryptoAddressesModuleModel(client), cryptoAuthModule: new CryptoAuthModuleModel(client), @@ -254,7 +276,11 @@ export function createClient(config: OrmClientConfig) { orgChartEdgeGrant: new OrgChartEdgeGrantModel(client), orgPermissionDefault: new OrgPermissionDefaultModel(client), appLimit: new AppLimitModel(client), + appLimitCredit: new AppLimitCreditModel(client), + appLimitCreditCodeItem: new AppLimitCreditCodeItemModel(client), + appLimitCreditRedemption: new AppLimitCreditRedemptionModel(client), orgLimit: new OrgLimitModel(client), + orgLimitCredit: new OrgLimitCreditModel(client), orgLimitAggregate: new OrgLimitAggregateModel(client), appStep: new AppStepModel(client), appAchievement: new AppAchievementModel(client), @@ -276,6 +302,11 @@ export function createClient(config: OrmClientConfig) { ref: new RefModel(client), store: new StoreModel(client), appPermissionDefault: new AppPermissionDefaultModel(client), + appLimitCreditCode: new AppLimitCreditCodeModel(client), + appLimitCapsDefault: new AppLimitCapsDefaultModel(client), + orgLimitCapsDefault: new OrgLimitCapsDefaultModel(client), + appLimitCap: new AppLimitCapModel(client), + orgLimitCap: new OrgLimitCapModel(client), membershipType: new MembershipTypeModel(client), migrateFile: new MigrateFileModel(client), devicesModule: new DevicesModuleModel(client), @@ -284,19 +315,24 @@ export function createClient(config: OrmClientConfig) { orgLimitDefault: new OrgLimitDefaultModel(client), userConnectedAccount: new UserConnectedAccountModel(client), commit: new CommitModel(client), + pubkeySetting: new PubkeySettingModel(client), rateLimitsModule: new RateLimitsModuleModel(client), appMembershipDefault: new AppMembershipDefaultModel(client), orgMembershipDefault: new OrgMembershipDefaultModel(client), + rlsSetting: new RlsSettingModel(client), appLimitEvent: new AppLimitEventModel(client), orgLimitEvent: new OrgLimitEventModel(client), - plansModule: new PlansModuleModel(client), rlsModule: new RlsModuleModel(client), + databaseSetting: new DatabaseSettingModel(client), + plansModule: new PlansModuleModel(client), sqlAction: new SqlActionModel(client), billingModule: new BillingModuleModel(client), astMigration: new AstMigrationModel(client), user: new UserModel(client), orgMembershipSetting: new OrgMembershipSettingModel(client), + webauthnSetting: new WebauthnSettingModel(client), appMembership: new AppMembershipModel(client), + billingProviderModule: new BillingProviderModuleModel(client), hierarchyModule: new HierarchyModuleModel(client), query: createQueryOperations(client), mutation: createMutationOperations(client), diff --git a/sdk/constructive-sdk/src/public/orm/input-types.ts b/sdk/constructive-sdk/src/public/orm/input-types.ts index 923a0d41d..e0b7828e2 100644 --- a/sdk/constructive-sdk/src/public/orm/input-types.ts +++ b/sdk/constructive-sdk/src/public/orm/input-types.ts @@ -410,6 +410,19 @@ export interface SpatialRelation { createdAt?: string | null; updatedAt?: string | null; } +export interface Partition { + id: string; + databaseId?: string | null; + tableId?: string | null; + strategy?: string | null; + partitionKeyId?: string | null; + interval?: string | null; + retention?: string | null; + lookahead?: number | null; + namingPattern?: string | null; + createdAt?: string | null; + updatedAt?: string | null; +} export interface ForeignKeyConstraint { id: string; databaseId?: string | null; @@ -812,6 +825,12 @@ export interface Enum { scope?: number | null; tags?: string[] | null; } +export interface Function { + id: string; + databaseId?: string | null; + schemaId?: string | null; + name?: string | null; +} /** Join table linking APIs to the database schemas they expose; controls which schemas are accessible through each API */ export interface ApiSchema { /** Unique identifier for this API-schema mapping */ @@ -890,6 +909,17 @@ export interface SiteTheme { /** JSONB object containing theme tokens (colors, typography, spacing, etc.) */ theme?: Record | null; } +/** Per-database and per-API CORS origin configuration; typed replacement for api_modules cors JSONB entries */ +export interface CorsSetting { + /** Unique identifier for this CORS settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Optional API for per-API override; NULL means database-wide default */ + apiId?: string | null; + /** Array of allowed CORS origins (e.g. https://example.com) */ + allowedOrigins?: string[] | null; +} export interface TriggerFunction { id: string; databaseId?: string | null; @@ -973,6 +1003,35 @@ export interface App { /** URL to the Google Play Store listing */ playStoreLink?: ConstructiveInternalTypeUrl | null; } +/** Per-API feature flag overrides; NULL columns inherit from database_settings, explicit true/false overrides the database default */ +export interface ApiSetting { + /** Unique identifier for this API settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** API these settings override for */ + apiId?: string | null; + /** Override: enable aggregate queries (NULL = inherit from database_settings) */ + enableAggregates?: boolean | null; + /** Override: enable PostGIS spatial types (NULL = inherit from database_settings) */ + enablePostgis?: boolean | null; + /** Override: enable unified search (NULL = inherit from database_settings) */ + enableSearch?: boolean | null; + /** Override: enable direct (multipart) file uploads (NULL = inherit from database_settings) */ + enableDirectUploads?: boolean | null; + /** Override: enable presigned URL upload flow (NULL = inherit from database_settings) */ + enablePresignedUploads?: boolean | null; + /** Override: enable many-to-many relationships (NULL = inherit from database_settings) */ + enableManyToMany?: boolean | null; + /** Override: enable connection filter (NULL = inherit from database_settings) */ + enableConnectionFilter?: boolean | null; + /** Override: enable ltree hierarchical data type (NULL = inherit from database_settings) */ + enableLtree?: boolean | null; + /** Override: enable LLM/AI integration features (NULL = inherit from database_settings) */ + enableLlm?: boolean | null; + /** Extensible JSON for additional per-API settings that do not have dedicated columns */ + options?: Record | null; +} export interface ConnectedAccountsModule { id: string; databaseId?: string | null; @@ -1101,7 +1160,16 @@ export interface LimitsModule { limitDecrementTrigger?: string | null; limitUpdateTrigger?: string | null; limitCheckFunction?: string | null; + limitCreditsTableId?: string | null; + eventsTableId?: string | null; + creditCodesTableId?: string | null; + creditCodeItemsTableId?: string | null; + creditRedemptionsTableId?: string | null; aggregateTableId?: string | null; + limitCapsTableId?: string | null; + limitCapsDefaultsTableId?: string | null; + capCheckTrigger?: string | null; + resolveCapFunction?: string | null; prefix?: string | null; membershipType?: number | null; entityTableId?: string | null; @@ -1370,11 +1438,20 @@ export interface StorageModule { provider?: string | null; allowedOrigins?: string[] | null; restrictReads?: boolean | null; + hasPathShares?: boolean | null; + pathSharesTableId?: string | null; uploadUrlExpirySeconds?: number | null; downloadUrlExpirySeconds?: number | null; defaultMaxFileSize?: string | null; maxFilenameLength?: number | null; cacheTtlSeconds?: number | null; + maxBulkFiles?: number | null; + maxBulkTotalSize?: string | null; + hasVersioning?: boolean | null; + hasContentHash?: boolean | null; + hasCustomKeys?: boolean | null; + hasAuditLog?: boolean | null; + fileEventsTableId?: string | null; } /** * Provisions a new membership entity type. Each INSERT creates an entity table, registers a membership type, @@ -1566,6 +1643,7 @@ export interface EntityTypeProvision { outBucketsTableId?: string | null; /** Output: the UUID of the generated files table (e.g. data_room_files). Populated by the trigger when has_storage=true. */ outFilesTableId?: string | null; + outPathSharesTableId?: string | null; /** * Output: the UUID of the invites_module row created for this entity type. Populated by the trigger when has_invites=true. * NULL when has_invites=false, or when re-provisioning hits ON CONFLICT DO NOTHING @@ -1849,6 +1927,46 @@ export interface AppLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; +} +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface AppLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} +/** Items within a credit code — each row grants credits for a specific limit definition */ +export interface AppLimitCreditCodeItem { + id: string; + /** FK to credit_codes — which code this item belongs to */ + creditCodeId?: string | null; + /** FK to default_limits — which limit this item grants credits for */ + defaultLimitId?: string | null; + /** Number of credits this item grants per redemption */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; +} +/** Append-only ledger of code redemptions; AFTER INSERT trigger validates and cascades to limit_credits */ +export interface AppLimitCreditRedemption { + id: string; + /** FK to credit_codes — which code is being redeemed */ + creditCodeId?: string | null; + /** Entity receiving the credits (personal org user_id or org entity_id) */ + entityId?: string | null; } /** Tracks per-actor usage counts against configurable maximum limits */ export interface OrgLimit { @@ -1867,8 +1985,30 @@ export interface OrgLimit { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; entityId?: string | null; } +/** Append-only ledger of credit grants that automatically update limit ceilings */ +export interface OrgLimitCredit { + id: string; + /** FK to default_limits — which limit definition this credit applies to */ + defaultLimitId?: string | null; + /** User this credit is for; NULL for aggregate entity-level credits */ + actorId?: string | null; + /** Entity this credit applies to; NULL for actor-only credits */ + entityId?: string | null; + /** Number of credits to grant (positive to add, negative to revoke) */ + amount?: string | null; + /** Credit durability: permanent (survives window reset) or period (resets on window expiry) */ + creditType?: string | null; + /** Optional reason for the credit grant (promo code, admin grant, etc.) */ + reason?: string | null; +} /** Tracks aggregate entity-level usage counts (org-wide caps, no per-user breakdown) */ export interface OrgLimitAggregate { id: string; @@ -1886,6 +2026,14 @@ export interface OrgLimitAggregate { windowStart?: string | null; /** Duration of the metering window (e.g. 1 day, 1 month); NULL means no time window */ windowDuration?: string | null; + /** Ceiling set by the active plan via apply_plan(). Window reset does not change this value. */ + planMax?: string | null; + /** Permanent credits from purchases, admin grants, or lifetime rewards. Survives window reset. */ + purchasedCredits?: string | null; + /** Temporary credits for the current billing window. Resets to 0 on window expiry. */ + periodCredits?: string | null; + /** Capacity reserved by child entities in budgeted allocation mode. Available = max - num - reserved. */ + reserved?: string | null; } /** Log of individual user actions toward level requirements; every single step ever taken is recorded here */ export interface AppStep { @@ -2196,6 +2344,54 @@ export interface AppPermissionDefault { /** Default permission bitmask applied to new members */ permissions?: string | null; } +/** Redeemable credit codes managed by admins with the add_credits permission */ +export interface AppLimitCreditCode { + id: string; + /** Human-readable credit code (case-insensitive, unique) */ + code?: string | null; + /** Maximum total redemptions allowed; NULL for unlimited */ + maxRedemptions?: number | null; + /** Current number of redemptions (incremented by trigger on credit_redemptions) */ + currentRedemptions?: number | null; + /** Expiration timestamp; NULL for no expiry */ + expiresAt?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface AppLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Default cap values for static configuration limits (max file size, feature flags, etc.). Not metered — just read by consumers. */ +export interface OrgLimitCapsDefault { + id: string; + /** Name identifier of the cap (e.g. max_file_upload_size, advanced_analytics) */ + name?: string | null; + /** Default cap value. For feature flags: 0=disabled, 1=enabled. For size caps: the limit in bytes/units. */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface AppLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} +/** Per-entity cap overrides. Allows specific orgs/entities to have different cap values than the scope default. */ +export interface OrgLimitCap { + id: string; + /** Name identifier of the cap being overridden */ + name?: string | null; + /** Entity this cap override applies to */ + entityId?: string | null; + /** Override cap value for this entity */ + max?: string | null; +} /** Defines the different scopes of membership (e.g. App Member, Organization Member, Group Member) */ export interface MembershipType { /** Integer identifier for the membership type (1=App, 2=Organization, 3=Group) */ @@ -2283,6 +2479,27 @@ export interface Commit { treeId?: string | null; date?: string | null; } +/** Per-database public-key crypto auth runtime configuration; typed replacement for api_modules pubkey_challenge JSONB entries */ +export interface PubkeySetting { + /** Unique identifier for this pubkey settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing the crypto auth functions (FK to metaschema_public.schema) */ + schemaId?: string | null; + /** Crypto network for key derivation (e.g. cosmos, ethereum) */ + cryptoNetwork?: string | null; + /** Field name used to identify the user in crypto auth functions */ + userField?: string | null; + /** Reference to the sign-up-with-key function (FK to metaschema_public.function) */ + signUpWithKeyFunctionId?: string | null; + /** Reference to the sign-in challenge request function (FK to metaschema_public.function) */ + signInRequestChallengeFunctionId?: string | null; + /** Reference to the sign-in failure recording function (FK to metaschema_public.function) */ + signInRecordFailureFunctionId?: string | null; + /** Reference to the sign-in-with-challenge function (FK to metaschema_public.function) */ + signInWithChallengeFunctionId?: string | null; +} export interface RateLimitsModule { id: string; databaseId?: string | null; @@ -2318,6 +2535,29 @@ export interface OrgMembershipDefault { /** References the entity these membership defaults apply to */ entityId?: string | null; } +/** Per-database RLS module runtime configuration; typed replacement for api_modules rls_module JSONB entries */ +export interface RlsSetting { + /** Unique identifier for this RLS settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing authenticate/authenticate_strict functions (FK to metaschema_public.schema) */ + authenticateSchemaId?: string | null; + /** Schema containing current_role and related functions (FK to metaschema_public.schema) */ + roleSchemaId?: string | null; + /** Reference to the authenticate function (FK to metaschema_public.function) */ + authenticateFunctionId?: string | null; + /** Reference to the strict authenticate function (FK to metaschema_public.function) */ + authenticateStrictFunctionId?: string | null; + /** Reference to the current_role function (FK to metaschema_public.function) */ + currentRoleFunctionId?: string | null; + /** Reference to the current_role_id function (FK to metaschema_public.function) */ + currentRoleIdFunctionId?: string | null; + /** Reference to the current_user_agent function (FK to metaschema_public.function) */ + currentUserAgentFunctionId?: string | null; + /** Reference to the current_ip_address function (FK to metaschema_public.function) */ + currentIpAddressFunctionId?: string | null; +} /** Append-only log of limit events for historical reporting and audit */ export interface AppLimitEvent { /** Limit name this event applies to */ @@ -2360,19 +2600,6 @@ export interface OrgLimitEvent { /** Optional reason or source: achievement, invite, plan_change, purchase, etc. */ reason?: string | null; } -export interface PlansModule { - id: string; - databaseId?: string | null; - schemaId?: string | null; - privateSchemaId?: string | null; - plansTableId?: string | null; - plansTableName?: string | null; - planLimitsTableId?: string | null; - planLimitsTableName?: string | null; - applyPlanFunction?: string | null; - applyPlanAggregateFunction?: string | null; - prefix?: string | null; -} export interface RlsModule { id: string; databaseId?: string | null; @@ -2386,6 +2613,48 @@ export interface RlsModule { currentRole?: string | null; currentRoleId?: string | null; } +/** Database-wide feature flags and settings; controls which platform features are available to all APIs in this database */ +export interface DatabaseSetting { + /** Unique identifier for this settings record */ + id: string; + /** Reference to the metaschema database these settings apply to */ + databaseId?: string | null; + /** Enable aggregate queries (sum, avg, min, max, etc.) in the GraphQL API */ + enableAggregates?: boolean | null; + /** Enable PostGIS spatial types and operators in the GraphQL API */ + enablePostgis?: boolean | null; + /** Enable unified search (tsvector, BM25, pg_trgm, pgvector) in the GraphQL API */ + enableSearch?: boolean | null; + /** Enable direct (multipart) file upload mutations in the GraphQL API */ + enableDirectUploads?: boolean | null; + /** Enable presigned URL upload flow for S3/MinIO storage */ + enablePresignedUploads?: boolean | null; + /** Enable many-to-many relationship queries in the GraphQL API */ + enableManyToMany?: boolean | null; + /** Enable connection filter (where argument) in the GraphQL API */ + enableConnectionFilter?: boolean | null; + /** Enable ltree hierarchical data type support in the GraphQL API */ + enableLtree?: boolean | null; + /** Enable LLM/AI integration features in the GraphQL API */ + enableLlm?: boolean | null; + /** Extensible JSON for additional settings that do not have dedicated columns */ + options?: Record | null; +} +export interface PlansModule { + id: string; + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + plansTableId?: string | null; + plansTableName?: string | null; + planLimitsTableId?: string | null; + planLimitsTableName?: string | null; + planPricingTableId?: string | null; + planOverridesTableId?: string | null; + applyPlanFunction?: string | null; + applyPlanAggregateFunction?: string | null; + prefix?: string | null; +} export interface SqlAction { id: number; name?: string | null; @@ -2474,6 +2743,45 @@ export interface OrgMembershipSetting { /** Allocation mode for sub-entity limits: pooled (shared parent cap, no per-entity budgets) or budgeted (explicit per-entity allocations, transfer enabled) */ limitAllocationMode?: string | null; } +/** Per-database WebAuthn/passkey runtime configuration; typed replacement for api_modules webauthn_challenge JSONB entries */ +export interface WebauthnSetting { + /** Unique identifier for this WebAuthn settings record */ + id: string; + /** Reference to the metaschema database */ + databaseId?: string | null; + /** Schema containing WebAuthn auth procedures (FK to metaschema_public.schema) */ + schemaId?: string | null; + /** Schema of the webauthn_credentials table (FK to metaschema_public.schema) */ + credentialsSchemaId?: string | null; + /** Schema of the sessions table (FK to metaschema_public.schema) */ + sessionsSchemaId?: string | null; + /** Schema of the session_secrets table (FK to metaschema_public.schema) */ + sessionSecretsSchemaId?: string | null; + /** Reference to the webauthn_credentials table (FK to metaschema_public.table) */ + credentialsTableId?: string | null; + /** Reference to the sessions table (FK to metaschema_public.table) */ + sessionsTableId?: string | null; + /** Reference to the session_credentials table (FK to metaschema_public.table) */ + sessionCredentialsTableId?: string | null; + /** Reference to the session_secrets table (FK to metaschema_public.table) */ + sessionSecretsTableId?: string | null; + /** Reference to the user field on webauthn_credentials (FK to metaschema_public.field) */ + userFieldId?: string | null; + /** WebAuthn Relying Party ID (typically the domain name) */ + rpId?: string | null; + /** WebAuthn Relying Party display name */ + rpName?: string | null; + /** Allowed origins for WebAuthn registration and authentication */ + originAllowlist?: string[] | null; + /** Attestation conveyance preference (none, indirect, direct, enterprise) */ + attestationType?: string | null; + /** Whether to require user verification (biometric/PIN) during auth */ + requireUserVerification?: boolean | null; + /** Resident key requirement (discouraged, preferred, required) */ + residentKey?: string | null; + /** Challenge TTL in seconds (default 300 = 5 minutes) */ + challengeExpirySeconds?: string | null; +} /** Tracks membership records linking actors to entities with permission bitmasks, ownership, and admin status */ export interface AppMembership { id: string; @@ -2503,6 +2811,28 @@ export interface AppMembership { actorId?: string | null; profileId?: string | null; } +export interface BillingProviderModule { + id: string; + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + provider?: string | null; + productsTableId?: string | null; + pricesTableId?: string | null; + subscriptionsTableId?: string | null; + billingCustomersTableId?: string | null; + billingCustomersTableName?: string | null; + billingProductsTableId?: string | null; + billingProductsTableName?: string | null; + billingPricesTableId?: string | null; + billingPricesTableName?: string | null; + billingSubscriptionsTableId?: string | null; + billingSubscriptionsTableName?: string | null; + billingWebhookEventsTableId?: string | null; + billingWebhookEventsTableName?: string | null; + processBillingEventFunction?: string | null; + prefix?: string | null; +} export interface HierarchyModule { id: string; databaseId?: string | null; @@ -2547,12 +2877,17 @@ export interface ObjectRelations {} export interface AppLevelRequirementRelations {} export interface DatabaseRelations { owner?: User | null; + databaseSetting?: DatabaseSetting | null; + rlsSetting?: RlsSetting | null; + pubkeySetting?: PubkeySetting | null; + webauthnSetting?: WebauthnSetting | null; rlsModule?: RlsModule | null; hierarchyModule?: HierarchyModule | null; rateLimitsModule?: RateLimitsModule | null; devicesModule?: DevicesModule | null; plansModule?: PlansModule | null; billingModule?: BillingModule | null; + billingProviderModule?: BillingProviderModule | null; schemas?: ConnectionResult; tables?: ConnectionResult
; checkConstraints?: ConnectionResult; @@ -2574,7 +2909,9 @@ export interface DatabaseRelations { enums?: ConnectionResult; embeddingChunks?: ConnectionResult; spatialRelations?: ConnectionResult; + functions?: ConnectionResult; databaseTransfers?: ConnectionResult; + partitions?: ConnectionResult; apis?: ConnectionResult; apiModules?: ConnectionResult; apiSchemas?: ConnectionResult; @@ -2584,6 +2921,8 @@ export interface DatabaseRelations { siteMetadata?: ConnectionResult; siteModules?: ConnectionResult; siteThemes?: ConnectionResult; + apiSettings?: ConnectionResult; + corsSettings?: ConnectionResult; connectedAccountsModules?: ConnectionResult; cryptoAddressesModules?: ConnectionResult; cryptoAuthModules?: ConnectionResult; @@ -2623,6 +2962,7 @@ export interface SchemaRelations { views?: ConnectionResult; defaultPrivileges?: ConnectionResult; enums?: ConnectionResult; + functions?: ConnectionResult; apiSchemas?: ConnectionResult; sessionSecretsModules?: ConnectionResult; identityProvidersModulesByPrivateSchemaId?: ConnectionResult; @@ -2632,6 +2972,7 @@ export interface TableRelations { database?: Database | null; schema?: Schema | null; inherits?: Table | null; + partition?: Partition | null; checkConstraints?: ConnectionResult; fields?: ConnectionResult; foreignKeyConstraints?: ConnectionResult; @@ -2664,6 +3005,7 @@ export interface FieldRelations { table?: Table | null; spatialRelations?: ConnectionResult; spatialRelationsByRefFieldId?: ConnectionResult; + partitionsByPartitionKeyId?: ConnectionResult; } export interface SpatialRelationRelations { database?: Database | null; @@ -2672,6 +3014,11 @@ export interface SpatialRelationRelations { refTable?: Table | null; table?: Table | null; } +export interface PartitionRelations { + database?: Database | null; + partitionKey?: Field | null; + table?: Table | null; +} export interface ForeignKeyConstraintRelations { database?: Database | null; refTable?: Table | null; @@ -2766,6 +3113,10 @@ export interface EnumRelations { database?: Database | null; schema?: Schema | null; } +export interface FunctionRelations { + database?: Database | null; + schema?: Schema | null; +} export interface ApiSchemaRelations { api?: Api | null; database?: Database | null; @@ -2792,6 +3143,10 @@ export interface SiteThemeRelations { database?: Database | null; site?: Site | null; } +export interface CorsSettingRelations { + api?: Api | null; + database?: Database | null; +} export interface TriggerFunctionRelations { database?: Database | null; } @@ -2800,9 +3155,11 @@ export interface DatabaseTransferRelations { } export interface ApiRelations { database?: Database | null; + apiSetting?: ApiSetting | null; apiModules?: ConnectionResult; apiSchemas?: ConnectionResult; domains?: ConnectionResult; + corsSettings?: ConnectionResult; } export interface SiteRelations { database?: Database | null; @@ -2816,6 +3173,10 @@ export interface AppRelations { site?: Site | null; database?: Database | null; } +export interface ApiSettingRelations { + api?: Api | null; + database?: Database | null; +} export interface ConnectedAccountsModuleRelations { database?: Database | null; ownerTable?: Table | null; @@ -2884,9 +3245,16 @@ export interface LevelsModuleRelations { export interface LimitsModuleRelations { actorTable?: Table | null; aggregateTable?: Table | null; + creditCodeItemsTable?: Table | null; + creditCodesTable?: Table | null; + creditRedemptionsTable?: Table | null; database?: Database | null; defaultTable?: Table | null; entityTable?: Table | null; + eventsTable?: Table | null; + limitCapsDefaultsTable?: Table | null; + limitCapsTable?: Table | null; + limitCreditsTable?: Table | null; privateSchema?: Schema | null; schema?: Schema | null; table?: Table | null; @@ -2991,7 +3359,9 @@ export interface StorageModuleRelations { bucketsTable?: Table | null; database?: Database | null; entityTable?: Table | null; + fileEventsTable?: Table | null; filesTable?: Table | null; + pathSharesTable?: Table | null; privateSchema?: Schema | null; schema?: Schema | null; } @@ -3089,10 +3459,26 @@ export interface OrgPermissionDefaultRelations { export interface AppLimitRelations { actor?: User | null; } +export interface AppLimitCreditRelations { + actor?: User | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditCodeItemRelations { + creditCode?: AppLimitCreditCode | null; + defaultLimit?: AppLimitDefault | null; +} +export interface AppLimitCreditRedemptionRelations { + creditCode?: AppLimitCreditCode | null; +} export interface OrgLimitRelations { actor?: User | null; entity?: User | null; } +export interface OrgLimitCreditRelations { + actor?: User | null; + defaultLimit?: OrgLimitDefault | null; + entity?: User | null; +} export interface OrgLimitAggregateRelations { entity?: User | null; } @@ -3156,6 +3542,14 @@ export interface IdentityProviderRelations {} export interface RefRelations {} export interface StoreRelations {} export interface AppPermissionDefaultRelations {} +export interface AppLimitCreditCodeRelations { + appLimitCreditCodeItemsByCreditCodeId?: ConnectionResult; + appLimitCreditRedemptionsByCreditCodeId?: ConnectionResult; +} +export interface AppLimitCapsDefaultRelations {} +export interface OrgLimitCapsDefaultRelations {} +export interface AppLimitCapRelations {} +export interface OrgLimitCapRelations {} export interface MembershipTypeRelations {} export interface MigrateFileRelations {} export interface DevicesModuleRelations { @@ -3165,10 +3559,23 @@ export interface DevicesModuleRelations { userDevicesTableByUserDevicesTableId?: Table | null; } export interface NodeTypeRegistryRelations {} -export interface AppLimitDefaultRelations {} -export interface OrgLimitDefaultRelations {} +export interface AppLimitDefaultRelations { + appLimitCreditsByDefaultLimitId?: ConnectionResult; + appLimitCreditCodeItemsByDefaultLimitId?: ConnectionResult; +} +export interface OrgLimitDefaultRelations { + orgLimitCreditsByDefaultLimitId?: ConnectionResult; +} export interface UserConnectedAccountRelations {} export interface CommitRelations {} +export interface PubkeySettingRelations { + database?: Database | null; + schema?: Schema | null; + signInRecordFailureFunction?: Function | null; + signInRequestChallengeFunction?: Function | null; + signInWithChallengeFunction?: Function | null; + signUpWithKeyFunction?: Function | null; +} export interface RateLimitsModuleRelations { database?: Database | null; ipRateLimitsTableByIpRateLimitsTableId?: Table | null; @@ -3180,15 +3587,19 @@ export interface AppMembershipDefaultRelations {} export interface OrgMembershipDefaultRelations { entity?: User | null; } -export interface AppLimitEventRelations {} -export interface OrgLimitEventRelations {} -export interface PlansModuleRelations { +export interface RlsSettingRelations { + authenticateFunction?: Function | null; + authenticateSchema?: Schema | null; + authenticateStrictFunction?: Function | null; + currentIpAddressFunction?: Function | null; + currentRoleFunction?: Function | null; + currentRoleIdFunction?: Function | null; + currentUserAgentFunction?: Function | null; database?: Database | null; - planLimitsTable?: Table | null; - plansTable?: Table | null; - privateSchema?: Schema | null; - schema?: Schema | null; + roleSchema?: Schema | null; } +export interface AppLimitEventRelations {} +export interface OrgLimitEventRelations {} export interface RlsModuleRelations { database?: Database | null; privateSchema?: Schema | null; @@ -3197,6 +3608,18 @@ export interface RlsModuleRelations { sessionsTable?: Table | null; usersTable?: Table | null; } +export interface DatabaseSettingRelations { + database?: Database | null; +} +export interface PlansModuleRelations { + database?: Database | null; + planLimitsTable?: Table | null; + planOverridesTable?: Table | null; + planPricingTable?: Table | null; + plansTable?: Table | null; + privateSchema?: Schema | null; + schema?: Schema | null; +} export interface SqlActionRelations {} export interface BillingModuleRelations { balancesTable?: Table | null; @@ -3244,8 +3667,11 @@ export interface UserRelations { childOrgChartEdgeGrants?: ConnectionResult; orgPermissionDefaultsByEntityId?: ConnectionResult; appLimitsByActorId?: ConnectionResult; + appLimitCreditsByActorId?: ConnectionResult; orgLimitsByActorId?: ConnectionResult; orgLimitsByEntityId?: ConnectionResult; + orgLimitCreditsByActorId?: ConnectionResult; + orgLimitCreditsByEntityId?: ConnectionResult; orgLimitAggregatesByEntityId?: ConnectionResult; appStepsByActorId?: ConnectionResult; appAchievementsByActorId?: ConnectionResult; @@ -3272,9 +3698,34 @@ export interface UserRelations { export interface OrgMembershipSettingRelations { entity?: User | null; } +export interface WebauthnSettingRelations { + credentialsSchema?: Schema | null; + credentialsTable?: Table | null; + database?: Database | null; + schema?: Schema | null; + sessionCredentialsTable?: Table | null; + sessionSecretsSchema?: Schema | null; + sessionSecretsTable?: Table | null; + sessionsSchema?: Schema | null; + sessionsTable?: Table | null; + userField?: Field | null; +} export interface AppMembershipRelations { actor?: User | null; } +export interface BillingProviderModuleRelations { + billingCustomersTable?: Table | null; + billingPricesTable?: Table | null; + billingProductsTable?: Table | null; + billingSubscriptionsTable?: Table | null; + billingWebhookEventsTable?: Table | null; + database?: Database | null; + pricesTable?: Table | null; + privateSchema?: Schema | null; + productsTable?: Table | null; + schema?: Schema | null; + subscriptionsTable?: Table | null; +} export interface HierarchyModuleRelations { chartEdgeGrantsTable?: Table | null; chartEdgesTable?: Table | null; @@ -3301,6 +3752,7 @@ export type TableWithRelations = Table & TableRelations; export type CheckConstraintWithRelations = CheckConstraint & CheckConstraintRelations; export type FieldWithRelations = Field & FieldRelations; export type SpatialRelationWithRelations = SpatialRelation & SpatialRelationRelations; +export type PartitionWithRelations = Partition & PartitionRelations; export type ForeignKeyConstraintWithRelations = ForeignKeyConstraint & ForeignKeyConstraintRelations; export type FullTextSearchWithRelations = FullTextSearch & FullTextSearchRelations; @@ -3326,17 +3778,20 @@ export type IdentityProvidersModuleWithRelations = IdentityProvidersModule & export type SchemaGrantWithRelations = SchemaGrant & SchemaGrantRelations; export type DefaultPrivilegeWithRelations = DefaultPrivilege & DefaultPrivilegeRelations; export type EnumWithRelations = Enum & EnumRelations; +export type FunctionWithRelations = Function & FunctionRelations; export type ApiSchemaWithRelations = ApiSchema & ApiSchemaRelations; export type ApiModuleWithRelations = ApiModule & ApiModuleRelations; export type DomainWithRelations = Domain & DomainRelations; export type SiteMetadatumWithRelations = SiteMetadatum & SiteMetadatumRelations; export type SiteModuleWithRelations = SiteModule & SiteModuleRelations; export type SiteThemeWithRelations = SiteTheme & SiteThemeRelations; +export type CorsSettingWithRelations = CorsSetting & CorsSettingRelations; export type TriggerFunctionWithRelations = TriggerFunction & TriggerFunctionRelations; export type DatabaseTransferWithRelations = DatabaseTransfer & DatabaseTransferRelations; export type ApiWithRelations = Api & ApiRelations; export type SiteWithRelations = Site & SiteRelations; export type AppWithRelations = App & AppRelations; +export type ApiSettingWithRelations = ApiSetting & ApiSettingRelations; export type ConnectedAccountsModuleWithRelations = ConnectedAccountsModule & ConnectedAccountsModuleRelations; export type CryptoAddressesModuleWithRelations = CryptoAddressesModule & @@ -3387,7 +3842,13 @@ export type OrgChartEdgeGrantWithRelations = OrgChartEdgeGrant & OrgChartEdgeGra export type OrgPermissionDefaultWithRelations = OrgPermissionDefault & OrgPermissionDefaultRelations; export type AppLimitWithRelations = AppLimit & AppLimitRelations; +export type AppLimitCreditWithRelations = AppLimitCredit & AppLimitCreditRelations; +export type AppLimitCreditCodeItemWithRelations = AppLimitCreditCodeItem & + AppLimitCreditCodeItemRelations; +export type AppLimitCreditRedemptionWithRelations = AppLimitCreditRedemption & + AppLimitCreditRedemptionRelations; export type OrgLimitWithRelations = OrgLimit & OrgLimitRelations; +export type OrgLimitCreditWithRelations = OrgLimitCredit & OrgLimitCreditRelations; export type OrgLimitAggregateWithRelations = OrgLimitAggregate & OrgLimitAggregateRelations; export type AppStepWithRelations = AppStep & AppStepRelations; export type AppAchievementWithRelations = AppAchievement & AppAchievementRelations; @@ -3410,6 +3871,11 @@ export type RefWithRelations = Ref & RefRelations; export type StoreWithRelations = Store & StoreRelations; export type AppPermissionDefaultWithRelations = AppPermissionDefault & AppPermissionDefaultRelations; +export type AppLimitCreditCodeWithRelations = AppLimitCreditCode & AppLimitCreditCodeRelations; +export type AppLimitCapsDefaultWithRelations = AppLimitCapsDefault & AppLimitCapsDefaultRelations; +export type OrgLimitCapsDefaultWithRelations = OrgLimitCapsDefault & OrgLimitCapsDefaultRelations; +export type AppLimitCapWithRelations = AppLimitCap & AppLimitCapRelations; +export type OrgLimitCapWithRelations = OrgLimitCap & OrgLimitCapRelations; export type MembershipTypeWithRelations = MembershipType & MembershipTypeRelations; export type MigrateFileWithRelations = MigrateFile & MigrateFileRelations; export type DevicesModuleWithRelations = DevicesModule & DevicesModuleRelations; @@ -3419,22 +3885,28 @@ export type OrgLimitDefaultWithRelations = OrgLimitDefault & OrgLimitDefaultRela export type UserConnectedAccountWithRelations = UserConnectedAccount & UserConnectedAccountRelations; export type CommitWithRelations = Commit & CommitRelations; +export type PubkeySettingWithRelations = PubkeySetting & PubkeySettingRelations; export type RateLimitsModuleWithRelations = RateLimitsModule & RateLimitsModuleRelations; export type AppMembershipDefaultWithRelations = AppMembershipDefault & AppMembershipDefaultRelations; export type OrgMembershipDefaultWithRelations = OrgMembershipDefault & OrgMembershipDefaultRelations; +export type RlsSettingWithRelations = RlsSetting & RlsSettingRelations; export type AppLimitEventWithRelations = AppLimitEvent & AppLimitEventRelations; export type OrgLimitEventWithRelations = OrgLimitEvent & OrgLimitEventRelations; -export type PlansModuleWithRelations = PlansModule & PlansModuleRelations; export type RlsModuleWithRelations = RlsModule & RlsModuleRelations; +export type DatabaseSettingWithRelations = DatabaseSetting & DatabaseSettingRelations; +export type PlansModuleWithRelations = PlansModule & PlansModuleRelations; export type SqlActionWithRelations = SqlAction & SqlActionRelations; export type BillingModuleWithRelations = BillingModule & BillingModuleRelations; export type AstMigrationWithRelations = AstMigration & AstMigrationRelations; export type UserWithRelations = User & UserRelations; export type OrgMembershipSettingWithRelations = OrgMembershipSetting & OrgMembershipSettingRelations; +export type WebauthnSettingWithRelations = WebauthnSetting & WebauthnSettingRelations; export type AppMembershipWithRelations = AppMembership & AppMembershipRelations; +export type BillingProviderModuleWithRelations = BillingProviderModule & + BillingProviderModuleRelations; export type HierarchyModuleWithRelations = HierarchyModule & HierarchyModuleRelations; // ============ Entity Select Types ============ export type OrgGetManagersRecordSelect = { @@ -3495,6 +3967,18 @@ export type DatabaseSelect = { owner?: { select: UserSelect; }; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + rlsSetting?: { + select: RlsSettingSelect; + }; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; rlsModule?: { select: RlsModuleSelect; }; @@ -3513,6 +3997,9 @@ export type DatabaseSelect = { billingModule?: { select: BillingModuleSelect; }; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; schemas?: { select: SchemaSelect; first?: number; @@ -3639,12 +4126,24 @@ export type DatabaseSelect = { filter?: SpatialRelationFilter; orderBy?: SpatialRelationOrderBy[]; }; + functions?: { + select: FunctionSelect; + first?: number; + filter?: FunctionFilter; + orderBy?: FunctionOrderBy[]; + }; databaseTransfers?: { select: DatabaseTransferSelect; first?: number; filter?: DatabaseTransferFilter; orderBy?: DatabaseTransferOrderBy[]; }; + partitions?: { + select: PartitionSelect; + first?: number; + filter?: PartitionFilter; + orderBy?: PartitionOrderBy[]; + }; apis?: { select: ApiSelect; first?: number; @@ -3699,6 +4198,18 @@ export type DatabaseSelect = { filter?: SiteThemeFilter; orderBy?: SiteThemeOrderBy[]; }; + apiSettings?: { + select: ApiSettingSelect; + first?: number; + filter?: ApiSettingFilter; + orderBy?: ApiSettingOrderBy[]; + }; + corsSettings?: { + select: CorsSettingSelect; + first?: number; + filter?: CorsSettingFilter; + orderBy?: CorsSettingOrderBy[]; + }; connectedAccountsModules?: { select: ConnectedAccountsModuleSelect; first?: number; @@ -3934,6 +4445,12 @@ export type SchemaSelect = { filter?: EnumFilter; orderBy?: EnumOrderBy[]; }; + functions?: { + select: FunctionSelect; + first?: number; + filter?: FunctionFilter; + orderBy?: FunctionOrderBy[]; + }; apiSchemas?: { select: ApiSchemaSelect; first?: number; @@ -3988,6 +4505,9 @@ export type TableSelect = { inherits?: { select: TableSelect; }; + partition?: { + select: PartitionSelect; + }; checkConstraints?: { select: CheckConstraintSelect; first?: number; @@ -4186,6 +4706,12 @@ export type FieldSelect = { filter?: SpatialRelationFilter; orderBy?: SpatialRelationOrderBy[]; }; + partitionsByPartitionKeyId?: { + select: PartitionSelect; + first?: number; + filter?: PartitionFilter; + orderBy?: PartitionOrderBy[]; + }; }; export type SpatialRelationSelect = { id?: boolean; @@ -4219,6 +4745,28 @@ export type SpatialRelationSelect = { select: TableSelect; }; }; +export type PartitionSelect = { + id?: boolean; + databaseId?: boolean; + tableId?: boolean; + strategy?: boolean; + partitionKeyId?: boolean; + interval?: boolean; + retention?: boolean; + lookahead?: boolean; + namingPattern?: boolean; + createdAt?: boolean; + updatedAt?: boolean; + database?: { + select: DatabaseSelect; + }; + partitionKey?: { + select: FieldSelect; + }; + table?: { + select: TableSelect; + }; +}; export type ForeignKeyConstraintSelect = { id?: boolean; databaseId?: boolean; @@ -4665,6 +5213,18 @@ export type EnumSelect = { select: SchemaSelect; }; }; +export type FunctionSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + name?: boolean; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; +}; export type ApiSchemaSelect = { id?: boolean; databaseId?: boolean; @@ -4749,6 +5309,18 @@ export type SiteThemeSelect = { select: SiteSelect; }; }; +export type CorsSettingSelect = { + id?: boolean; + databaseId?: boolean; + apiId?: boolean; + allowedOrigins?: boolean; + api?: { + select: ApiSelect; + }; + database?: { + select: DatabaseSelect; + }; +}; export type TriggerFunctionSelect = { id?: boolean; databaseId?: boolean; @@ -4790,6 +5362,9 @@ export type ApiSelect = { database?: { select: DatabaseSelect; }; + apiSetting?: { + select: ApiSettingSelect; + }; apiModules?: { select: ApiModuleSelect; first?: number; @@ -4808,6 +5383,12 @@ export type ApiSelect = { filter?: DomainFilter; orderBy?: DomainOrderBy[]; }; + corsSettings?: { + select: CorsSettingSelect; + first?: number; + filter?: CorsSettingFilter; + orderBy?: CorsSettingOrderBy[]; + }; }; export type SiteSelect = { id?: boolean; @@ -4867,6 +5448,27 @@ export type AppSelect = { select: DatabaseSelect; }; }; +export type ApiSettingSelect = { + id?: boolean; + databaseId?: boolean; + apiId?: boolean; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: boolean; + api?: { + select: ApiSelect; + }; + database?: { + select: DatabaseSelect; + }; +}; export type ConnectedAccountsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -5136,7 +5738,16 @@ export type LimitsModuleSelect = { limitDecrementTrigger?: boolean; limitUpdateTrigger?: boolean; limitCheckFunction?: boolean; + limitCreditsTableId?: boolean; + eventsTableId?: boolean; + creditCodesTableId?: boolean; + creditCodeItemsTableId?: boolean; + creditRedemptionsTableId?: boolean; aggregateTableId?: boolean; + limitCapsTableId?: boolean; + limitCapsDefaultsTableId?: boolean; + capCheckTrigger?: boolean; + resolveCapFunction?: boolean; prefix?: boolean; membershipType?: boolean; entityTableId?: boolean; @@ -5147,6 +5758,15 @@ export type LimitsModuleSelect = { aggregateTable?: { select: TableSelect; }; + creditCodeItemsTable?: { + select: TableSelect; + }; + creditCodesTable?: { + select: TableSelect; + }; + creditRedemptionsTable?: { + select: TableSelect; + }; database?: { select: DatabaseSelect; }; @@ -5156,6 +5776,18 @@ export type LimitsModuleSelect = { entityTable?: { select: TableSelect; }; + eventsTable?: { + select: TableSelect; + }; + limitCapsDefaultsTable?: { + select: TableSelect; + }; + limitCapsTable?: { + select: TableSelect; + }; + limitCreditsTable?: { + select: TableSelect; + }; privateSchema?: { select: SchemaSelect; }; @@ -5608,11 +6240,20 @@ export type StorageModuleSelect = { provider?: boolean; allowedOrigins?: boolean; restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: boolean; uploadUrlExpirySeconds?: boolean; downloadUrlExpirySeconds?: boolean; defaultMaxFileSize?: boolean; maxFilenameLength?: boolean; cacheTtlSeconds?: boolean; + maxBulkFiles?: boolean; + maxBulkTotalSize?: boolean; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: boolean; bucketsTable?: { select: TableSelect; }; @@ -5622,9 +6263,15 @@ export type StorageModuleSelect = { entityTable?: { select: TableSelect; }; + fileEventsTable?: { + select: TableSelect; + }; filesTable?: { select: TableSelect; }; + pathSharesTable?: { + select: TableSelect; + }; privateSchema?: { select: SchemaSelect; }; @@ -5656,6 +6303,7 @@ export type EntityTypeProvisionSelect = { outStorageModuleId?: boolean; outBucketsTableId?: boolean; outFilesTableId?: boolean; + outPathSharesTableId?: boolean; outInvitesModuleId?: boolean; database?: { select: DatabaseSelect; @@ -6018,10 +6666,48 @@ export type AppLimitSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; actor?: { select: UserSelect; }; }; +export type AppLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + actor?: { + select: UserSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditCodeItemSelect = { + id?: boolean; + creditCodeId?: boolean; + defaultLimitId?: boolean; + amount?: boolean; + creditType?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; + defaultLimit?: { + select: AppLimitDefaultSelect; + }; +}; +export type AppLimitCreditRedemptionSelect = { + id?: boolean; + creditCodeId?: boolean; + entityId?: boolean; + creditCode?: { + select: AppLimitCreditCodeSelect; + }; +}; export type OrgLimitSelect = { id?: boolean; name?: boolean; @@ -6031,6 +6717,9 @@ export type OrgLimitSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; entityId?: boolean; actor?: { select: UserSelect; @@ -6039,6 +6728,24 @@ export type OrgLimitSelect = { select: UserSelect; }; }; +export type OrgLimitCreditSelect = { + id?: boolean; + defaultLimitId?: boolean; + actorId?: boolean; + entityId?: boolean; + amount?: boolean; + creditType?: boolean; + reason?: boolean; + actor?: { + select: UserSelect; + }; + defaultLimit?: { + select: OrgLimitDefaultSelect; + }; + entity?: { + select: UserSelect; + }; +}; export type OrgLimitAggregateSelect = { id?: boolean; name?: boolean; @@ -6048,6 +6755,10 @@ export type OrgLimitAggregateSelect = { softMax?: boolean; windowStart?: boolean; windowDuration?: boolean; + planMax?: boolean; + purchasedCredits?: boolean; + periodCredits?: boolean; + reserved?: boolean; entity?: { select: UserSelect; }; @@ -6327,6 +7038,47 @@ export type AppPermissionDefaultSelect = { id?: boolean; permissions?: boolean; }; +export type AppLimitCreditCodeSelect = { + id?: boolean; + code?: boolean; + maxRedemptions?: boolean; + currentRedemptions?: boolean; + expiresAt?: boolean; + appLimitCreditCodeItemsByCreditCodeId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; + appLimitCreditRedemptionsByCreditCodeId?: { + select: AppLimitCreditRedemptionSelect; + first?: number; + filter?: AppLimitCreditRedemptionFilter; + orderBy?: AppLimitCreditRedemptionOrderBy[]; + }; +}; +export type AppLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type OrgLimitCapsDefaultSelect = { + id?: boolean; + name?: boolean; + max?: boolean; +}; +export type AppLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; +export type OrgLimitCapSelect = { + id?: boolean; + name?: boolean; + entityId?: boolean; + max?: boolean; +}; export type MembershipTypeSelect = { id?: boolean; name?: boolean; @@ -6375,12 +7127,30 @@ export type AppLimitDefaultSelect = { name?: boolean; max?: boolean; softMax?: boolean; + appLimitCreditsByDefaultLimitId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; + appLimitCreditCodeItemsByDefaultLimitId?: { + select: AppLimitCreditCodeItemSelect; + first?: number; + filter?: AppLimitCreditCodeItemFilter; + orderBy?: AppLimitCreditCodeItemOrderBy[]; + }; }; export type OrgLimitDefaultSelect = { id?: boolean; name?: boolean; max?: boolean; softMax?: boolean; + orgLimitCreditsByDefaultLimitId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; }; export type UserConnectedAccountSelect = { id?: boolean; @@ -6403,6 +7173,35 @@ export type CommitSelect = { treeId?: boolean; date?: boolean; }; +export type PubkeySettingSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + cryptoNetwork?: boolean; + userField?: boolean; + signUpWithKeyFunctionId?: boolean; + signInRequestChallengeFunctionId?: boolean; + signInRecordFailureFunctionId?: boolean; + signInWithChallengeFunctionId?: boolean; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; + signInRecordFailureFunction?: { + select: FunctionSelect; + }; + signInRequestChallengeFunction?: { + select: FunctionSelect; + }; + signInWithChallengeFunction?: { + select: FunctionSelect; + }; + signUpWithKeyFunction?: { + select: FunctionSelect; + }; +}; export type RateLimitsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -6450,6 +7249,45 @@ export type OrgMembershipDefaultSelect = { select: UserSelect; }; }; +export type RlsSettingSelect = { + id?: boolean; + databaseId?: boolean; + authenticateSchemaId?: boolean; + roleSchemaId?: boolean; + authenticateFunctionId?: boolean; + authenticateStrictFunctionId?: boolean; + currentRoleFunctionId?: boolean; + currentRoleIdFunctionId?: boolean; + currentUserAgentFunctionId?: boolean; + currentIpAddressFunctionId?: boolean; + authenticateFunction?: { + select: FunctionSelect; + }; + authenticateSchema?: { + select: SchemaSelect; + }; + authenticateStrictFunction?: { + select: FunctionSelect; + }; + currentIpAddressFunction?: { + select: FunctionSelect; + }; + currentRoleFunction?: { + select: FunctionSelect; + }; + currentRoleIdFunction?: { + select: FunctionSelect; + }; + currentUserAgentFunction?: { + select: FunctionSelect; + }; + database?: { + select: DatabaseSelect; + }; + roleSchema?: { + select: SchemaSelect; + }; +}; export type AppLimitEventSelect = { name?: boolean; actorId?: boolean; @@ -6472,34 +7310,6 @@ export type OrgLimitEventSelect = { maxAtEvent?: boolean; reason?: boolean; }; -export type PlansModuleSelect = { - id?: boolean; - databaseId?: boolean; - schemaId?: boolean; - privateSchemaId?: boolean; - plansTableId?: boolean; - plansTableName?: boolean; - planLimitsTableId?: boolean; - planLimitsTableName?: boolean; - applyPlanFunction?: boolean; - applyPlanAggregateFunction?: boolean; - prefix?: boolean; - database?: { - select: DatabaseSelect; - }; - planLimitsTable?: { - select: TableSelect; - }; - plansTable?: { - select: TableSelect; - }; - privateSchema?: { - select: SchemaSelect; - }; - schema?: { - select: SchemaSelect; - }; -}; export type RlsModuleSelect = { id?: boolean; databaseId?: boolean; @@ -6531,6 +7341,59 @@ export type RlsModuleSelect = { select: TableSelect; }; }; +export type DatabaseSettingSelect = { + id?: boolean; + databaseId?: boolean; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: boolean; + database?: { + select: DatabaseSelect; + }; +}; +export type PlansModuleSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + privateSchemaId?: boolean; + plansTableId?: boolean; + plansTableName?: boolean; + planLimitsTableId?: boolean; + planLimitsTableName?: boolean; + planPricingTableId?: boolean; + planOverridesTableId?: boolean; + applyPlanFunction?: boolean; + applyPlanAggregateFunction?: boolean; + prefix?: boolean; + database?: { + select: DatabaseSelect; + }; + planLimitsTable?: { + select: TableSelect; + }; + planOverridesTable?: { + select: TableSelect; + }; + planPricingTable?: { + select: TableSelect; + }; + plansTable?: { + select: TableSelect; + }; + privateSchema?: { + select: SchemaSelect; + }; + schema?: { + select: SchemaSelect; + }; +}; export type SqlActionSelect = { id?: boolean; name?: boolean; @@ -6808,6 +7671,12 @@ export type UserSelect = { filter?: AppLimitFilter; orderBy?: AppLimitOrderBy[]; }; + appLimitCreditsByActorId?: { + select: AppLimitCreditSelect; + first?: number; + filter?: AppLimitCreditFilter; + orderBy?: AppLimitCreditOrderBy[]; + }; orgLimitsByActorId?: { select: OrgLimitSelect; first?: number; @@ -6820,6 +7689,18 @@ export type UserSelect = { filter?: OrgLimitFilter; orderBy?: OrgLimitOrderBy[]; }; + orgLimitCreditsByActorId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; + orgLimitCreditsByEntityId?: { + select: OrgLimitCreditSelect; + first?: number; + filter?: OrgLimitCreditFilter; + orderBy?: OrgLimitCreditOrderBy[]; + }; orgLimitAggregatesByEntityId?: { select: OrgLimitAggregateSelect; first?: number; @@ -6972,6 +7853,56 @@ export type OrgMembershipSettingSelect = { select: UserSelect; }; }; +export type WebauthnSettingSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + credentialsSchemaId?: boolean; + sessionsSchemaId?: boolean; + sessionSecretsSchemaId?: boolean; + credentialsTableId?: boolean; + sessionsTableId?: boolean; + sessionCredentialsTableId?: boolean; + sessionSecretsTableId?: boolean; + userFieldId?: boolean; + rpId?: boolean; + rpName?: boolean; + originAllowlist?: boolean; + attestationType?: boolean; + requireUserVerification?: boolean; + residentKey?: boolean; + challengeExpirySeconds?: boolean; + credentialsSchema?: { + select: SchemaSelect; + }; + credentialsTable?: { + select: TableSelect; + }; + database?: { + select: DatabaseSelect; + }; + schema?: { + select: SchemaSelect; + }; + sessionCredentialsTable?: { + select: TableSelect; + }; + sessionSecretsSchema?: { + select: SchemaSelect; + }; + sessionSecretsTable?: { + select: TableSelect; + }; + sessionsSchema?: { + select: SchemaSelect; + }; + sessionsTable?: { + select: TableSelect; + }; + userField?: { + select: FieldSelect; + }; +}; export type AppMembershipSelect = { id?: boolean; createdAt?: boolean; @@ -6993,6 +7924,61 @@ export type AppMembershipSelect = { select: UserSelect; }; }; +export type BillingProviderModuleSelect = { + id?: boolean; + databaseId?: boolean; + schemaId?: boolean; + privateSchemaId?: boolean; + provider?: boolean; + productsTableId?: boolean; + pricesTableId?: boolean; + subscriptionsTableId?: boolean; + billingCustomersTableId?: boolean; + billingCustomersTableName?: boolean; + billingProductsTableId?: boolean; + billingProductsTableName?: boolean; + billingPricesTableId?: boolean; + billingPricesTableName?: boolean; + billingSubscriptionsTableId?: boolean; + billingSubscriptionsTableName?: boolean; + billingWebhookEventsTableId?: boolean; + billingWebhookEventsTableName?: boolean; + processBillingEventFunction?: boolean; + prefix?: boolean; + billingCustomersTable?: { + select: TableSelect; + }; + billingPricesTable?: { + select: TableSelect; + }; + billingProductsTable?: { + select: TableSelect; + }; + billingSubscriptionsTable?: { + select: TableSelect; + }; + billingWebhookEventsTable?: { + select: TableSelect; + }; + database?: { + select: DatabaseSelect; + }; + pricesTable?: { + select: TableSelect; + }; + privateSchema?: { + select: SchemaSelect; + }; + productsTable?: { + select: TableSelect; + }; + schema?: { + select: SchemaSelect; + }; + subscriptionsTable?: { + select: TableSelect; + }; +}; export type HierarchyModuleSelect = { id?: boolean; databaseId?: boolean; @@ -7254,10 +8240,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -7294,6 +8288,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -7438,6 +8456,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -7500,6 +8522,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -7634,6 +8660,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -7766,6 +8796,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } export interface SpatialRelationFilter { /** Filter by the object’s `id` field. */ @@ -7815,6 +8849,42 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} export interface ForeignKeyConstraintFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8567,6 +9637,26 @@ export interface EnumFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} export interface ApiSchemaFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8703,6 +9793,28 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} export interface TriggerFunctionFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -8798,6 +9910,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } export interface SiteFilter { /** Filter by the object’s `id` field. */ @@ -8877,6 +9997,44 @@ export interface AppFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} export interface ConnectedAccountsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -9266,8 +10424,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -9288,6 +10464,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -9296,6 +10484,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -9948,6 +11152,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -9958,6 +11166,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -9972,8 +11194,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -10026,6 +11256,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -10622,6 +11854,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -10631,6 +11869,70 @@ export interface AppLimitFilter { /** Filter by the object’s `actor` relation. */ actor?: UserFilter; } +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} export interface OrgLimitFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -10648,6 +11950,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -10661,6 +11969,38 @@ export interface OrgLimitFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} export interface OrgLimitAggregateFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -10678,6 +12018,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -11215,6 +12563,92 @@ export interface AppPermissionDefaultFilter { /** Negates the expression. */ not?: AppPermissionDefaultFilter; } +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +export interface AppLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitCapsDefaultFilter; +} +export interface OrgLimitCapsDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapsDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapsDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapsDefaultFilter; +} +export interface AppLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCapFilter[]; + /** Negates the expression. */ + not?: AppLimitCapFilter; +} +export interface OrgLimitCapFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCapFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCapFilter[]; + /** Negates the expression. */ + not?: OrgLimitCapFilter; +} export interface MembershipTypeFilter { /** Filter by the object’s `id` field. */ id?: IntFilter; @@ -11316,6 +12750,14 @@ export interface AppLimitDefaultFilter { or?: AppLimitDefaultFilter[]; /** Negates the expression. */ not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; } export interface OrgLimitDefaultFilter { /** Filter by the object’s `id` field. */ @@ -11332,6 +12774,10 @@ export interface OrgLimitDefaultFilter { or?: OrgLimitDefaultFilter[]; /** Negates the expression. */ not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; } export interface UserConnectedAccountFilter { /** Filter by the object’s `id` field. */ @@ -11383,6 +12829,54 @@ export interface CommitFilter { /** Negates the expression. */ not?: CommitFilter; } +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} export interface RateLimitsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -11465,6 +12959,68 @@ export interface OrgMembershipDefaultFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface RlsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} export interface AppLimitEventFilter { /** Filter by the object’s `name` field. */ name?: StringFilter; @@ -11517,46 +13073,6 @@ export interface OrgLimitEventFilter { /** Negates the expression. */ not?: OrgLimitEventFilter; } -export interface PlansModuleFilter { - /** Filter by the object’s `id` field. */ - id?: UUIDFilter; - /** Filter by the object’s `databaseId` field. */ - databaseId?: UUIDFilter; - /** Filter by the object’s `schemaId` field. */ - schemaId?: UUIDFilter; - /** Filter by the object’s `privateSchemaId` field. */ - privateSchemaId?: UUIDFilter; - /** Filter by the object’s `plansTableId` field. */ - plansTableId?: UUIDFilter; - /** Filter by the object’s `plansTableName` field. */ - plansTableName?: StringFilter; - /** Filter by the object’s `planLimitsTableId` field. */ - planLimitsTableId?: UUIDFilter; - /** Filter by the object’s `planLimitsTableName` field. */ - planLimitsTableName?: StringFilter; - /** Filter by the object’s `applyPlanFunction` field. */ - applyPlanFunction?: StringFilter; - /** Filter by the object’s `applyPlanAggregateFunction` field. */ - applyPlanAggregateFunction?: StringFilter; - /** Filter by the object’s `prefix` field. */ - prefix?: StringFilter; - /** Checks for all expressions in this list. */ - and?: PlansModuleFilter[]; - /** Checks for any expressions in this list. */ - or?: PlansModuleFilter[]; - /** Negates the expression. */ - not?: PlansModuleFilter; - /** Filter by the object’s `database` relation. */ - database?: DatabaseFilter; - /** Filter by the object’s `planLimitsTable` relation. */ - planLimitsTable?: TableFilter; - /** Filter by the object’s `plansTable` relation. */ - plansTable?: TableFilter; - /** Filter by the object’s `privateSchema` relation. */ - privateSchema?: SchemaFilter; - /** Filter by the object’s `schema` relation. */ - schema?: SchemaFilter; -} export interface RlsModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -11599,6 +13115,92 @@ export interface RlsModuleFilter { /** Filter by the object’s `usersTable` relation. */ usersTable?: TableFilter; } +export interface DatabaseSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: DatabaseSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: DatabaseSettingFilter[]; + /** Negates the expression. */ + not?: DatabaseSettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +export interface PlansModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `plansTableId` field. */ + plansTableId?: UUIDFilter; + /** Filter by the object’s `plansTableName` field. */ + plansTableName?: StringFilter; + /** Filter by the object’s `planLimitsTableId` field. */ + planLimitsTableId?: UUIDFilter; + /** Filter by the object’s `planLimitsTableName` field. */ + planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; + /** Filter by the object’s `applyPlanFunction` field. */ + applyPlanFunction?: StringFilter; + /** Filter by the object’s `applyPlanAggregateFunction` field. */ + applyPlanAggregateFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: PlansModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: PlansModuleFilter[]; + /** Negates the expression. */ + not?: PlansModuleFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `planLimitsTable` relation. */ + planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; + /** Filter by the object’s `plansTable` relation. */ + plansTable?: TableFilter; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} export interface SqlActionFilter { /** Filter by the object’s `id` field. */ id?: IntFilter; @@ -11876,6 +13478,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -11884,6 +13490,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -12022,6 +13636,88 @@ export interface OrgMembershipSettingFilter { /** Filter by the object’s `entity` relation. */ entity?: UserFilter; } +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} export interface AppMembershipFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -12064,6 +13760,82 @@ export interface AppMembershipFilter { /** Filter by the object’s `actor` relation. */ actor?: UserFilter; } +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} export interface HierarchyModuleFilter { /** Filter by the object’s `id` field. */ id?: UUIDFilter; @@ -12431,6 +14203,32 @@ export type SpatialRelationOrderBy = | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC'; +export type PartitionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'TABLE_ID_ASC' + | 'TABLE_ID_DESC' + | 'STRATEGY_ASC' + | 'STRATEGY_DESC' + | 'PARTITION_KEY_ID_ASC' + | 'PARTITION_KEY_ID_DESC' + | 'INTERVAL_ASC' + | 'INTERVAL_DESC' + | 'RETENTION_ASC' + | 'RETENTION_DESC' + | 'LOOKAHEAD_ASC' + | 'LOOKAHEAD_DESC' + | 'NAMING_PATTERN_ASC' + | 'NAMING_PATTERN_DESC' + | 'CREATED_AT_ASC' + | 'CREATED_AT_DESC' + | 'UPDATED_AT_ASC' + | 'UPDATED_AT_DESC'; export type ForeignKeyConstraintOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -12981,6 +14779,18 @@ export type EnumOrderBy = | 'SCOPE_DESC' | 'TAGS_ASC' | 'TAGS_DESC'; +export type FunctionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC'; export type ApiSchemaOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13065,6 +14875,18 @@ export type SiteThemeOrderBy = | 'SITE_ID_DESC' | 'THEME_ASC' | 'THEME_DESC'; +export type CorsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ALLOWED_ORIGINS_ASC' + | 'ALLOWED_ORIGINS_DESC'; export type TriggerFunctionOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13175,6 +14997,36 @@ export type AppOrderBy = | 'APP_ID_PREFIX_DESC' | 'PLAY_STORE_LINK_ASC' | 'PLAY_STORE_LINK_DESC'; +export type ApiSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'API_ID_ASC' + | 'API_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; export type ConnectedAccountsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13433,8 +15285,26 @@ export type LimitsModuleOrderBy = | 'LIMIT_UPDATE_TRIGGER_DESC' | 'LIMIT_CHECK_FUNCTION_ASC' | 'LIMIT_CHECK_FUNCTION_DESC' + | 'LIMIT_CREDITS_TABLE_ID_ASC' + | 'LIMIT_CREDITS_TABLE_ID_DESC' + | 'EVENTS_TABLE_ID_ASC' + | 'EVENTS_TABLE_ID_DESC' + | 'CREDIT_CODES_TABLE_ID_ASC' + | 'CREDIT_CODES_TABLE_ID_DESC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_ASC' + | 'CREDIT_CODE_ITEMS_TABLE_ID_DESC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_ASC' + | 'CREDIT_REDEMPTIONS_TABLE_ID_DESC' | 'AGGREGATE_TABLE_ID_ASC' | 'AGGREGATE_TABLE_ID_DESC' + | 'LIMIT_CAPS_TABLE_ID_ASC' + | 'LIMIT_CAPS_TABLE_ID_DESC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_ASC' + | 'LIMIT_CAPS_DEFAULTS_TABLE_ID_DESC' + | 'CAP_CHECK_TRIGGER_ASC' + | 'CAP_CHECK_TRIGGER_DESC' + | 'RESOLVE_CAP_FUNCTION_ASC' + | 'RESOLVE_CAP_FUNCTION_DESC' | 'PREFIX_ASC' | 'PREFIX_DESC' | 'MEMBERSHIP_TYPE_ASC' @@ -13879,6 +15749,10 @@ export type StorageModuleOrderBy = | 'ALLOWED_ORIGINS_DESC' | 'RESTRICT_READS_ASC' | 'RESTRICT_READS_DESC' + | 'HAS_PATH_SHARES_ASC' + | 'HAS_PATH_SHARES_DESC' + | 'PATH_SHARES_TABLE_ID_ASC' + | 'PATH_SHARES_TABLE_ID_DESC' | 'UPLOAD_URL_EXPIRY_SECONDS_ASC' | 'UPLOAD_URL_EXPIRY_SECONDS_DESC' | 'DOWNLOAD_URL_EXPIRY_SECONDS_ASC' @@ -13888,7 +15762,21 @@ export type StorageModuleOrderBy = | 'MAX_FILENAME_LENGTH_ASC' | 'MAX_FILENAME_LENGTH_DESC' | 'CACHE_TTL_SECONDS_ASC' - | 'CACHE_TTL_SECONDS_DESC'; + | 'CACHE_TTL_SECONDS_DESC' + | 'MAX_BULK_FILES_ASC' + | 'MAX_BULK_FILES_DESC' + | 'MAX_BULK_TOTAL_SIZE_ASC' + | 'MAX_BULK_TOTAL_SIZE_DESC' + | 'HAS_VERSIONING_ASC' + | 'HAS_VERSIONING_DESC' + | 'HAS_CONTENT_HASH_ASC' + | 'HAS_CONTENT_HASH_DESC' + | 'HAS_CUSTOM_KEYS_ASC' + | 'HAS_CUSTOM_KEYS_DESC' + | 'HAS_AUDIT_LOG_ASC' + | 'HAS_AUDIT_LOG_DESC' + | 'FILE_EVENTS_TABLE_ID_ASC' + | 'FILE_EVENTS_TABLE_ID_DESC'; export type EntityTypeProvisionOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -13939,6 +15827,8 @@ export type EntityTypeProvisionOrderBy = | 'OUT_BUCKETS_TABLE_ID_DESC' | 'OUT_FILES_TABLE_ID_ASC' | 'OUT_FILES_TABLE_ID_DESC' + | 'OUT_PATH_SHARES_TABLE_ID_ASC' + | 'OUT_PATH_SHARES_TABLE_ID_DESC' | 'OUT_INVITES_MODULE_ID_ASC' | 'OUT_INVITES_MODULE_ID_DESC'; export type WebauthnCredentialsModuleOrderBy = @@ -14320,7 +16210,53 @@ export type AppLimitOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC'; +export type AppLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; +export type AppLimitCreditCodeItemOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC'; +export type AppLimitCreditRedemptionOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CREDIT_CODE_ID_ASC' + | 'CREDIT_CODE_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC'; export type OrgLimitOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14341,8 +16277,32 @@ export type OrgLimitOrderBy = | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +export type OrgLimitCreditOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DEFAULT_LIMIT_ID_ASC' + | 'DEFAULT_LIMIT_ID_DESC' + | 'ACTOR_ID_ASC' + | 'ACTOR_ID_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'AMOUNT_ASC' + | 'AMOUNT_DESC' + | 'CREDIT_TYPE_ASC' + | 'CREDIT_TYPE_DESC' + | 'REASON_ASC' + | 'REASON_DESC'; export type OrgLimitAggregateOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14362,7 +16322,15 @@ export type OrgLimitAggregateOrderBy = | 'WINDOW_START_ASC' | 'WINDOW_START_DESC' | 'WINDOW_DURATION_ASC' - | 'WINDOW_DURATION_DESC'; + | 'WINDOW_DURATION_DESC' + | 'PLAN_MAX_ASC' + | 'PLAN_MAX_DESC' + | 'PURCHASED_CREDITS_ASC' + | 'PURCHASED_CREDITS_DESC' + | 'PERIOD_CREDITS_ASC' + | 'PERIOD_CREDITS_DESC' + | 'RESERVED_ASC' + | 'RESERVED_DESC'; export type AppStepOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14749,6 +16717,64 @@ export type AppPermissionDefaultOrderBy = | 'ID_DESC' | 'PERMISSIONS_ASC' | 'PERMISSIONS_DESC'; +export type AppLimitCreditCodeOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'CODE_ASC' + | 'CODE_DESC' + | 'MAX_REDEMPTIONS_ASC' + | 'MAX_REDEMPTIONS_DESC' + | 'CURRENT_REDEMPTIONS_ASC' + | 'CURRENT_REDEMPTIONS_DESC' + | 'EXPIRES_AT_ASC' + | 'EXPIRES_AT_DESC'; +export type AppLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapsDefaultOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type AppLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; +export type OrgLimitCapOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'NAME_ASC' + | 'NAME_DESC' + | 'ENTITY_ID_ASC' + | 'ENTITY_ID_DESC' + | 'MAX_ASC' + | 'MAX_DESC'; export type MembershipTypeOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14873,6 +16899,28 @@ export type CommitOrderBy = | 'TREE_ID_DESC' | 'DATE_ASC' | 'DATE_DESC'; +export type PubkeySettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CRYPTO_NETWORK_ASC' + | 'CRYPTO_NETWORK_DESC' + | 'USER_FIELD_ASC' + | 'USER_FIELD_DESC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_ASC' + | 'SIGN_UP_WITH_KEY_FUNCTION_ID_DESC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_REQUEST_CHALLENGE_FUNCTION_ID_DESC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_ASC' + | 'SIGN_IN_RECORD_FAILURE_FUNCTION_ID_DESC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_ASC' + | 'SIGN_IN_WITH_CHALLENGE_FUNCTION_ID_DESC'; export type RateLimitsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -14931,6 +16979,30 @@ export type OrgMembershipDefaultOrderBy = | 'IS_APPROVED_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC'; +export type RlsSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'AUTHENTICATE_SCHEMA_ID_ASC' + | 'AUTHENTICATE_SCHEMA_ID_DESC' + | 'ROLE_SCHEMA_ID_ASC' + | 'ROLE_SCHEMA_ID_DESC' + | 'AUTHENTICATE_FUNCTION_ID_ASC' + | 'AUTHENTICATE_FUNCTION_ID_DESC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_ASC' + | 'AUTHENTICATE_STRICT_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_FUNCTION_ID_DESC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_ASC' + | 'CURRENT_ROLE_ID_FUNCTION_ID_DESC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_ASC' + | 'CURRENT_USER_AGENT_FUNCTION_ID_DESC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_ASC' + | 'CURRENT_IP_ADDRESS_FUNCTION_ID_DESC'; export type AppLimitEventOrderBy = | 'NATURAL' | 'NAME_ASC' @@ -14971,32 +17043,6 @@ export type OrgLimitEventOrderBy = | 'MAX_AT_EVENT_DESC' | 'REASON_ASC' | 'REASON_DESC'; -export type PlansModuleOrderBy = - | 'NATURAL' - | 'PRIMARY_KEY_ASC' - | 'PRIMARY_KEY_DESC' - | 'ID_ASC' - | 'ID_DESC' - | 'DATABASE_ID_ASC' - | 'DATABASE_ID_DESC' - | 'SCHEMA_ID_ASC' - | 'SCHEMA_ID_DESC' - | 'PRIVATE_SCHEMA_ID_ASC' - | 'PRIVATE_SCHEMA_ID_DESC' - | 'PLANS_TABLE_ID_ASC' - | 'PLANS_TABLE_ID_DESC' - | 'PLANS_TABLE_NAME_ASC' - | 'PLANS_TABLE_NAME_DESC' - | 'PLAN_LIMITS_TABLE_ID_ASC' - | 'PLAN_LIMITS_TABLE_ID_DESC' - | 'PLAN_LIMITS_TABLE_NAME_ASC' - | 'PLAN_LIMITS_TABLE_NAME_DESC' - | 'APPLY_PLAN_FUNCTION_ASC' - | 'APPLY_PLAN_FUNCTION_DESC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' - | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' - | 'PREFIX_ASC' - | 'PREFIX_DESC'; export type RlsModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15023,6 +17069,64 @@ export type RlsModuleOrderBy = | 'CURRENT_ROLE_DESC' | 'CURRENT_ROLE_ID_ASC' | 'CURRENT_ROLE_ID_DESC'; +export type DatabaseSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'ENABLE_AGGREGATES_ASC' + | 'ENABLE_AGGREGATES_DESC' + | 'ENABLE_POSTGIS_ASC' + | 'ENABLE_POSTGIS_DESC' + | 'ENABLE_SEARCH_ASC' + | 'ENABLE_SEARCH_DESC' + | 'ENABLE_DIRECT_UPLOADS_ASC' + | 'ENABLE_DIRECT_UPLOADS_DESC' + | 'ENABLE_PRESIGNED_UPLOADS_ASC' + | 'ENABLE_PRESIGNED_UPLOADS_DESC' + | 'ENABLE_MANY_TO_MANY_ASC' + | 'ENABLE_MANY_TO_MANY_DESC' + | 'ENABLE_CONNECTION_FILTER_ASC' + | 'ENABLE_CONNECTION_FILTER_DESC' + | 'ENABLE_LTREE_ASC' + | 'ENABLE_LTREE_DESC' + | 'ENABLE_LLM_ASC' + | 'ENABLE_LLM_DESC' + | 'OPTIONS_ASC' + | 'OPTIONS_DESC'; +export type PlansModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PLANS_TABLE_ID_ASC' + | 'PLANS_TABLE_ID_DESC' + | 'PLANS_TABLE_NAME_ASC' + | 'PLANS_TABLE_NAME_DESC' + | 'PLAN_LIMITS_TABLE_ID_ASC' + | 'PLAN_LIMITS_TABLE_ID_DESC' + | 'PLAN_LIMITS_TABLE_NAME_ASC' + | 'PLAN_LIMITS_TABLE_NAME_DESC' + | 'PLAN_PRICING_TABLE_ID_ASC' + | 'PLAN_PRICING_TABLE_ID_DESC' + | 'PLAN_OVERRIDES_TABLE_ID_ASC' + | 'PLAN_OVERRIDES_TABLE_ID_DESC' + | 'APPLY_PLAN_FUNCTION_ASC' + | 'APPLY_PLAN_FUNCTION_DESC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_ASC' + | 'APPLY_PLAN_AGGREGATE_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; export type SqlActionOrderBy = | 'NATURAL' | 'ID_ASC' @@ -15169,6 +17273,46 @@ export type OrgMembershipSettingOrderBy = | 'POPULATE_MEMBER_EMAIL_DESC' | 'LIMIT_ALLOCATION_MODE_ASC' | 'LIMIT_ALLOCATION_MODE_DESC'; +export type WebauthnSettingOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'CREDENTIALS_SCHEMA_ID_ASC' + | 'CREDENTIALS_SCHEMA_ID_DESC' + | 'SESSIONS_SCHEMA_ID_ASC' + | 'SESSIONS_SCHEMA_ID_DESC' + | 'SESSION_SECRETS_SCHEMA_ID_ASC' + | 'SESSION_SECRETS_SCHEMA_ID_DESC' + | 'CREDENTIALS_TABLE_ID_ASC' + | 'CREDENTIALS_TABLE_ID_DESC' + | 'SESSIONS_TABLE_ID_ASC' + | 'SESSIONS_TABLE_ID_DESC' + | 'SESSION_CREDENTIALS_TABLE_ID_ASC' + | 'SESSION_CREDENTIALS_TABLE_ID_DESC' + | 'SESSION_SECRETS_TABLE_ID_ASC' + | 'SESSION_SECRETS_TABLE_ID_DESC' + | 'USER_FIELD_ID_ASC' + | 'USER_FIELD_ID_DESC' + | 'RP_ID_ASC' + | 'RP_ID_DESC' + | 'RP_NAME_ASC' + | 'RP_NAME_DESC' + | 'ORIGIN_ALLOWLIST_ASC' + | 'ORIGIN_ALLOWLIST_DESC' + | 'ATTESTATION_TYPE_ASC' + | 'ATTESTATION_TYPE_DESC' + | 'REQUIRE_USER_VERIFICATION_ASC' + | 'REQUIRE_USER_VERIFICATION_DESC' + | 'RESIDENT_KEY_ASC' + | 'RESIDENT_KEY_DESC' + | 'CHALLENGE_EXPIRY_SECONDS_ASC' + | 'CHALLENGE_EXPIRY_SECONDS_DESC'; export type AppMembershipOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15205,6 +17349,50 @@ export type AppMembershipOrderBy = | 'ACTOR_ID_DESC' | 'PROFILE_ID_ASC' | 'PROFILE_ID_DESC'; +export type BillingProviderModuleOrderBy = + | 'NATURAL' + | 'PRIMARY_KEY_ASC' + | 'PRIMARY_KEY_DESC' + | 'ID_ASC' + | 'ID_DESC' + | 'DATABASE_ID_ASC' + | 'DATABASE_ID_DESC' + | 'SCHEMA_ID_ASC' + | 'SCHEMA_ID_DESC' + | 'PRIVATE_SCHEMA_ID_ASC' + | 'PRIVATE_SCHEMA_ID_DESC' + | 'PROVIDER_ASC' + | 'PROVIDER_DESC' + | 'PRODUCTS_TABLE_ID_ASC' + | 'PRODUCTS_TABLE_ID_DESC' + | 'PRICES_TABLE_ID_ASC' + | 'PRICES_TABLE_ID_DESC' + | 'SUBSCRIPTIONS_TABLE_ID_ASC' + | 'SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_ID_ASC' + | 'BILLING_CUSTOMERS_TABLE_ID_DESC' + | 'BILLING_CUSTOMERS_TABLE_NAME_ASC' + | 'BILLING_CUSTOMERS_TABLE_NAME_DESC' + | 'BILLING_PRODUCTS_TABLE_ID_ASC' + | 'BILLING_PRODUCTS_TABLE_ID_DESC' + | 'BILLING_PRODUCTS_TABLE_NAME_ASC' + | 'BILLING_PRODUCTS_TABLE_NAME_DESC' + | 'BILLING_PRICES_TABLE_ID_ASC' + | 'BILLING_PRICES_TABLE_ID_DESC' + | 'BILLING_PRICES_TABLE_NAME_ASC' + | 'BILLING_PRICES_TABLE_NAME_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_ID_DESC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_ASC' + | 'BILLING_SUBSCRIPTIONS_TABLE_NAME_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_ID_DESC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_ASC' + | 'BILLING_WEBHOOK_EVENTS_TABLE_NAME_DESC' + | 'PROCESS_BILLING_EVENT_FUNCTION_ASC' + | 'PROCESS_BILLING_EVENT_FUNCTION_DESC' + | 'PREFIX_ASC' + | 'PREFIX_DESC'; export type HierarchyModuleOrderBy = | 'NATURAL' | 'PRIMARY_KEY_ASC' @@ -15658,6 +17846,38 @@ export interface DeleteSpatialRelationInput { clientMutationId?: string; id: string; } +export interface CreatePartitionInput { + clientMutationId?: string; + partition: { + databaseId: string; + tableId: string; + strategy: string; + partitionKeyId: string; + interval?: string; + retention?: string; + lookahead?: number; + namingPattern?: string; + }; +} +export interface PartitionPatch { + databaseId?: string | null; + tableId?: string | null; + strategy?: string | null; + partitionKeyId?: string | null; + interval?: string | null; + retention?: string | null; + lookahead?: number | null; + namingPattern?: string | null; +} +export interface UpdatePartitionInput { + clientMutationId?: string; + id: string; + partitionPatch: PartitionPatch; +} +export interface DeletePartitionInput { + clientMutationId?: string; + id: string; +} export interface CreateForeignKeyConstraintInput { clientMutationId?: string; foreignKeyConstraint: { @@ -16368,6 +18588,28 @@ export interface DeleteEnumInput { clientMutationId?: string; id: string; } +export interface CreateFunctionInput { + clientMutationId?: string; + function: { + databaseId: string; + schemaId: string; + name: string; + }; +} +export interface FunctionPatch { + databaseId?: string | null; + schemaId?: string | null; + name?: string | null; +} +export interface UpdateFunctionInput { + clientMutationId?: string; + id: string; + functionPatch: FunctionPatch; +} +export interface DeleteFunctionInput { + clientMutationId?: string; + id: string; +} export interface CreateApiSchemaInput { clientMutationId?: string; apiSchema: { @@ -16513,6 +18755,28 @@ export interface DeleteSiteThemeInput { clientMutationId?: string; id: string; } +export interface CreateCorsSettingInput { + clientMutationId?: string; + corsSetting: { + databaseId: string; + apiId?: string; + allowedOrigins?: string[]; + }; +} +export interface CorsSettingPatch { + databaseId?: string | null; + apiId?: string | null; + allowedOrigins?: string[] | null; +} +export interface UpdateCorsSettingInput { + clientMutationId?: string; + id: string; + corsSettingPatch: CorsSettingPatch; +} +export interface DeleteCorsSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateTriggerFunctionInput { clientMutationId?: string; triggerFunction: { @@ -16670,6 +18934,46 @@ export interface DeleteAppInput { clientMutationId?: string; id: string; } +export interface CreateApiSettingInput { + clientMutationId?: string; + apiSetting: { + databaseId: string; + apiId: string; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: Record; + }; +} +export interface ApiSettingPatch { + databaseId?: string | null; + apiId?: string | null; + enableAggregates?: boolean | null; + enablePostgis?: boolean | null; + enableSearch?: boolean | null; + enableDirectUploads?: boolean | null; + enablePresignedUploads?: boolean | null; + enableManyToMany?: boolean | null; + enableConnectionFilter?: boolean | null; + enableLtree?: boolean | null; + enableLlm?: boolean | null; + options?: Record | null; +} +export interface UpdateApiSettingInput { + clientMutationId?: string; + id: string; + apiSettingPatch: ApiSettingPatch; +} +export interface DeleteApiSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateConnectedAccountsModuleInput { clientMutationId?: string; connectedAccountsModule: { @@ -17002,7 +19306,16 @@ export interface CreateLimitsModuleInput { limitDecrementTrigger?: string; limitUpdateTrigger?: string; limitCheckFunction?: string; + limitCreditsTableId?: string; + eventsTableId?: string; + creditCodesTableId?: string; + creditCodeItemsTableId?: string; + creditRedemptionsTableId?: string; aggregateTableId?: string; + limitCapsTableId?: string; + limitCapsDefaultsTableId?: string; + capCheckTrigger?: string; + resolveCapFunction?: string; prefix?: string; membershipType: number; entityTableId?: string; @@ -17023,7 +19336,16 @@ export interface LimitsModulePatch { limitDecrementTrigger?: string | null; limitUpdateTrigger?: string | null; limitCheckFunction?: string | null; + limitCreditsTableId?: string | null; + eventsTableId?: string | null; + creditCodesTableId?: string | null; + creditCodeItemsTableId?: string | null; + creditRedemptionsTableId?: string | null; aggregateTableId?: string | null; + limitCapsTableId?: string | null; + limitCapsDefaultsTableId?: string | null; + capCheckTrigger?: string | null; + resolveCapFunction?: string | null; prefix?: string | null; membershipType?: number | null; entityTableId?: string | null; @@ -17563,11 +19885,20 @@ export interface CreateStorageModuleInput { provider?: string; allowedOrigins?: string[]; restrictReads?: boolean; + hasPathShares?: boolean; + pathSharesTableId?: string; uploadUrlExpirySeconds?: number; downloadUrlExpirySeconds?: number; defaultMaxFileSize?: string; maxFilenameLength?: number; cacheTtlSeconds?: number; + maxBulkFiles?: number; + maxBulkTotalSize?: string; + hasVersioning?: boolean; + hasContentHash?: boolean; + hasCustomKeys?: boolean; + hasAuditLog?: boolean; + fileEventsTableId?: string; }; } export interface StorageModulePatch { @@ -17587,11 +19918,20 @@ export interface StorageModulePatch { provider?: string | null; allowedOrigins?: string[] | null; restrictReads?: boolean | null; + hasPathShares?: boolean | null; + pathSharesTableId?: string | null; uploadUrlExpirySeconds?: number | null; downloadUrlExpirySeconds?: number | null; defaultMaxFileSize?: string | null; maxFilenameLength?: number | null; cacheTtlSeconds?: number | null; + maxBulkFiles?: number | null; + maxBulkTotalSize?: string | null; + hasVersioning?: boolean | null; + hasContentHash?: boolean | null; + hasCustomKeys?: boolean | null; + hasAuditLog?: boolean | null; + fileEventsTableId?: string | null; } export interface UpdateStorageModuleInput { clientMutationId?: string; @@ -17627,6 +19967,7 @@ export interface CreateEntityTypeProvisionInput { outStorageModuleId?: string; outBucketsTableId?: string; outFilesTableId?: string; + outPathSharesTableId?: string; outInvitesModuleId?: string; }; } @@ -17653,6 +19994,7 @@ export interface EntityTypeProvisionPatch { outStorageModuleId?: string | null; outBucketsTableId?: string | null; outFilesTableId?: string | null; + outPathSharesTableId?: string | null; outInvitesModuleId?: string | null; } export interface UpdateEntityTypeProvisionInput { @@ -18153,6 +20495,9 @@ export interface CreateAppLimitInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; }; } export interface AppLimitPatch { @@ -18163,6 +20508,9 @@ export interface AppLimitPatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; } export interface UpdateAppLimitInput { clientMutationId?: string; @@ -18173,6 +20521,76 @@ export interface DeleteAppLimitInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditInput { + clientMutationId?: string; + appLimitCredit: { + defaultLimitId: string; + actorId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface AppLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateAppLimitCreditInput { + clientMutationId?: string; + id: string; + appLimitCreditPatch: AppLimitCreditPatch; +} +export interface DeleteAppLimitCreditInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditCodeItemInput { + clientMutationId?: string; + appLimitCreditCodeItem: { + creditCodeId: string; + defaultLimitId: string; + amount: string; + creditType?: string; + }; +} +export interface AppLimitCreditCodeItemPatch { + creditCodeId?: string | null; + defaultLimitId?: string | null; + amount?: string | null; + creditType?: string | null; +} +export interface UpdateAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; + appLimitCreditCodeItemPatch: AppLimitCreditCodeItemPatch; +} +export interface DeleteAppLimitCreditCodeItemInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCreditRedemptionInput { + clientMutationId?: string; + appLimitCreditRedemption: { + creditCodeId: string; + entityId: string; + }; +} +export interface AppLimitCreditRedemptionPatch { + creditCodeId?: string | null; + entityId?: string | null; +} +export interface UpdateAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; + appLimitCreditRedemptionPatch: AppLimitCreditRedemptionPatch; +} +export interface DeleteAppLimitCreditRedemptionInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgLimitInput { clientMutationId?: string; orgLimit: { @@ -18183,6 +20601,9 @@ export interface CreateOrgLimitInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; entityId: string; }; } @@ -18194,6 +20615,9 @@ export interface OrgLimitPatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; entityId?: string | null; } export interface UpdateOrgLimitInput { @@ -18205,6 +20629,34 @@ export interface DeleteOrgLimitInput { clientMutationId?: string; id: string; } +export interface CreateOrgLimitCreditInput { + clientMutationId?: string; + orgLimitCredit: { + defaultLimitId: string; + actorId?: string; + entityId?: string; + amount: string; + creditType?: string; + reason?: string; + }; +} +export interface OrgLimitCreditPatch { + defaultLimitId?: string | null; + actorId?: string | null; + entityId?: string | null; + amount?: string | null; + creditType?: string | null; + reason?: string | null; +} +export interface UpdateOrgLimitCreditInput { + clientMutationId?: string; + id: string; + orgLimitCreditPatch: OrgLimitCreditPatch; +} +export interface DeleteOrgLimitCreditInput { + clientMutationId?: string; + id: string; +} export interface CreateOrgLimitAggregateInput { clientMutationId?: string; orgLimitAggregate: { @@ -18215,6 +20667,10 @@ export interface CreateOrgLimitAggregateInput { softMax?: string; windowStart?: string; windowDuration?: IntervalInput; + planMax?: string; + purchasedCredits?: string; + periodCredits?: string; + reserved?: string; }; } export interface OrgLimitAggregatePatch { @@ -18225,6 +20681,10 @@ export interface OrgLimitAggregatePatch { softMax?: string | null; windowStart?: string | null; windowDuration?: IntervalInput | null; + planMax?: string | null; + purchasedCredits?: string | null; + periodCredits?: string | null; + reserved?: string | null; } export interface UpdateOrgLimitAggregateInput { clientMutationId?: string; @@ -18766,6 +21226,114 @@ export interface DeleteAppPermissionDefaultInput { clientMutationId?: string; id: string; } +export interface CreateAppLimitCreditCodeInput { + clientMutationId?: string; + appLimitCreditCode: { + code: string; + maxRedemptions?: number; + currentRedemptions?: number; + expiresAt?: string; + }; +} +export interface AppLimitCreditCodePatch { + code?: string | null; + maxRedemptions?: number | null; + currentRedemptions?: number | null; + expiresAt?: string | null; +} +export interface UpdateAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; + appLimitCreditCodePatch: AppLimitCreditCodePatch; +} +export interface DeleteAppLimitCreditCodeInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapsDefaultInput { + clientMutationId?: string; + appLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface AppLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + appLimitCapsDefaultPatch: AppLimitCapsDefaultPatch; +} +export interface DeleteAppLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapsDefaultInput { + clientMutationId?: string; + orgLimitCapsDefault: { + name: string; + max?: string; + }; +} +export interface OrgLimitCapsDefaultPatch { + name?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; + orgLimitCapsDefaultPatch: OrgLimitCapsDefaultPatch; +} +export interface DeleteOrgLimitCapsDefaultInput { + clientMutationId?: string; + id: string; +} +export interface CreateAppLimitCapInput { + clientMutationId?: string; + appLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface AppLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateAppLimitCapInput { + clientMutationId?: string; + id: string; + appLimitCapPatch: AppLimitCapPatch; +} +export interface DeleteAppLimitCapInput { + clientMutationId?: string; + id: string; +} +export interface CreateOrgLimitCapInput { + clientMutationId?: string; + orgLimitCap: { + name: string; + entityId: string; + max?: string; + }; +} +export interface OrgLimitCapPatch { + name?: string | null; + entityId?: string | null; + max?: string | null; +} +export interface UpdateOrgLimitCapInput { + clientMutationId?: string; + id: string; + orgLimitCapPatch: OrgLimitCapPatch; +} +export interface DeleteOrgLimitCapInput { + clientMutationId?: string; + id: string; +} export interface CreateMembershipTypeInput { clientMutationId?: string; membershipType: { @@ -18972,6 +21540,38 @@ export interface DeleteCommitInput { clientMutationId?: string; id: string; } +export interface CreatePubkeySettingInput { + clientMutationId?: string; + pubkeySetting: { + databaseId: string; + schemaId?: string; + cryptoNetwork?: string; + userField?: string; + signUpWithKeyFunctionId?: string; + signInRequestChallengeFunctionId?: string; + signInRecordFailureFunctionId?: string; + signInWithChallengeFunctionId?: string; + }; +} +export interface PubkeySettingPatch { + databaseId?: string | null; + schemaId?: string | null; + cryptoNetwork?: string | null; + userField?: string | null; + signUpWithKeyFunctionId?: string | null; + signInRequestChallengeFunctionId?: string | null; + signInRecordFailureFunctionId?: string | null; + signInWithChallengeFunctionId?: string | null; +} +export interface UpdatePubkeySettingInput { + clientMutationId?: string; + id: string; + pubkeySettingPatch: PubkeySettingPatch; +} +export interface DeletePubkeySettingInput { + clientMutationId?: string; + id: string; +} export interface CreateRateLimitsModuleInput { clientMutationId?: string; rateLimitsModule: { @@ -19052,6 +21652,40 @@ export interface DeleteOrgMembershipDefaultInput { clientMutationId?: string; id: string; } +export interface CreateRlsSettingInput { + clientMutationId?: string; + rlsSetting: { + databaseId: string; + authenticateSchemaId?: string; + roleSchemaId?: string; + authenticateFunctionId?: string; + authenticateStrictFunctionId?: string; + currentRoleFunctionId?: string; + currentRoleIdFunctionId?: string; + currentUserAgentFunctionId?: string; + currentIpAddressFunctionId?: string; + }; +} +export interface RlsSettingPatch { + databaseId?: string | null; + authenticateSchemaId?: string | null; + roleSchemaId?: string | null; + authenticateFunctionId?: string | null; + authenticateStrictFunctionId?: string | null; + currentRoleFunctionId?: string | null; + currentRoleIdFunctionId?: string | null; + currentUserAgentFunctionId?: string | null; + currentIpAddressFunctionId?: string | null; +} +export interface UpdateRlsSettingInput { + clientMutationId?: string; + id: string; + rlsSettingPatch: RlsSettingPatch; +} +export interface DeleteRlsSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateAppLimitEventInput { clientMutationId?: string; appLimitEvent: { @@ -19120,42 +21754,6 @@ export interface DeleteOrgLimitEventInput { clientMutationId?: string; id: string; } -export interface CreatePlansModuleInput { - clientMutationId?: string; - plansModule: { - databaseId: string; - schemaId?: string; - privateSchemaId?: string; - plansTableId?: string; - plansTableName?: string; - planLimitsTableId?: string; - planLimitsTableName?: string; - applyPlanFunction?: string; - applyPlanAggregateFunction?: string; - prefix?: string; - }; -} -export interface PlansModulePatch { - databaseId?: string | null; - schemaId?: string | null; - privateSchemaId?: string | null; - plansTableId?: string | null; - plansTableName?: string | null; - planLimitsTableId?: string | null; - planLimitsTableName?: string | null; - applyPlanFunction?: string | null; - applyPlanAggregateFunction?: string | null; - prefix?: string | null; -} -export interface UpdatePlansModuleInput { - clientMutationId?: string; - id: string; - plansModulePatch: PlansModulePatch; -} -export interface DeletePlansModuleInput { - clientMutationId?: string; - id: string; -} export interface CreateRlsModuleInput { clientMutationId?: string; rlsModule: { @@ -19192,6 +21790,84 @@ export interface DeleteRlsModuleInput { clientMutationId?: string; id: string; } +export interface CreateDatabaseSettingInput { + clientMutationId?: string; + databaseSetting: { + databaseId: string; + enableAggregates?: boolean; + enablePostgis?: boolean; + enableSearch?: boolean; + enableDirectUploads?: boolean; + enablePresignedUploads?: boolean; + enableManyToMany?: boolean; + enableConnectionFilter?: boolean; + enableLtree?: boolean; + enableLlm?: boolean; + options?: Record; + }; +} +export interface DatabaseSettingPatch { + databaseId?: string | null; + enableAggregates?: boolean | null; + enablePostgis?: boolean | null; + enableSearch?: boolean | null; + enableDirectUploads?: boolean | null; + enablePresignedUploads?: boolean | null; + enableManyToMany?: boolean | null; + enableConnectionFilter?: boolean | null; + enableLtree?: boolean | null; + enableLlm?: boolean | null; + options?: Record | null; +} +export interface UpdateDatabaseSettingInput { + clientMutationId?: string; + id: string; + databaseSettingPatch: DatabaseSettingPatch; +} +export interface DeleteDatabaseSettingInput { + clientMutationId?: string; + id: string; +} +export interface CreatePlansModuleInput { + clientMutationId?: string; + plansModule: { + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + plansTableId?: string; + plansTableName?: string; + planLimitsTableId?: string; + planLimitsTableName?: string; + planPricingTableId?: string; + planOverridesTableId?: string; + applyPlanFunction?: string; + applyPlanAggregateFunction?: string; + prefix?: string; + }; +} +export interface PlansModulePatch { + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + plansTableId?: string | null; + plansTableName?: string | null; + planLimitsTableId?: string | null; + planLimitsTableName?: string | null; + planPricingTableId?: string | null; + planOverridesTableId?: string | null; + applyPlanFunction?: string | null; + applyPlanAggregateFunction?: string | null; + prefix?: string | null; +} +export interface UpdatePlansModuleInput { + clientMutationId?: string; + id: string; + plansModulePatch: PlansModulePatch; +} +export interface DeletePlansModuleInput { + clientMutationId?: string; + id: string; +} export interface CreateSqlActionInput { clientMutationId?: string; sqlAction: { @@ -19373,6 +22049,56 @@ export interface DeleteOrgMembershipSettingInput { clientMutationId?: string; id: string; } +export interface CreateWebauthnSettingInput { + clientMutationId?: string; + webauthnSetting: { + databaseId: string; + schemaId?: string; + credentialsSchemaId?: string; + sessionsSchemaId?: string; + sessionSecretsSchemaId?: string; + credentialsTableId?: string; + sessionsTableId?: string; + sessionCredentialsTableId?: string; + sessionSecretsTableId?: string; + userFieldId?: string; + rpId?: string; + rpName?: string; + originAllowlist?: string[]; + attestationType?: string; + requireUserVerification?: boolean; + residentKey?: string; + challengeExpirySeconds?: string; + }; +} +export interface WebauthnSettingPatch { + databaseId?: string | null; + schemaId?: string | null; + credentialsSchemaId?: string | null; + sessionsSchemaId?: string | null; + sessionSecretsSchemaId?: string | null; + credentialsTableId?: string | null; + sessionsTableId?: string | null; + sessionCredentialsTableId?: string | null; + sessionSecretsTableId?: string | null; + userFieldId?: string | null; + rpId?: string | null; + rpName?: string | null; + originAllowlist?: string[] | null; + attestationType?: string | null; + requireUserVerification?: boolean | null; + residentKey?: string | null; + challengeExpirySeconds?: string | null; +} +export interface UpdateWebauthnSettingInput { + clientMutationId?: string; + id: string; + webauthnSettingPatch: WebauthnSettingPatch; +} +export interface DeleteWebauthnSettingInput { + clientMutationId?: string; + id: string; +} export interface CreateAppMembershipInput { clientMutationId?: string; appMembership: { @@ -19415,6 +22141,60 @@ export interface DeleteAppMembershipInput { clientMutationId?: string; id: string; } +export interface CreateBillingProviderModuleInput { + clientMutationId?: string; + billingProviderModule: { + databaseId: string; + schemaId?: string; + privateSchemaId?: string; + provider?: string; + productsTableId?: string; + pricesTableId?: string; + subscriptionsTableId?: string; + billingCustomersTableId?: string; + billingCustomersTableName?: string; + billingProductsTableId?: string; + billingProductsTableName?: string; + billingPricesTableId?: string; + billingPricesTableName?: string; + billingSubscriptionsTableId?: string; + billingSubscriptionsTableName?: string; + billingWebhookEventsTableId?: string; + billingWebhookEventsTableName?: string; + processBillingEventFunction?: string; + prefix?: string; + }; +} +export interface BillingProviderModulePatch { + databaseId?: string | null; + schemaId?: string | null; + privateSchemaId?: string | null; + provider?: string | null; + productsTableId?: string | null; + pricesTableId?: string | null; + subscriptionsTableId?: string | null; + billingCustomersTableId?: string | null; + billingCustomersTableName?: string | null; + billingProductsTableId?: string | null; + billingProductsTableName?: string | null; + billingPricesTableId?: string | null; + billingPricesTableName?: string | null; + billingSubscriptionsTableId?: string | null; + billingSubscriptionsTableName?: string | null; + billingWebhookEventsTableId?: string | null; + billingWebhookEventsTableName?: string | null; + processBillingEventFunction?: string | null; + prefix?: string | null; +} +export interface UpdateBillingProviderModuleInput { + clientMutationId?: string; + id: string; + billingProviderModulePatch: BillingProviderModulePatch; +} +export interface DeleteBillingProviderModuleInput { + clientMutationId?: string; + id: string; +} export interface CreateHierarchyModuleInput { clientMutationId?: string; hierarchyModule: { @@ -19491,7 +22271,9 @@ export const connectionFieldsMap = { enums: 'Enum', embeddingChunks: 'EmbeddingChunk', spatialRelations: 'SpatialRelation', + functions: 'Function', databaseTransfers: 'DatabaseTransfer', + partitions: 'Partition', apis: 'Api', apiModules: 'ApiModule', apiSchemas: 'ApiSchema', @@ -19501,6 +22283,8 @@ export const connectionFieldsMap = { siteMetadata: 'SiteMetadatum', siteModules: 'SiteModule', siteThemes: 'SiteTheme', + apiSettings: 'ApiSetting', + corsSettings: 'CorsSetting', connectedAccountsModules: 'ConnectedAccountsModule', cryptoAddressesModules: 'CryptoAddressesModule', cryptoAuthModules: 'CryptoAuthModule', @@ -19539,6 +22323,7 @@ export const connectionFieldsMap = { views: 'View', defaultPrivileges: 'DefaultPrivilege', enums: 'Enum', + functions: 'Function', apiSchemas: 'ApiSchema', sessionSecretsModules: 'SessionSecretsModule', identityProvidersModulesByPrivateSchemaId: 'IdentityProvidersModule', @@ -19571,6 +22356,7 @@ export const connectionFieldsMap = { Field: { spatialRelations: 'SpatialRelation', spatialRelationsByRefFieldId: 'SpatialRelation', + partitionsByPartitionKeyId: 'Partition', }, View: { viewTables: 'ViewTable', @@ -19581,6 +22367,7 @@ export const connectionFieldsMap = { apiModules: 'ApiModule', apiSchemas: 'ApiSchema', domains: 'Domain', + corsSettings: 'CorsSetting', }, Site: { domains: 'Domain', @@ -19599,6 +22386,17 @@ export const connectionFieldsMap = { agentMessagesByThreadId: 'AgentMessage', agentTasksByThreadId: 'AgentTask', }, + AppLimitCreditCode: { + appLimitCreditCodeItemsByCreditCodeId: 'AppLimitCreditCodeItem', + appLimitCreditRedemptionsByCreditCodeId: 'AppLimitCreditRedemption', + }, + AppLimitDefault: { + appLimitCreditsByDefaultLimitId: 'AppLimitCredit', + appLimitCreditCodeItemsByDefaultLimitId: 'AppLimitCreditCodeItem', + }, + OrgLimitDefault: { + orgLimitCreditsByDefaultLimitId: 'OrgLimitCredit', + }, User: { ownedDatabases: 'Database', appAdminGrantsByActorId: 'AppAdminGrant', @@ -19631,8 +22429,11 @@ export const connectionFieldsMap = { childOrgChartEdgeGrants: 'OrgChartEdgeGrant', orgPermissionDefaultsByEntityId: 'OrgPermissionDefault', appLimitsByActorId: 'AppLimit', + appLimitCreditsByActorId: 'AppLimitCredit', orgLimitsByActorId: 'OrgLimit', orgLimitsByEntityId: 'OrgLimit', + orgLimitCreditsByActorId: 'OrgLimitCredit', + orgLimitCreditsByEntityId: 'OrgLimitCredit', orgLimitAggregatesByEntityId: 'OrgLimitAggregate', appStepsByActorId: 'AppStep', appAchievementsByActorId: 'AppAchievement', @@ -19788,6 +22589,11 @@ export interface SetFieldOrderInput { clientMutationId?: string; fieldIds?: string[]; } +export interface AppendSmartTagsInput { + clientMutationId?: string; + pTableId?: string; + pTags?: Record; +} export interface ProvisionUniqueConstraintInput { clientMutationId?: string; databaseId?: string; @@ -19963,25 +22769,6 @@ export interface ProvisionTableInput { uniqueConstraints?: Record; description?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -20180,6 +22967,15 @@ export interface DatabaseToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where at least one related entity matches. */ @@ -20189,6 +22985,15 @@ export interface DatabaseToManyDatabaseTransferFilter { /** Filters to entities where no related entity matches. */ none?: DatabaseTransferFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `Api` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyApiFilter { /** Filters to entities where at least one related entity matches. */ @@ -20270,6 +23075,24 @@ export interface DatabaseToManySiteThemeFilter { /** Filters to entities where no related entity matches. */ none?: SiteThemeFilter; } +/** A filter to be used against many `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyApiSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: ApiSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: ApiSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: ApiSettingFilter; +} +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} /** A filter to be used against many `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseToManyConnectedAccountsModuleFilter { /** Filters to entities where at least one related entity matches. */ @@ -20619,6 +23442,15 @@ export interface SchemaToManyEnumFilter { /** Filters to entities where no related entity matches. */ none?: EnumFilter; } +/** A filter to be used against many `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface SchemaToManyFunctionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: FunctionFilter; + /** Filters to entities where every related entity matches. */ + every?: FunctionFilter; + /** Filters to entities where no related entity matches. */ + none?: FunctionFilter; +} /** A filter to be used against many `ApiSchema` object types. All fields are combined with a logical ‘and.’ */ export interface SchemaToManyApiSchemaFilter { /** Filters to entities where at least one related entity matches. */ @@ -20817,6 +23649,15 @@ export interface FieldToManySpatialRelationFilter { /** Filters to entities where no related entity matches. */ none?: SpatialRelationFilter; } +/** A filter to be used against many `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface FieldToManyPartitionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: PartitionFilter; + /** Filters to entities where every related entity matches. */ + every?: PartitionFilter; + /** Filters to entities where no related entity matches. */ + none?: PartitionFilter; +} /** A filter to be used against many `ViewTable` object types. All fields are combined with a logical ‘and.’ */ export interface ViewToManyViewTableFilter { /** Filters to entities where at least one related entity matches. */ @@ -21022,6 +23863,15 @@ export interface ApiToManyDomainFilter { /** Filters to entities where no related entity matches. */ none?: DomainFilter; } +/** A filter to be used against many `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiToManyCorsSettingFilter { + /** Filters to entities where at least one related entity matches. */ + some?: CorsSettingFilter; + /** Filters to entities where every related entity matches. */ + every?: CorsSettingFilter; + /** Filters to entities where no related entity matches. */ + none?: CorsSettingFilter; +} /** A filter to be used against ConstructiveInternalTypeAttachment fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeAttachmentFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21453,6 +24303,24 @@ export interface AgentThreadToManyAgentTaskFilter { /** Filters to entities where no related entity matches. */ none?: AgentTaskFilter; } +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditRedemptionFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditRedemptionFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditRedemptionFilter; +} /** A filter to be used against ConstructiveInternalTypeUpload fields. All fields are combined with a logical ‘and.’ */ export interface ConstructiveInternalTypeUploadFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21488,6 +24356,33 @@ export interface ConstructiveInternalTypeUploadFilter { /** Contained by the specified JSON. */ containedBy?: ConstructiveInternalTypeUpload; } +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} +/** A filter to be used against many `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultToManyAppLimitCreditCodeItemFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditCodeItemFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditCodeItemFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditCodeItemFilter; +} +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against String fields with pg_trgm support. All fields are combined with a logical ‘and.’ */ export interface StringTrgmFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -21695,6 +24590,15 @@ export interface UserToManyAppLimitFilter { /** Filters to entities where no related entity matches. */ none?: AppLimitFilter; } +/** A filter to be used against many `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyAppLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: AppLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: AppLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: AppLimitCreditFilter; +} /** A filter to be used against many `OrgLimit` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitFilter { /** Filters to entities where at least one related entity matches. */ @@ -21704,6 +24608,15 @@ export interface UserToManyOrgLimitFilter { /** Filters to entities where no related entity matches. */ none?: OrgLimitFilter; } +/** A filter to be used against many `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface UserToManyOrgLimitCreditFilter { + /** Filters to entities where at least one related entity matches. */ + some?: OrgLimitCreditFilter; + /** Filters to entities where every related entity matches. */ + every?: OrgLimitCreditFilter; + /** Filters to entities where no related entity matches. */ + none?: OrgLimitCreditFilter; +} /** A filter to be used against many `OrgLimitAggregate` object types. All fields are combined with a logical ‘and.’ */ export interface UserToManyOrgLimitAggregateFilter { /** Filters to entities where at least one related entity matches. */ @@ -21932,6 +24845,10 @@ export interface SchemaFilter { enums?: SchemaToManyEnumFilter; /** `enums` exist. */ enumsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: SchemaToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `apiSchemas` relation. */ apiSchemas?: SchemaToManyApiSchemaFilter; /** `apiSchemas` exist. */ @@ -22067,6 +24984,10 @@ export interface TableFilter { spatialRelations?: TableToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `partition` relation. */ + partition?: PartitionFilter; + /** A related `partition` exists. */ + partitionExists?: boolean; /** Filter by the object’s `secureTableProvisions` relation. */ secureTableProvisions?: TableToManySecureTableProvisionFilter; /** `secureTableProvisions` exist. */ @@ -22201,6 +25122,10 @@ export interface FieldFilter { spatialRelationsByRefFieldId?: FieldToManySpatialRelationFilter; /** `spatialRelationsByRefFieldId` exist. */ spatialRelationsByRefFieldIdExist?: boolean; + /** Filter by the object’s `partitionsByPartitionKeyId` relation. */ + partitionsByPartitionKeyId?: FieldToManyPartitionFilter; + /** `partitionsByPartitionKeyId` exist. */ + partitionsByPartitionKeyIdExist?: boolean; } /** A filter to be used against `ForeignKeyConstraint` object types. All fields are combined with a logical ‘and.’ */ export interface ForeignKeyConstraintFilter { @@ -22867,6 +25792,27 @@ export interface SpatialRelationFilter { /** Filter by the object’s `table` relation. */ table?: TableFilter; } +/** A filter to be used against `Function` object types. All fields are combined with a logical ‘and.’ */ +export interface FunctionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Checks for all expressions in this list. */ + and?: FunctionFilter[]; + /** Checks for any expressions in this list. */ + or?: FunctionFilter[]; + /** Negates the expression. */ + not?: FunctionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; +} /** A filter to be used against `DatabaseTransfer` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseTransferFilter { /** Filter by the object’s `id` field. */ @@ -22906,6 +25852,43 @@ export interface DatabaseTransferFilter { /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; } +/** A filter to be used against `Partition` object types. All fields are combined with a logical ‘and.’ */ +export interface PartitionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `tableId` field. */ + tableId?: UUIDFilter; + /** Filter by the object’s `strategy` field. */ + strategy?: StringFilter; + /** Filter by the object’s `partitionKeyId` field. */ + partitionKeyId?: UUIDFilter; + /** Filter by the object’s `interval` field. */ + interval?: StringFilter; + /** Filter by the object’s `retention` field. */ + retention?: StringFilter; + /** Filter by the object’s `lookahead` field. */ + lookahead?: IntFilter; + /** Filter by the object’s `namingPattern` field. */ + namingPattern?: StringFilter; + /** Filter by the object’s `createdAt` field. */ + createdAt?: DatetimeFilter; + /** Filter by the object’s `updatedAt` field. */ + updatedAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: PartitionFilter[]; + /** Checks for any expressions in this list. */ + or?: PartitionFilter[]; + /** Negates the expression. */ + not?: PartitionFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `partitionKey` relation. */ + partitionKey?: FieldFilter; + /** Filter by the object’s `table` relation. */ + table?: TableFilter; +} /** A filter to be used against `Api` object types. All fields are combined with a logical ‘and.’ */ export interface ApiFilter { /** Filter by the object’s `id` field. */ @@ -22942,6 +25925,14 @@ export interface ApiFilter { domains?: ApiToManyDomainFilter; /** `domains` exist. */ domainsExist?: boolean; + /** Filter by the object’s `apiSetting` relation. */ + apiSetting?: ApiSettingFilter; + /** A related `apiSetting` exists. */ + apiSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: ApiToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; } /** A filter to be used against `ApiModule` object types. All fields are combined with a logical ‘and.’ */ export interface ApiModuleFilter { @@ -23165,6 +26156,68 @@ export interface SiteThemeFilter { /** Filter by the object’s `site` relation. */ site?: SiteFilter; } +/** A filter to be used against `ApiSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface ApiSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: ApiSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: ApiSettingFilter[]; + /** Negates the expression. */ + not?: ApiSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against `CorsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface CorsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `apiId` field. */ + apiId?: UUIDFilter; + /** Filter by the object’s `allowedOrigins` field. */ + allowedOrigins?: StringListFilter; + /** Checks for all expressions in this list. */ + and?: CorsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: CorsSettingFilter[]; + /** Negates the expression. */ + not?: CorsSettingFilter; + /** Filter by the object’s `api` relation. */ + api?: ApiFilter; + /** A related `api` exists. */ + apiExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} /** A filter to be used against `ConnectedAccountsModule` object types. All fields are combined with a logical ‘and.’ */ export interface ConnectedAccountsModuleFilter { /** Filter by the object’s `id` field. */ @@ -23564,8 +26617,26 @@ export interface LimitsModuleFilter { limitUpdateTrigger?: StringFilter; /** Filter by the object’s `limitCheckFunction` field. */ limitCheckFunction?: StringFilter; + /** Filter by the object’s `limitCreditsTableId` field. */ + limitCreditsTableId?: UUIDFilter; + /** Filter by the object’s `eventsTableId` field. */ + eventsTableId?: UUIDFilter; + /** Filter by the object’s `creditCodesTableId` field. */ + creditCodesTableId?: UUIDFilter; + /** Filter by the object’s `creditCodeItemsTableId` field. */ + creditCodeItemsTableId?: UUIDFilter; + /** Filter by the object’s `creditRedemptionsTableId` field. */ + creditRedemptionsTableId?: UUIDFilter; /** Filter by the object’s `aggregateTableId` field. */ aggregateTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsTableId` field. */ + limitCapsTableId?: UUIDFilter; + /** Filter by the object’s `limitCapsDefaultsTableId` field. */ + limitCapsDefaultsTableId?: UUIDFilter; + /** Filter by the object’s `capCheckTrigger` field. */ + capCheckTrigger?: StringFilter; + /** Filter by the object’s `resolveCapFunction` field. */ + resolveCapFunction?: StringFilter; /** Filter by the object’s `prefix` field. */ prefix?: StringFilter; /** Filter by the object’s `membershipType` field. */ @@ -23586,6 +26657,18 @@ export interface LimitsModuleFilter { aggregateTable?: TableFilter; /** A related `aggregateTable` exists. */ aggregateTableExists?: boolean; + /** Filter by the object’s `creditCodeItemsTable` relation. */ + creditCodeItemsTable?: TableFilter; + /** A related `creditCodeItemsTable` exists. */ + creditCodeItemsTableExists?: boolean; + /** Filter by the object’s `creditCodesTable` relation. */ + creditCodesTable?: TableFilter; + /** A related `creditCodesTable` exists. */ + creditCodesTableExists?: boolean; + /** Filter by the object’s `creditRedemptionsTable` relation. */ + creditRedemptionsTable?: TableFilter; + /** A related `creditRedemptionsTable` exists. */ + creditRedemptionsTableExists?: boolean; /** Filter by the object’s `database` relation. */ database?: DatabaseFilter; /** Filter by the object’s `defaultTable` relation. */ @@ -23594,6 +26677,22 @@ export interface LimitsModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `eventsTable` relation. */ + eventsTable?: TableFilter; + /** A related `eventsTable` exists. */ + eventsTableExists?: boolean; + /** Filter by the object’s `limitCapsDefaultsTable` relation. */ + limitCapsDefaultsTable?: TableFilter; + /** A related `limitCapsDefaultsTable` exists. */ + limitCapsDefaultsTableExists?: boolean; + /** Filter by the object’s `limitCapsTable` relation. */ + limitCapsTable?: TableFilter; + /** A related `limitCapsTable` exists. */ + limitCapsTableExists?: boolean; + /** Filter by the object’s `limitCreditsTable` relation. */ + limitCreditsTable?: TableFilter; + /** A related `limitCreditsTable` exists. */ + limitCreditsTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -24298,6 +27397,10 @@ export interface StorageModuleFilter { allowedOrigins?: StringListFilter; /** Filter by the object’s `restrictReads` field. */ restrictReads?: BooleanFilter; + /** Filter by the object’s `hasPathShares` field. */ + hasPathShares?: BooleanFilter; + /** Filter by the object’s `pathSharesTableId` field. */ + pathSharesTableId?: UUIDFilter; /** Filter by the object’s `uploadUrlExpirySeconds` field. */ uploadUrlExpirySeconds?: IntFilter; /** Filter by the object’s `downloadUrlExpirySeconds` field. */ @@ -24308,6 +27411,20 @@ export interface StorageModuleFilter { maxFilenameLength?: IntFilter; /** Filter by the object’s `cacheTtlSeconds` field. */ cacheTtlSeconds?: IntFilter; + /** Filter by the object’s `maxBulkFiles` field. */ + maxBulkFiles?: IntFilter; + /** Filter by the object’s `maxBulkTotalSize` field. */ + maxBulkTotalSize?: BigIntFilter; + /** Filter by the object’s `hasVersioning` field. */ + hasVersioning?: BooleanFilter; + /** Filter by the object’s `hasContentHash` field. */ + hasContentHash?: BooleanFilter; + /** Filter by the object’s `hasCustomKeys` field. */ + hasCustomKeys?: BooleanFilter; + /** Filter by the object’s `hasAuditLog` field. */ + hasAuditLog?: BooleanFilter; + /** Filter by the object’s `fileEventsTableId` field. */ + fileEventsTableId?: UUIDFilter; /** Checks for all expressions in this list. */ and?: StorageModuleFilter[]; /** Checks for any expressions in this list. */ @@ -24322,8 +27439,16 @@ export interface StorageModuleFilter { entityTable?: TableFilter; /** A related `entityTable` exists. */ entityTableExists?: boolean; + /** Filter by the object’s `fileEventsTable` relation. */ + fileEventsTable?: TableFilter; + /** A related `fileEventsTable` exists. */ + fileEventsTableExists?: boolean; /** Filter by the object’s `filesTable` relation. */ filesTable?: TableFilter; + /** Filter by the object’s `pathSharesTable` relation. */ + pathSharesTable?: TableFilter; + /** A related `pathSharesTable` exists. */ + pathSharesTableExists?: boolean; /** Filter by the object’s `privateSchema` relation. */ privateSchema?: SchemaFilter; /** Filter by the object’s `schema` relation. */ @@ -24377,6 +27502,8 @@ export interface EntityTypeProvisionFilter { outBucketsTableId?: UUIDFilter; /** Filter by the object’s `outFilesTableId` field. */ outFilesTableId?: UUIDFilter; + /** Filter by the object’s `outPathSharesTableId` field. */ + outPathSharesTableId?: UUIDFilter; /** Filter by the object’s `outInvitesModuleId` field. */ outInvitesModuleId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -24796,6 +27923,106 @@ export interface AgentTaskFilter { /** Filter by the object’s `thread` relation. */ thread?: AgentThreadFilter; } +/** A filter to be used against `AppLimitCreditCodeItem` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeItemFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeItemFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeItemFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeItemFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `AppLimitCreditRedemption` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditRedemptionFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `creditCodeId` field. */ + creditCodeId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditRedemptionFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditRedemptionFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditRedemptionFilter; + /** Filter by the object’s `creditCode` relation. */ + creditCode?: AppLimitCreditCodeFilter; +} +/** A filter to be used against `AppLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: AppLimitDefaultFilter; +} +/** A filter to be used against `OrgLimitCredit` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitCreditFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `defaultLimitId` field. */ + defaultLimitId?: UUIDFilter; + /** Filter by the object’s `actorId` field. */ + actorId?: UUIDFilter; + /** Filter by the object’s `entityId` field. */ + entityId?: UUIDFilter; + /** Filter by the object’s `amount` field. */ + amount?: BigIntFilter; + /** Filter by the object’s `creditType` field. */ + creditType?: StringFilter; + /** Filter by the object’s `reason` field. */ + reason?: StringFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitCreditFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitCreditFilter[]; + /** Negates the expression. */ + not?: OrgLimitCreditFilter; + /** Filter by the object’s `actor` relation. */ + actor?: UserFilter; + /** A related `actor` exists. */ + actorExists?: boolean; + /** Filter by the object’s `defaultLimit` relation. */ + defaultLimit?: OrgLimitDefaultFilter; + /** Filter by the object’s `entity` relation. */ + entity?: UserFilter; + /** A related `entity` exists. */ + entityExists?: boolean; +} /** A filter to be used against `Database` object types. All fields are combined with a logical ‘and.’ */ export interface DatabaseFilter { /** Filter by the object’s `id` field. */ @@ -24908,10 +28135,18 @@ export interface DatabaseFilter { spatialRelations?: DatabaseToManySpatialRelationFilter; /** `spatialRelations` exist. */ spatialRelationsExist?: boolean; + /** Filter by the object’s `functions` relation. */ + functions?: DatabaseToManyFunctionFilter; + /** `functions` exist. */ + functionsExist?: boolean; /** Filter by the object’s `databaseTransfers` relation. */ databaseTransfers?: DatabaseToManyDatabaseTransferFilter; /** `databaseTransfers` exist. */ databaseTransfersExist?: boolean; + /** Filter by the object’s `partitions` relation. */ + partitions?: DatabaseToManyPartitionFilter; + /** `partitions` exist. */ + partitionsExist?: boolean; /** Filter by the object’s `apis` relation. */ apis?: DatabaseToManyApiFilter; /** `apis` exist. */ @@ -24948,6 +28183,30 @@ export interface DatabaseFilter { siteThemes?: DatabaseToManySiteThemeFilter; /** `siteThemes` exist. */ siteThemesExist?: boolean; + /** Filter by the object’s `databaseSetting` relation. */ + databaseSetting?: DatabaseSettingFilter; + /** A related `databaseSetting` exists. */ + databaseSettingExists?: boolean; + /** Filter by the object’s `apiSettings` relation. */ + apiSettings?: DatabaseToManyApiSettingFilter; + /** `apiSettings` exist. */ + apiSettingsExist?: boolean; + /** Filter by the object’s `rlsSetting` relation. */ + rlsSetting?: RlsSettingFilter; + /** A related `rlsSetting` exists. */ + rlsSettingExists?: boolean; + /** Filter by the object’s `corsSettings` relation. */ + corsSettings?: DatabaseToManyCorsSettingFilter; + /** `corsSettings` exist. */ + corsSettingsExist?: boolean; + /** Filter by the object’s `pubkeySetting` relation. */ + pubkeySetting?: PubkeySettingFilter; + /** A related `pubkeySetting` exists. */ + pubkeySettingExists?: boolean; + /** Filter by the object’s `webauthnSetting` relation. */ + webauthnSetting?: WebauthnSettingFilter; + /** A related `webauthnSetting` exists. */ + webauthnSettingExists?: boolean; /** Filter by the object’s `connectedAccountsModules` relation. */ connectedAccountsModules?: DatabaseToManyConnectedAccountsModuleFilter; /** `connectedAccountsModules` exist. */ @@ -25092,6 +28351,10 @@ export interface DatabaseFilter { billingModule?: BillingModuleFilter; /** A related `billingModule` exists. */ billingModuleExists?: boolean; + /** Filter by the object’s `billingProviderModule` relation. */ + billingProviderModule?: BillingProviderModuleFilter; + /** A related `billingProviderModule` exists. */ + billingProviderModuleExists?: boolean; /** Filter by the object’s `databaseProvisionModules` relation. */ databaseProvisionModules?: DatabaseToManyDatabaseProvisionModuleFilter; /** `databaseProvisionModules` exist. */ @@ -25493,6 +28756,12 @@ export interface AppLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Checks for all expressions in this list. */ and?: AppLimitFilter[]; /** Checks for any expressions in this list. */ @@ -25520,6 +28789,12 @@ export interface OrgLimitFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; /** Filter by the object’s `entityId` field. */ entityId?: UUIDFilter; /** Checks for all expressions in this list. */ @@ -25551,6 +28826,14 @@ export interface OrgLimitAggregateFilter { windowStart?: DatetimeFilter; /** Filter by the object’s `windowDuration` field. */ windowDuration?: IntervalFilter; + /** Filter by the object’s `planMax` field. */ + planMax?: BigIntFilter; + /** Filter by the object’s `purchasedCredits` field. */ + purchasedCredits?: BigIntFilter; + /** Filter by the object’s `periodCredits` field. */ + periodCredits?: BigIntFilter; + /** Filter by the object’s `reserved` field. */ + reserved?: BigIntFilter; /** Checks for all expressions in this list. */ and?: OrgLimitAggregateFilter[]; /** Checks for any expressions in this list. */ @@ -26465,6 +29748,10 @@ export interface UserFilter { appLimitsByActorId?: UserToManyAppLimitFilter; /** `appLimitsByActorId` exist. */ appLimitsByActorIdExist?: boolean; + /** Filter by the object’s `appLimitCreditsByActorId` relation. */ + appLimitCreditsByActorId?: UserToManyAppLimitCreditFilter; + /** `appLimitCreditsByActorId` exist. */ + appLimitCreditsByActorIdExist?: boolean; /** Filter by the object’s `orgLimitsByActorId` relation. */ orgLimitsByActorId?: UserToManyOrgLimitFilter; /** `orgLimitsByActorId` exist. */ @@ -26473,6 +29760,14 @@ export interface UserFilter { orgLimitsByEntityId?: UserToManyOrgLimitFilter; /** `orgLimitsByEntityId` exist. */ orgLimitsByEntityIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByActorId` relation. */ + orgLimitCreditsByActorId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByActorId` exist. */ + orgLimitCreditsByActorIdExist?: boolean; + /** Filter by the object’s `orgLimitCreditsByEntityId` relation. */ + orgLimitCreditsByEntityId?: UserToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByEntityId` exist. */ + orgLimitCreditsByEntityIdExist?: boolean; /** Filter by the object’s `orgLimitAggregatesByEntityId` relation. */ orgLimitAggregatesByEntityId?: UserToManyOrgLimitAggregateFilter; /** `orgLimitAggregatesByEntityId` exist. */ @@ -26573,6 +29868,309 @@ export interface UserFilter { */ unifiedSearch?: string; } +/** A filter to be used against `AppLimitCreditCode` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitCreditCodeFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `code` field. */ + code?: StringFilter; + /** Filter by the object’s `maxRedemptions` field. */ + maxRedemptions?: IntFilter; + /** Filter by the object’s `currentRedemptions` field. */ + currentRedemptions?: IntFilter; + /** Filter by the object’s `expiresAt` field. */ + expiresAt?: DatetimeFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitCreditCodeFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitCreditCodeFilter[]; + /** Negates the expression. */ + not?: AppLimitCreditCodeFilter; + /** Filter by the object’s `appLimitCreditCodeItemsByCreditCodeId` relation. */ + appLimitCreditCodeItemsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByCreditCodeId` exist. */ + appLimitCreditCodeItemsByCreditCodeIdExist?: boolean; + /** Filter by the object’s `appLimitCreditRedemptionsByCreditCodeId` relation. */ + appLimitCreditRedemptionsByCreditCodeId?: AppLimitCreditCodeToManyAppLimitCreditRedemptionFilter; + /** `appLimitCreditRedemptionsByCreditCodeId` exist. */ + appLimitCreditRedemptionsByCreditCodeIdExist?: boolean; +} +/** A filter to be used against `AppLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface AppLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: AppLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: AppLimitDefaultFilter[]; + /** Negates the expression. */ + not?: AppLimitDefaultFilter; + /** Filter by the object’s `appLimitCreditsByDefaultLimitId` relation. */ + appLimitCreditsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditFilter; + /** `appLimitCreditsByDefaultLimitId` exist. */ + appLimitCreditsByDefaultLimitIdExist?: boolean; + /** Filter by the object’s `appLimitCreditCodeItemsByDefaultLimitId` relation. */ + appLimitCreditCodeItemsByDefaultLimitId?: AppLimitDefaultToManyAppLimitCreditCodeItemFilter; + /** `appLimitCreditCodeItemsByDefaultLimitId` exist. */ + appLimitCreditCodeItemsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `OrgLimitDefault` object types. All fields are combined with a logical ‘and.’ */ +export interface OrgLimitDefaultFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `name` field. */ + name?: StringFilter; + /** Filter by the object’s `max` field. */ + max?: BigIntFilter; + /** Filter by the object’s `softMax` field. */ + softMax?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: OrgLimitDefaultFilter[]; + /** Checks for any expressions in this list. */ + or?: OrgLimitDefaultFilter[]; + /** Negates the expression. */ + not?: OrgLimitDefaultFilter; + /** Filter by the object’s `orgLimitCreditsByDefaultLimitId` relation. */ + orgLimitCreditsByDefaultLimitId?: OrgLimitDefaultToManyOrgLimitCreditFilter; + /** `orgLimitCreditsByDefaultLimitId` exist. */ + orgLimitCreditsByDefaultLimitIdExist?: boolean; +} +/** A filter to be used against `DatabaseSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface DatabaseSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `enableAggregates` field. */ + enableAggregates?: BooleanFilter; + /** Filter by the object’s `enablePostgis` field. */ + enablePostgis?: BooleanFilter; + /** Filter by the object’s `enableSearch` field. */ + enableSearch?: BooleanFilter; + /** Filter by the object’s `enableDirectUploads` field. */ + enableDirectUploads?: BooleanFilter; + /** Filter by the object’s `enablePresignedUploads` field. */ + enablePresignedUploads?: BooleanFilter; + /** Filter by the object’s `enableManyToMany` field. */ + enableManyToMany?: BooleanFilter; + /** Filter by the object’s `enableConnectionFilter` field. */ + enableConnectionFilter?: BooleanFilter; + /** Filter by the object’s `enableLtree` field. */ + enableLtree?: BooleanFilter; + /** Filter by the object’s `enableLlm` field. */ + enableLlm?: BooleanFilter; + /** Filter by the object’s `options` field. */ + options?: JSONFilter; + /** Checks for all expressions in this list. */ + and?: DatabaseSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: DatabaseSettingFilter[]; + /** Negates the expression. */ + not?: DatabaseSettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; +} +/** A filter to be used against `RlsSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface RlsSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `authenticateSchemaId` field. */ + authenticateSchemaId?: UUIDFilter; + /** Filter by the object’s `roleSchemaId` field. */ + roleSchemaId?: UUIDFilter; + /** Filter by the object’s `authenticateFunctionId` field. */ + authenticateFunctionId?: UUIDFilter; + /** Filter by the object’s `authenticateStrictFunctionId` field. */ + authenticateStrictFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleFunctionId` field. */ + currentRoleFunctionId?: UUIDFilter; + /** Filter by the object’s `currentRoleIdFunctionId` field. */ + currentRoleIdFunctionId?: UUIDFilter; + /** Filter by the object’s `currentUserAgentFunctionId` field. */ + currentUserAgentFunctionId?: UUIDFilter; + /** Filter by the object’s `currentIpAddressFunctionId` field. */ + currentIpAddressFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: RlsSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: RlsSettingFilter[]; + /** Negates the expression. */ + not?: RlsSettingFilter; + /** Filter by the object’s `authenticateFunction` relation. */ + authenticateFunction?: FunctionFilter; + /** A related `authenticateFunction` exists. */ + authenticateFunctionExists?: boolean; + /** Filter by the object’s `authenticateSchema` relation. */ + authenticateSchema?: SchemaFilter; + /** A related `authenticateSchema` exists. */ + authenticateSchemaExists?: boolean; + /** Filter by the object’s `authenticateStrictFunction` relation. */ + authenticateStrictFunction?: FunctionFilter; + /** A related `authenticateStrictFunction` exists. */ + authenticateStrictFunctionExists?: boolean; + /** Filter by the object’s `currentIpAddressFunction` relation. */ + currentIpAddressFunction?: FunctionFilter; + /** A related `currentIpAddressFunction` exists. */ + currentIpAddressFunctionExists?: boolean; + /** Filter by the object’s `currentRoleFunction` relation. */ + currentRoleFunction?: FunctionFilter; + /** A related `currentRoleFunction` exists. */ + currentRoleFunctionExists?: boolean; + /** Filter by the object’s `currentRoleIdFunction` relation. */ + currentRoleIdFunction?: FunctionFilter; + /** A related `currentRoleIdFunction` exists. */ + currentRoleIdFunctionExists?: boolean; + /** Filter by the object’s `currentUserAgentFunction` relation. */ + currentUserAgentFunction?: FunctionFilter; + /** A related `currentUserAgentFunction` exists. */ + currentUserAgentFunctionExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `roleSchema` relation. */ + roleSchema?: SchemaFilter; + /** A related `roleSchema` exists. */ + roleSchemaExists?: boolean; +} +/** A filter to be used against `PubkeySetting` object types. All fields are combined with a logical ‘and.’ */ +export interface PubkeySettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `cryptoNetwork` field. */ + cryptoNetwork?: StringFilter; + /** Filter by the object’s `userField` field. */ + userField?: StringFilter; + /** Filter by the object’s `signUpWithKeyFunctionId` field. */ + signUpWithKeyFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRequestChallengeFunctionId` field. */ + signInRequestChallengeFunctionId?: UUIDFilter; + /** Filter by the object’s `signInRecordFailureFunctionId` field. */ + signInRecordFailureFunctionId?: UUIDFilter; + /** Filter by the object’s `signInWithChallengeFunctionId` field. */ + signInWithChallengeFunctionId?: UUIDFilter; + /** Checks for all expressions in this list. */ + and?: PubkeySettingFilter[]; + /** Checks for any expressions in this list. */ + or?: PubkeySettingFilter[]; + /** Negates the expression. */ + not?: PubkeySettingFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `signInRecordFailureFunction` relation. */ + signInRecordFailureFunction?: FunctionFilter; + /** A related `signInRecordFailureFunction` exists. */ + signInRecordFailureFunctionExists?: boolean; + /** Filter by the object’s `signInRequestChallengeFunction` relation. */ + signInRequestChallengeFunction?: FunctionFilter; + /** A related `signInRequestChallengeFunction` exists. */ + signInRequestChallengeFunctionExists?: boolean; + /** Filter by the object’s `signInWithChallengeFunction` relation. */ + signInWithChallengeFunction?: FunctionFilter; + /** A related `signInWithChallengeFunction` exists. */ + signInWithChallengeFunctionExists?: boolean; + /** Filter by the object’s `signUpWithKeyFunction` relation. */ + signUpWithKeyFunction?: FunctionFilter; + /** A related `signUpWithKeyFunction` exists. */ + signUpWithKeyFunctionExists?: boolean; +} +/** A filter to be used against `WebauthnSetting` object types. All fields are combined with a logical ‘and.’ */ +export interface WebauthnSettingFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `credentialsSchemaId` field. */ + credentialsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionsSchemaId` field. */ + sessionsSchemaId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsSchemaId` field. */ + sessionSecretsSchemaId?: UUIDFilter; + /** Filter by the object’s `credentialsTableId` field. */ + credentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionsTableId` field. */ + sessionsTableId?: UUIDFilter; + /** Filter by the object’s `sessionCredentialsTableId` field. */ + sessionCredentialsTableId?: UUIDFilter; + /** Filter by the object’s `sessionSecretsTableId` field. */ + sessionSecretsTableId?: UUIDFilter; + /** Filter by the object’s `userFieldId` field. */ + userFieldId?: UUIDFilter; + /** Filter by the object’s `rpId` field. */ + rpId?: StringFilter; + /** Filter by the object’s `rpName` field. */ + rpName?: StringFilter; + /** Filter by the object’s `originAllowlist` field. */ + originAllowlist?: StringListFilter; + /** Filter by the object’s `attestationType` field. */ + attestationType?: StringFilter; + /** Filter by the object’s `requireUserVerification` field. */ + requireUserVerification?: BooleanFilter; + /** Filter by the object’s `residentKey` field. */ + residentKey?: StringFilter; + /** Filter by the object’s `challengeExpirySeconds` field. */ + challengeExpirySeconds?: BigIntFilter; + /** Checks for all expressions in this list. */ + and?: WebauthnSettingFilter[]; + /** Checks for any expressions in this list. */ + or?: WebauthnSettingFilter[]; + /** Negates the expression. */ + not?: WebauthnSettingFilter; + /** Filter by the object’s `credentialsSchema` relation. */ + credentialsSchema?: SchemaFilter; + /** A related `credentialsSchema` exists. */ + credentialsSchemaExists?: boolean; + /** Filter by the object’s `credentialsTable` relation. */ + credentialsTable?: TableFilter; + /** A related `credentialsTable` exists. */ + credentialsTableExists?: boolean; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** A related `schema` exists. */ + schemaExists?: boolean; + /** Filter by the object’s `sessionCredentialsTable` relation. */ + sessionCredentialsTable?: TableFilter; + /** A related `sessionCredentialsTable` exists. */ + sessionCredentialsTableExists?: boolean; + /** Filter by the object’s `sessionSecretsSchema` relation. */ + sessionSecretsSchema?: SchemaFilter; + /** A related `sessionSecretsSchema` exists. */ + sessionSecretsSchemaExists?: boolean; + /** Filter by the object’s `sessionSecretsTable` relation. */ + sessionSecretsTable?: TableFilter; + /** A related `sessionSecretsTable` exists. */ + sessionSecretsTableExists?: boolean; + /** Filter by the object’s `sessionsSchema` relation. */ + sessionsSchema?: SchemaFilter; + /** A related `sessionsSchema` exists. */ + sessionsSchemaExists?: boolean; + /** Filter by the object’s `sessionsTable` relation. */ + sessionsTable?: TableFilter; + /** A related `sessionsTable` exists. */ + sessionsTableExists?: boolean; + /** Filter by the object’s `userField` relation. */ + userField?: FieldFilter; + /** A related `userField` exists. */ + userFieldExists?: boolean; +} /** A filter to be used against `RlsModule` object types. All fields are combined with a logical ‘and.’ */ export interface RlsModuleFilter { /** Filter by the object’s `id` field. */ @@ -26767,6 +30365,10 @@ export interface PlansModuleFilter { planLimitsTableId?: UUIDFilter; /** Filter by the object’s `planLimitsTableName` field. */ planLimitsTableName?: StringFilter; + /** Filter by the object’s `planPricingTableId` field. */ + planPricingTableId?: UUIDFilter; + /** Filter by the object’s `planOverridesTableId` field. */ + planOverridesTableId?: UUIDFilter; /** Filter by the object’s `applyPlanFunction` field. */ applyPlanFunction?: StringFilter; /** Filter by the object’s `applyPlanAggregateFunction` field. */ @@ -26783,6 +30385,14 @@ export interface PlansModuleFilter { database?: DatabaseFilter; /** Filter by the object’s `planLimitsTable` relation. */ planLimitsTable?: TableFilter; + /** Filter by the object’s `planOverridesTable` relation. */ + planOverridesTable?: TableFilter; + /** A related `planOverridesTable` exists. */ + planOverridesTableExists?: boolean; + /** Filter by the object’s `planPricingTable` relation. */ + planPricingTable?: TableFilter; + /** A related `planPricingTable` exists. */ + planPricingTableExists?: boolean; /** Filter by the object’s `plansTable` relation. */ plansTable?: TableFilter; /** Filter by the object’s `privateSchema` relation. */ @@ -26841,6 +30451,83 @@ export interface BillingModuleFilter { /** Filter by the object’s `schema` relation. */ schema?: SchemaFilter; } +/** A filter to be used against `BillingProviderModule` object types. All fields are combined with a logical ‘and.’ */ +export interface BillingProviderModuleFilter { + /** Filter by the object’s `id` field. */ + id?: UUIDFilter; + /** Filter by the object’s `databaseId` field. */ + databaseId?: UUIDFilter; + /** Filter by the object’s `schemaId` field. */ + schemaId?: UUIDFilter; + /** Filter by the object’s `privateSchemaId` field. */ + privateSchemaId?: UUIDFilter; + /** Filter by the object’s `provider` field. */ + provider?: StringFilter; + /** Filter by the object’s `productsTableId` field. */ + productsTableId?: UUIDFilter; + /** Filter by the object’s `pricesTableId` field. */ + pricesTableId?: UUIDFilter; + /** Filter by the object’s `subscriptionsTableId` field. */ + subscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableId` field. */ + billingCustomersTableId?: UUIDFilter; + /** Filter by the object’s `billingCustomersTableName` field. */ + billingCustomersTableName?: StringFilter; + /** Filter by the object’s `billingProductsTableId` field. */ + billingProductsTableId?: UUIDFilter; + /** Filter by the object’s `billingProductsTableName` field. */ + billingProductsTableName?: StringFilter; + /** Filter by the object’s `billingPricesTableId` field. */ + billingPricesTableId?: UUIDFilter; + /** Filter by the object’s `billingPricesTableName` field. */ + billingPricesTableName?: StringFilter; + /** Filter by the object’s `billingSubscriptionsTableId` field. */ + billingSubscriptionsTableId?: UUIDFilter; + /** Filter by the object’s `billingSubscriptionsTableName` field. */ + billingSubscriptionsTableName?: StringFilter; + /** Filter by the object’s `billingWebhookEventsTableId` field. */ + billingWebhookEventsTableId?: UUIDFilter; + /** Filter by the object’s `billingWebhookEventsTableName` field. */ + billingWebhookEventsTableName?: StringFilter; + /** Filter by the object’s `processBillingEventFunction` field. */ + processBillingEventFunction?: StringFilter; + /** Filter by the object’s `prefix` field. */ + prefix?: StringFilter; + /** Checks for all expressions in this list. */ + and?: BillingProviderModuleFilter[]; + /** Checks for any expressions in this list. */ + or?: BillingProviderModuleFilter[]; + /** Negates the expression. */ + not?: BillingProviderModuleFilter; + /** Filter by the object’s `billingCustomersTable` relation. */ + billingCustomersTable?: TableFilter; + /** Filter by the object’s `billingPricesTable` relation. */ + billingPricesTable?: TableFilter; + /** Filter by the object’s `billingProductsTable` relation. */ + billingProductsTable?: TableFilter; + /** Filter by the object’s `billingSubscriptionsTable` relation. */ + billingSubscriptionsTable?: TableFilter; + /** Filter by the object’s `billingWebhookEventsTable` relation. */ + billingWebhookEventsTable?: TableFilter; + /** Filter by the object’s `database` relation. */ + database?: DatabaseFilter; + /** Filter by the object’s `pricesTable` relation. */ + pricesTable?: TableFilter; + /** A related `pricesTable` exists. */ + pricesTableExists?: boolean; + /** Filter by the object’s `privateSchema` relation. */ + privateSchema?: SchemaFilter; + /** Filter by the object’s `productsTable` relation. */ + productsTable?: TableFilter; + /** A related `productsTable` exists. */ + productsTableExists?: boolean; + /** Filter by the object’s `schema` relation. */ + schema?: SchemaFilter; + /** Filter by the object’s `subscriptionsTable` relation. */ + subscriptionsTable?: TableFilter; + /** A related `subscriptionsTable` exists. */ + subscriptionsTableExists?: boolean; +} /** A filter to be used against BitString fields. All fields are combined with a logical ‘and.’ */ export interface BitStringFilter { /** Is null (if `true` is specified) or is not null (if `false` is specified). */ @@ -27317,6 +31004,12 @@ export interface SetFieldOrderPayload { export type SetFieldOrderPayloadSelect = { clientMutationId?: boolean; }; +export interface AppendSmartTagsPayload { + clientMutationId?: string | null; +} +export type AppendSmartTagsPayloadSelect = { + clientMutationId?: boolean; +}; export interface ProvisionUniqueConstraintPayload { clientMutationId?: string | null; } @@ -27495,25 +31188,6 @@ export type ProvisionTablePayloadSelect = { select: ProvisionTableRecordSelect; }; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; @@ -27986,6 +31660,51 @@ export type DeleteSpatialRelationPayloadSelect = { select: SpatialRelationEdgeSelect; }; }; +export interface CreatePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was created by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type CreatePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; +export interface UpdatePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was updated by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type UpdatePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; +export interface DeletePartitionPayload { + clientMutationId?: string | null; + /** The `Partition` that was deleted by this mutation. */ + partition?: Partition | null; + partitionEdge?: PartitionEdge | null; +} +export type DeletePartitionPayloadSelect = { + clientMutationId?: boolean; + partition?: { + select: PartitionSelect; + }; + partitionEdge?: { + select: PartitionEdgeSelect; + }; +}; export interface CreateForeignKeyConstraintPayload { clientMutationId?: string | null; /** The `ForeignKeyConstraint` that was created by this mutation. */ @@ -28886,6 +32605,51 @@ export type DeleteEnumPayloadSelect = { select: EnumEdgeSelect; }; }; +export interface CreateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was created by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type CreateFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; +export interface UpdateFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was updated by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type UpdateFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; +export interface DeleteFunctionPayload { + clientMutationId?: string | null; + /** The `Function` that was deleted by this mutation. */ + function?: Function | null; + functionEdge?: FunctionEdge | null; +} +export type DeleteFunctionPayloadSelect = { + clientMutationId?: boolean; + function?: { + select: FunctionSelect; + }; + functionEdge?: { + select: FunctionEdgeSelect; + }; +}; export interface CreateApiSchemaPayload { clientMutationId?: string | null; /** The `ApiSchema` that was created by this mutation. */ @@ -29156,6 +32920,51 @@ export type DeleteSiteThemePayloadSelect = { select: SiteThemeEdgeSelect; }; }; +export interface CreateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was created by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type CreateCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; +export interface UpdateCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was updated by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type UpdateCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; +export interface DeleteCorsSettingPayload { + clientMutationId?: string | null; + /** The `CorsSetting` that was deleted by this mutation. */ + corsSetting?: CorsSetting | null; + corsSettingEdge?: CorsSettingEdge | null; +} +export type DeleteCorsSettingPayloadSelect = { + clientMutationId?: boolean; + corsSetting?: { + select: CorsSettingSelect; + }; + corsSettingEdge?: { + select: CorsSettingEdgeSelect; + }; +}; export interface CreateTriggerFunctionPayload { clientMutationId?: string | null; /** The `TriggerFunction` that was created by this mutation. */ @@ -29381,6 +33190,51 @@ export type DeleteAppPayloadSelect = { select: AppEdgeSelect; }; }; +export interface CreateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was created by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type CreateApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; +export interface UpdateApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was updated by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type UpdateApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; +export interface DeleteApiSettingPayload { + clientMutationId?: string | null; + /** The `ApiSetting` that was deleted by this mutation. */ + apiSetting?: ApiSetting | null; + apiSettingEdge?: ApiSettingEdge | null; +} +export type DeleteApiSettingPayloadSelect = { + clientMutationId?: boolean; + apiSetting?: { + select: ApiSettingSelect; + }; + apiSettingEdge?: { + select: ApiSettingEdgeSelect; + }; +}; export interface CreateConnectedAccountsModulePayload { clientMutationId?: string | null; /** The `ConnectedAccountsModule` that was created by this mutation. */ @@ -31226,6 +35080,141 @@ export type DeleteAppLimitPayloadSelect = { select: AppLimitEdgeSelect; }; }; +export interface CreateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was created by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type CreateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was updated by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type UpdateAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditPayload { + clientMutationId?: string | null; + /** The `AppLimitCredit` that was deleted by this mutation. */ + appLimitCredit?: AppLimitCredit | null; + appLimitCreditEdge?: AppLimitCreditEdge | null; +} +export type DeleteAppLimitCreditPayloadSelect = { + clientMutationId?: boolean; + appLimitCredit?: { + select: AppLimitCreditSelect; + }; + appLimitCreditEdge?: { + select: AppLimitCreditEdgeSelect; + }; +}; +export interface CreateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was created by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type CreateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was updated by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type UpdateAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodeItemPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCodeItem` that was deleted by this mutation. */ + appLimitCreditCodeItem?: AppLimitCreditCodeItem | null; + appLimitCreditCodeItemEdge?: AppLimitCreditCodeItemEdge | null; +} +export type DeleteAppLimitCreditCodeItemPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCodeItem?: { + select: AppLimitCreditCodeItemSelect; + }; + appLimitCreditCodeItemEdge?: { + select: AppLimitCreditCodeItemEdgeSelect; + }; +}; +export interface CreateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was created by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type CreateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was updated by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type UpdateAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditRedemptionPayload { + clientMutationId?: string | null; + /** The `AppLimitCreditRedemption` that was deleted by this mutation. */ + appLimitCreditRedemption?: AppLimitCreditRedemption | null; + appLimitCreditRedemptionEdge?: AppLimitCreditRedemptionEdge | null; +} +export type DeleteAppLimitCreditRedemptionPayloadSelect = { + clientMutationId?: boolean; + appLimitCreditRedemption?: { + select: AppLimitCreditRedemptionSelect; + }; + appLimitCreditRedemptionEdge?: { + select: AppLimitCreditRedemptionEdgeSelect; + }; +}; export interface CreateOrgLimitPayload { clientMutationId?: string | null; /** The `OrgLimit` that was created by this mutation. */ @@ -31271,6 +35260,51 @@ export type DeleteOrgLimitPayloadSelect = { select: OrgLimitEdgeSelect; }; }; +export interface CreateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was created by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type CreateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface UpdateOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was updated by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type UpdateOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; +export interface DeleteOrgLimitCreditPayload { + clientMutationId?: string | null; + /** The `OrgLimitCredit` that was deleted by this mutation. */ + orgLimitCredit?: OrgLimitCredit | null; + orgLimitCreditEdge?: OrgLimitCreditEdge | null; +} +export type DeleteOrgLimitCreditPayloadSelect = { + clientMutationId?: boolean; + orgLimitCredit?: { + select: OrgLimitCreditSelect; + }; + orgLimitCreditEdge?: { + select: OrgLimitCreditEdgeSelect; + }; +}; export interface CreateOrgLimitAggregatePayload { clientMutationId?: string | null; /** The `OrgLimitAggregate` that was created by this mutation. */ @@ -32182,6 +36216,231 @@ export type DeleteAppPermissionDefaultPayloadSelect = { select: AppPermissionDefaultEdgeSelect; }; }; +export interface CreateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was created by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type CreateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface UpdateAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was updated by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type UpdateAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface DeleteAppLimitCreditCodePayload { + clientMutationId?: string | null; + /** The `AppLimitCreditCode` that was deleted by this mutation. */ + appLimitCreditCode?: AppLimitCreditCode | null; + appLimitCreditCodeEdge?: AppLimitCreditCodeEdge | null; +} +export type DeleteAppLimitCreditCodePayloadSelect = { + clientMutationId?: boolean; + appLimitCreditCode?: { + select: AppLimitCreditCodeSelect; + }; + appLimitCreditCodeEdge?: { + select: AppLimitCreditCodeEdgeSelect; + }; +}; +export interface CreateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was created by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type CreateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was updated by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type UpdateAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteAppLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `AppLimitCapsDefault` that was deleted by this mutation. */ + appLimitCapsDefault?: AppLimitCapsDefault | null; + appLimitCapsDefaultEdge?: AppLimitCapsDefaultEdge | null; +} +export type DeleteAppLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + appLimitCapsDefault?: { + select: AppLimitCapsDefaultSelect; + }; + appLimitCapsDefaultEdge?: { + select: AppLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was created by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type CreateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was updated by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type UpdateOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapsDefaultPayload { + clientMutationId?: string | null; + /** The `OrgLimitCapsDefault` that was deleted by this mutation. */ + orgLimitCapsDefault?: OrgLimitCapsDefault | null; + orgLimitCapsDefaultEdge?: OrgLimitCapsDefaultEdge | null; +} +export type DeleteOrgLimitCapsDefaultPayloadSelect = { + clientMutationId?: boolean; + orgLimitCapsDefault?: { + select: OrgLimitCapsDefaultSelect; + }; + orgLimitCapsDefaultEdge?: { + select: OrgLimitCapsDefaultEdgeSelect; + }; +}; +export interface CreateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was created by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type CreateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface UpdateAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was updated by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type UpdateAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface DeleteAppLimitCapPayload { + clientMutationId?: string | null; + /** The `AppLimitCap` that was deleted by this mutation. */ + appLimitCap?: AppLimitCap | null; + appLimitCapEdge?: AppLimitCapEdge | null; +} +export type DeleteAppLimitCapPayloadSelect = { + clientMutationId?: boolean; + appLimitCap?: { + select: AppLimitCapSelect; + }; + appLimitCapEdge?: { + select: AppLimitCapEdgeSelect; + }; +}; +export interface CreateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was created by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type CreateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface UpdateOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was updated by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type UpdateOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; +export interface DeleteOrgLimitCapPayload { + clientMutationId?: string | null; + /** The `OrgLimitCap` that was deleted by this mutation. */ + orgLimitCap?: OrgLimitCap | null; + orgLimitCapEdge?: OrgLimitCapEdge | null; +} +export type DeleteOrgLimitCapPayloadSelect = { + clientMutationId?: boolean; + orgLimitCap?: { + select: OrgLimitCapSelect; + }; + orgLimitCapEdge?: { + select: OrgLimitCapEdgeSelect; + }; +}; export interface CreateMembershipTypePayload { clientMutationId?: string | null; /** The `MembershipType` that was created by this mutation. */ @@ -32474,6 +36733,51 @@ export type DeleteCommitPayloadSelect = { select: CommitEdgeSelect; }; }; +export interface CreatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was created by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type CreatePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; +export interface UpdatePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was updated by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type UpdatePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; +export interface DeletePubkeySettingPayload { + clientMutationId?: string | null; + /** The `PubkeySetting` that was deleted by this mutation. */ + pubkeySetting?: PubkeySetting | null; + pubkeySettingEdge?: PubkeySettingEdge | null; +} +export type DeletePubkeySettingPayloadSelect = { + clientMutationId?: boolean; + pubkeySetting?: { + select: PubkeySettingSelect; + }; + pubkeySettingEdge?: { + select: PubkeySettingEdgeSelect; + }; +}; export interface CreateRateLimitsModulePayload { clientMutationId?: string | null; /** The `RateLimitsModule` that was created by this mutation. */ @@ -32609,6 +36913,51 @@ export type DeleteOrgMembershipDefaultPayloadSelect = { select: OrgMembershipDefaultEdgeSelect; }; }; +export interface CreateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was created by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type CreateRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; +export interface UpdateRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was updated by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type UpdateRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; +export interface DeleteRlsSettingPayload { + clientMutationId?: string | null; + /** The `RlsSetting` that was deleted by this mutation. */ + rlsSetting?: RlsSetting | null; + rlsSettingEdge?: RlsSettingEdge | null; +} +export type DeleteRlsSettingPayloadSelect = { + clientMutationId?: boolean; + rlsSetting?: { + select: RlsSettingSelect; + }; + rlsSettingEdge?: { + select: RlsSettingEdgeSelect; + }; +}; export interface CreateAppLimitEventPayload { clientMutationId?: string | null; /** The `AppLimitEvent` that was created by this mutation. */ @@ -32631,51 +36980,6 @@ export type CreateOrgLimitEventPayloadSelect = { select: OrgLimitEventSelect; }; }; -export interface CreatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was created by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type CreatePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; -export interface UpdatePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was updated by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type UpdatePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; -export interface DeletePlansModulePayload { - clientMutationId?: string | null; - /** The `PlansModule` that was deleted by this mutation. */ - plansModule?: PlansModule | null; - plansModuleEdge?: PlansModuleEdge | null; -} -export type DeletePlansModulePayloadSelect = { - clientMutationId?: boolean; - plansModule?: { - select: PlansModuleSelect; - }; - plansModuleEdge?: { - select: PlansModuleEdgeSelect; - }; -}; export interface CreateRlsModulePayload { clientMutationId?: string | null; /** The `RlsModule` that was created by this mutation. */ @@ -32721,6 +37025,96 @@ export type DeleteRlsModulePayloadSelect = { select: RlsModuleEdgeSelect; }; }; +export interface CreateDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was created by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type CreateDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface UpdateDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was updated by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type UpdateDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface DeleteDatabaseSettingPayload { + clientMutationId?: string | null; + /** The `DatabaseSetting` that was deleted by this mutation. */ + databaseSetting?: DatabaseSetting | null; + databaseSettingEdge?: DatabaseSettingEdge | null; +} +export type DeleteDatabaseSettingPayloadSelect = { + clientMutationId?: boolean; + databaseSetting?: { + select: DatabaseSettingSelect; + }; + databaseSettingEdge?: { + select: DatabaseSettingEdgeSelect; + }; +}; +export interface CreatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was created by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type CreatePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; +export interface UpdatePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was updated by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type UpdatePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; +export interface DeletePlansModulePayload { + clientMutationId?: string | null; + /** The `PlansModule` that was deleted by this mutation. */ + plansModule?: PlansModule | null; + plansModuleEdge?: PlansModuleEdge | null; +} +export type DeletePlansModulePayloadSelect = { + clientMutationId?: boolean; + plansModule?: { + select: PlansModuleSelect; + }; + plansModuleEdge?: { + select: PlansModuleEdgeSelect; + }; +}; export interface CreateSqlActionPayload { clientMutationId?: string | null; /** The `SqlAction` that was created by this mutation. */ @@ -32878,6 +37272,51 @@ export type DeleteOrgMembershipSettingPayloadSelect = { select: OrgMembershipSettingEdgeSelect; }; }; +export interface CreateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was created by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type CreateWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; +export interface UpdateWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was updated by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type UpdateWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; +export interface DeleteWebauthnSettingPayload { + clientMutationId?: string | null; + /** The `WebauthnSetting` that was deleted by this mutation. */ + webauthnSetting?: WebauthnSetting | null; + webauthnSettingEdge?: WebauthnSettingEdge | null; +} +export type DeleteWebauthnSettingPayloadSelect = { + clientMutationId?: boolean; + webauthnSetting?: { + select: WebauthnSettingSelect; + }; + webauthnSettingEdge?: { + select: WebauthnSettingEdgeSelect; + }; +}; export interface CreateAppMembershipPayload { clientMutationId?: string | null; /** The `AppMembership` that was created by this mutation. */ @@ -32923,6 +37362,51 @@ export type DeleteAppMembershipPayloadSelect = { select: AppMembershipEdgeSelect; }; }; +export interface CreateBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was created by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type CreateBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; +export interface UpdateBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was updated by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type UpdateBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; +export interface DeleteBillingProviderModulePayload { + clientMutationId?: string | null; + /** The `BillingProviderModule` that was deleted by this mutation. */ + billingProviderModule?: BillingProviderModule | null; + billingProviderModuleEdge?: BillingProviderModuleEdge | null; +} +export type DeleteBillingProviderModulePayloadSelect = { + clientMutationId?: boolean; + billingProviderModule?: { + select: BillingProviderModuleSelect; + }; + billingProviderModuleEdge?: { + select: BillingProviderModuleEdgeSelect; + }; +}; export interface CreateHierarchyModulePayload { clientMutationId?: string | null; /** The `HierarchyModule` that was created by this mutation. */ @@ -33225,6 +37709,18 @@ export type SpatialRelationEdgeSelect = { select: SpatialRelationSelect; }; }; +/** A `Partition` edge in the connection. */ +export interface PartitionEdge { + cursor?: string | null; + /** The `Partition` at the end of the edge. */ + node?: Partition | null; +} +export type PartitionEdgeSelect = { + cursor?: boolean; + node?: { + select: PartitionSelect; + }; +}; /** A `ForeignKeyConstraint` edge in the connection. */ export interface ForeignKeyConstraintEdge { cursor?: string | null; @@ -33465,6 +37961,18 @@ export type EnumEdgeSelect = { select: EnumSelect; }; }; +/** A `Function` edge in the connection. */ +export interface FunctionEdge { + cursor?: string | null; + /** The `Function` at the end of the edge. */ + node?: Function | null; +} +export type FunctionEdgeSelect = { + cursor?: boolean; + node?: { + select: FunctionSelect; + }; +}; /** A `ApiSchema` edge in the connection. */ export interface ApiSchemaEdge { cursor?: string | null; @@ -33537,6 +38045,18 @@ export type SiteThemeEdgeSelect = { select: SiteThemeSelect; }; }; +/** A `CorsSetting` edge in the connection. */ +export interface CorsSettingEdge { + cursor?: string | null; + /** The `CorsSetting` at the end of the edge. */ + node?: CorsSetting | null; +} +export type CorsSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: CorsSettingSelect; + }; +}; /** A `TriggerFunction` edge in the connection. */ export interface TriggerFunctionEdge { cursor?: string | null; @@ -33597,6 +38117,18 @@ export type AppEdgeSelect = { select: AppSelect; }; }; +/** A `ApiSetting` edge in the connection. */ +export interface ApiSettingEdge { + cursor?: string | null; + /** The `ApiSetting` at the end of the edge. */ + node?: ApiSetting | null; +} +export type ApiSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: ApiSettingSelect; + }; +}; /** A `ConnectedAccountsModule` edge in the connection. */ export interface ConnectedAccountsModuleEdge { cursor?: string | null; @@ -34089,6 +38621,42 @@ export type AppLimitEdgeSelect = { select: AppLimitSelect; }; }; +/** A `AppLimitCredit` edge in the connection. */ +export interface AppLimitCreditEdge { + cursor?: string | null; + /** The `AppLimitCredit` at the end of the edge. */ + node?: AppLimitCredit | null; +} +export type AppLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditSelect; + }; +}; +/** A `AppLimitCreditCodeItem` edge in the connection. */ +export interface AppLimitCreditCodeItemEdge { + cursor?: string | null; + /** The `AppLimitCreditCodeItem` at the end of the edge. */ + node?: AppLimitCreditCodeItem | null; +} +export type AppLimitCreditCodeItemEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeItemSelect; + }; +}; +/** A `AppLimitCreditRedemption` edge in the connection. */ +export interface AppLimitCreditRedemptionEdge { + cursor?: string | null; + /** The `AppLimitCreditRedemption` at the end of the edge. */ + node?: AppLimitCreditRedemption | null; +} +export type AppLimitCreditRedemptionEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditRedemptionSelect; + }; +}; /** A `OrgLimit` edge in the connection. */ export interface OrgLimitEdge { cursor?: string | null; @@ -34101,6 +38669,18 @@ export type OrgLimitEdgeSelect = { select: OrgLimitSelect; }; }; +/** A `OrgLimitCredit` edge in the connection. */ +export interface OrgLimitCreditEdge { + cursor?: string | null; + /** The `OrgLimitCredit` at the end of the edge. */ + node?: OrgLimitCredit | null; +} +export type OrgLimitCreditEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCreditSelect; + }; +}; /** A `OrgLimitAggregate` edge in the connection. */ export interface OrgLimitAggregateEdge { cursor?: string | null; @@ -34341,6 +38921,66 @@ export type AppPermissionDefaultEdgeSelect = { select: AppPermissionDefaultSelect; }; }; +/** A `AppLimitCreditCode` edge in the connection. */ +export interface AppLimitCreditCodeEdge { + cursor?: string | null; + /** The `AppLimitCreditCode` at the end of the edge. */ + node?: AppLimitCreditCode | null; +} +export type AppLimitCreditCodeEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCreditCodeSelect; + }; +}; +/** A `AppLimitCapsDefault` edge in the connection. */ +export interface AppLimitCapsDefaultEdge { + cursor?: string | null; + /** The `AppLimitCapsDefault` at the end of the edge. */ + node?: AppLimitCapsDefault | null; +} +export type AppLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapsDefaultSelect; + }; +}; +/** A `OrgLimitCapsDefault` edge in the connection. */ +export interface OrgLimitCapsDefaultEdge { + cursor?: string | null; + /** The `OrgLimitCapsDefault` at the end of the edge. */ + node?: OrgLimitCapsDefault | null; +} +export type OrgLimitCapsDefaultEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapsDefaultSelect; + }; +}; +/** A `AppLimitCap` edge in the connection. */ +export interface AppLimitCapEdge { + cursor?: string | null; + /** The `AppLimitCap` at the end of the edge. */ + node?: AppLimitCap | null; +} +export type AppLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: AppLimitCapSelect; + }; +}; +/** A `OrgLimitCap` edge in the connection. */ +export interface OrgLimitCapEdge { + cursor?: string | null; + /** The `OrgLimitCap` at the end of the edge. */ + node?: OrgLimitCap | null; +} +export type OrgLimitCapEdgeSelect = { + cursor?: boolean; + node?: { + select: OrgLimitCapSelect; + }; +}; /** A `MembershipType` edge in the connection. */ export interface MembershipTypeEdge { cursor?: string | null; @@ -34413,6 +39053,18 @@ export type CommitEdgeSelect = { select: CommitSelect; }; }; +/** A `PubkeySetting` edge in the connection. */ +export interface PubkeySettingEdge { + cursor?: string | null; + /** The `PubkeySetting` at the end of the edge. */ + node?: PubkeySetting | null; +} +export type PubkeySettingEdgeSelect = { + cursor?: boolean; + node?: { + select: PubkeySettingSelect; + }; +}; /** A `RateLimitsModule` edge in the connection. */ export interface RateLimitsModuleEdge { cursor?: string | null; @@ -34449,16 +39101,16 @@ export type OrgMembershipDefaultEdgeSelect = { select: OrgMembershipDefaultSelect; }; }; -/** A `PlansModule` edge in the connection. */ -export interface PlansModuleEdge { +/** A `RlsSetting` edge in the connection. */ +export interface RlsSettingEdge { cursor?: string | null; - /** The `PlansModule` at the end of the edge. */ - node?: PlansModule | null; + /** The `RlsSetting` at the end of the edge. */ + node?: RlsSetting | null; } -export type PlansModuleEdgeSelect = { +export type RlsSettingEdgeSelect = { cursor?: boolean; node?: { - select: PlansModuleSelect; + select: RlsSettingSelect; }; }; /** A `RlsModule` edge in the connection. */ @@ -34473,6 +39125,30 @@ export type RlsModuleEdgeSelect = { select: RlsModuleSelect; }; }; +/** A `DatabaseSetting` edge in the connection. */ +export interface DatabaseSettingEdge { + cursor?: string | null; + /** The `DatabaseSetting` at the end of the edge. */ + node?: DatabaseSetting | null; +} +export type DatabaseSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: DatabaseSettingSelect; + }; +}; +/** A `PlansModule` edge in the connection. */ +export interface PlansModuleEdge { + cursor?: string | null; + /** The `PlansModule` at the end of the edge. */ + node?: PlansModule | null; +} +export type PlansModuleEdgeSelect = { + cursor?: boolean; + node?: { + select: PlansModuleSelect; + }; +}; /** A `BillingModule` edge in the connection. */ export interface BillingModuleEdge { cursor?: string | null; @@ -34509,6 +39185,18 @@ export type OrgMembershipSettingEdgeSelect = { select: OrgMembershipSettingSelect; }; }; +/** A `WebauthnSetting` edge in the connection. */ +export interface WebauthnSettingEdge { + cursor?: string | null; + /** The `WebauthnSetting` at the end of the edge. */ + node?: WebauthnSetting | null; +} +export type WebauthnSettingEdgeSelect = { + cursor?: boolean; + node?: { + select: WebauthnSettingSelect; + }; +}; /** A `AppMembership` edge in the connection. */ export interface AppMembershipEdge { cursor?: string | null; @@ -34521,6 +39209,18 @@ export type AppMembershipEdgeSelect = { select: AppMembershipSelect; }; }; +/** A `BillingProviderModule` edge in the connection. */ +export interface BillingProviderModuleEdge { + cursor?: string | null; + /** The `BillingProviderModule` at the end of the edge. */ + node?: BillingProviderModule | null; +} +export type BillingProviderModuleEdgeSelect = { + cursor?: boolean; + node?: { + select: BillingProviderModuleSelect; + }; +}; /** A `HierarchyModule` edge in the connection. */ export interface HierarchyModuleEdge { cursor?: string | null; diff --git a/sdk/constructive-sdk/src/public/orm/models/apiSetting.ts b/sdk/constructive-sdk/src/public/orm/models/apiSetting.ts new file mode 100644 index 000000000..a7aeb908f --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/apiSetting.ts @@ -0,0 +1,237 @@ +/** + * ApiSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + ApiSetting, + ApiSettingWithRelations, + ApiSettingSelect, + ApiSettingFilter, + ApiSettingOrderBy, + CreateApiSettingInput, + UpdateApiSettingInput, + ApiSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class ApiSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'ApiSettingFilter', + 'ApiSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: args?.where, + }, + 'ApiSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + apiSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'ApiSetting', + 'apiSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'ApiSettingFilter', + 'ApiSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'ApiSetting', + fieldName: 'apiSetting', + document, + variables, + transform: (data: { + apiSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + apiSetting: data.apiSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'ApiSetting', + 'createApiSetting', + 'apiSetting', + args.select, + args.data, + 'CreateApiSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'createApiSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + ApiSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'ApiSetting', + 'updateApiSetting', + 'apiSetting', + args.select, + args.where.id, + args.data, + 'UpdateApiSettingInput', + 'id', + 'apiSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'updateApiSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteApiSetting: { + apiSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'ApiSetting', + 'deleteApiSetting', + 'apiSetting', + { + id: args.where.id, + }, + 'DeleteApiSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'ApiSetting', + fieldName: 'deleteApiSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/appLimitCap.ts b/sdk/constructive-sdk/src/public/orm/models/appLimitCap.ts new file mode 100644 index 000000000..b40f02904 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/appLimitCap.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCap, + AppLimitCapWithRelations, + AppLimitCapSelect, + AppLimitCapFilter, + AppLimitCapOrderBy, + CreateAppLimitCapInput, + UpdateAppLimitCapInput, + AppLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: args?.where, + }, + 'AppLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCap', + 'appLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapFilter', + 'AppLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCap', + fieldName: 'appLimitCap', + document, + variables, + transform: (data: { + appLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCap: data.appLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCap', + 'createAppLimitCap', + 'appLimitCap', + args.select, + args.data, + 'CreateAppLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'createAppLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCap', + 'updateAppLimitCap', + 'appLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapInput', + 'id', + 'appLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'updateAppLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCap: { + appLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCap', + 'deleteAppLimitCap', + 'appLimitCap', + { + id: args.where.id, + }, + 'DeleteAppLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCap', + fieldName: 'deleteAppLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/appLimitCapsDefault.ts b/sdk/constructive-sdk/src/public/orm/models/appLimitCapsDefault.ts new file mode 100644 index 000000000..b0ea0fcef --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/appLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCapsDefault, + AppLimitCapsDefaultWithRelations, + AppLimitCapsDefaultSelect, + AppLimitCapsDefaultFilter, + AppLimitCapsDefaultOrderBy, + CreateAppLimitCapsDefaultInput, + UpdateAppLimitCapsDefaultInput, + AppLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'AppLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCapsDefault', + 'appLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCapsDefaultFilter', + 'AppLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCapsDefault', + fieldName: 'appLimitCapsDefault', + document, + variables, + transform: (data: { + appLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCapsDefault: data.appLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCapsDefault', + 'createAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.data, + 'CreateAppLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'createAppLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCapsDefault', + 'updateAppLimitCapsDefault', + 'appLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCapsDefaultInput', + 'id', + 'appLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'updateAppLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCapsDefault: { + appLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCapsDefault', + 'deleteAppLimitCapsDefault', + 'appLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteAppLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCapsDefault', + fieldName: 'deleteAppLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/appLimitCredit.ts b/sdk/constructive-sdk/src/public/orm/models/appLimitCredit.ts new file mode 100644 index 000000000..392072a13 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/appLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCredit, + AppLimitCreditWithRelations, + AppLimitCreditSelect, + AppLimitCreditFilter, + AppLimitCreditOrderBy, + CreateAppLimitCreditInput, + UpdateAppLimitCreditInput, + AppLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCredit', + 'appLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditFilter', + 'AppLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCredit', + fieldName: 'appLimitCredit', + document, + variables, + transform: (data: { + appLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCredit: data.appLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCredit', + 'createAppLimitCredit', + 'appLimitCredit', + args.select, + args.data, + 'CreateAppLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'createAppLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCredit', + 'updateAppLimitCredit', + 'appLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditInput', + 'id', + 'appLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'updateAppLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCredit: { + appLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCredit', + 'deleteAppLimitCredit', + 'appLimitCredit', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCredit', + fieldName: 'deleteAppLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/appLimitCreditCode.ts b/sdk/constructive-sdk/src/public/orm/models/appLimitCreditCode.ts new file mode 100644 index 000000000..75a9d825a --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/appLimitCreditCode.ts @@ -0,0 +1,237 @@ +/** + * AppLimitCreditCode model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCode, + AppLimitCreditCodeWithRelations, + AppLimitCreditCodeSelect, + AppLimitCreditCodeFilter, + AppLimitCreditCodeOrderBy, + CreateAppLimitCreditCodeInput, + UpdateAppLimitCreditCodeInput, + AppLimitCreditCodePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodes: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCodes', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCode: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCode', + 'appLimitCreditCodes', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeFilter', + 'AppLimitCreditCodeOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCode', + fieldName: 'appLimitCreditCode', + document, + variables, + transform: (data: { + appLimitCreditCodes?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCode: data.appLimitCreditCodes?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCode', + 'createAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.data, + 'CreateAppLimitCreditCodeInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'createAppLimitCreditCode', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCode', + 'updateAppLimitCreditCode', + 'appLimitCreditCode', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeInput', + 'id', + 'appLimitCreditCodePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'updateAppLimitCreditCode', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCode: { + appLimitCreditCode: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCode', + 'deleteAppLimitCreditCode', + 'appLimitCreditCode', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCode', + fieldName: 'deleteAppLimitCreditCode', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/appLimitCreditCodeItem.ts b/sdk/constructive-sdk/src/public/orm/models/appLimitCreditCodeItem.ts new file mode 100644 index 000000000..381660fad --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/appLimitCreditCodeItem.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditCodeItem model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditCodeItem, + AppLimitCreditCodeItemWithRelations, + AppLimitCreditCodeItemSelect, + AppLimitCreditCodeItemFilter, + AppLimitCreditCodeItemOrderBy, + CreateAppLimitCreditCodeItemInput, + UpdateAppLimitCreditCodeItemInput, + AppLimitCreditCodeItemPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditCodeItemModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItems: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditCodeItemFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItems', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditCodeItem: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditCodeItem', + 'appLimitCreditCodeItems', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditCodeItemFilter', + 'AppLimitCreditCodeItemOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'appLimitCreditCodeItem', + document, + variables, + transform: (data: { + appLimitCreditCodeItems?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditCodeItem: data.appLimitCreditCodeItems?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditCodeItem', + 'createAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.data, + 'CreateAppLimitCreditCodeItemInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'createAppLimitCreditCodeItem', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditCodeItemPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditCodeItem', + 'updateAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditCodeItemInput', + 'id', + 'appLimitCreditCodeItemPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'updateAppLimitCreditCodeItem', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditCodeItem: { + appLimitCreditCodeItem: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditCodeItem', + 'deleteAppLimitCreditCodeItem', + 'appLimitCreditCodeItem', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditCodeItemInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditCodeItem', + fieldName: 'deleteAppLimitCreditCodeItem', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/appLimitCreditRedemption.ts b/sdk/constructive-sdk/src/public/orm/models/appLimitCreditRedemption.ts new file mode 100644 index 000000000..fd3676073 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/appLimitCreditRedemption.ts @@ -0,0 +1,239 @@ +/** + * AppLimitCreditRedemption model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + AppLimitCreditRedemption, + AppLimitCreditRedemptionWithRelations, + AppLimitCreditRedemptionSelect, + AppLimitCreditRedemptionFilter, + AppLimitCreditRedemptionOrderBy, + CreateAppLimitCreditRedemptionInput, + UpdateAppLimitCreditRedemptionInput, + AppLimitCreditRedemptionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class AppLimitCreditRedemptionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemptions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: args?.where, + }, + 'AppLimitCreditRedemptionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemptions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + appLimitCreditRedemption: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'AppLimitCreditRedemption', + 'appLimitCreditRedemptions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'AppLimitCreditRedemptionFilter', + 'AppLimitCreditRedemptionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'AppLimitCreditRedemption', + fieldName: 'appLimitCreditRedemption', + document, + variables, + transform: (data: { + appLimitCreditRedemptions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + appLimitCreditRedemption: data.appLimitCreditRedemptions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'AppLimitCreditRedemption', + 'createAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.data, + 'CreateAppLimitCreditRedemptionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'createAppLimitCreditRedemption', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + AppLimitCreditRedemptionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'AppLimitCreditRedemption', + 'updateAppLimitCreditRedemption', + 'appLimitCreditRedemption', + args.select, + args.where.id, + args.data, + 'UpdateAppLimitCreditRedemptionInput', + 'id', + 'appLimitCreditRedemptionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'updateAppLimitCreditRedemption', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteAppLimitCreditRedemption: { + appLimitCreditRedemption: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'AppLimitCreditRedemption', + 'deleteAppLimitCreditRedemption', + 'appLimitCreditRedemption', + { + id: args.where.id, + }, + 'DeleteAppLimitCreditRedemptionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'AppLimitCreditRedemption', + fieldName: 'deleteAppLimitCreditRedemption', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/billingProviderModule.ts b/sdk/constructive-sdk/src/public/orm/models/billingProviderModule.ts new file mode 100644 index 000000000..c29877b65 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/billingProviderModule.ts @@ -0,0 +1,239 @@ +/** + * BillingProviderModule model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + BillingProviderModule, + BillingProviderModuleWithRelations, + BillingProviderModuleSelect, + BillingProviderModuleFilter, + BillingProviderModuleOrderBy, + CreateBillingProviderModuleInput, + UpdateBillingProviderModuleInput, + BillingProviderModulePatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class BillingProviderModuleModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModules: ConnectionResult< + InferSelectResult + >; + }> { + const { document, variables } = buildFindManyDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'BillingProviderModuleFilter', + 'BillingProviderModuleOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModules', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModules: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: args?.where, + }, + 'BillingProviderModuleFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModules', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + billingProviderModule: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'BillingProviderModule', + 'billingProviderModules', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'BillingProviderModuleFilter', + 'BillingProviderModuleOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'BillingProviderModule', + fieldName: 'billingProviderModule', + document, + variables, + transform: (data: { + billingProviderModules?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + billingProviderModule: data.billingProviderModules?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'BillingProviderModule', + 'createBillingProviderModule', + 'billingProviderModule', + args.select, + args.data, + 'CreateBillingProviderModuleInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'createBillingProviderModule', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + BillingProviderModulePatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'BillingProviderModule', + 'updateBillingProviderModule', + 'billingProviderModule', + args.select, + args.where.id, + args.data, + 'UpdateBillingProviderModuleInput', + 'id', + 'billingProviderModulePatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'updateBillingProviderModule', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteBillingProviderModule: { + billingProviderModule: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'BillingProviderModule', + 'deleteBillingProviderModule', + 'billingProviderModule', + { + id: args.where.id, + }, + 'DeleteBillingProviderModuleInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'BillingProviderModule', + fieldName: 'deleteBillingProviderModule', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/corsSetting.ts b/sdk/constructive-sdk/src/public/orm/models/corsSetting.ts new file mode 100644 index 000000000..be377becc --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/corsSetting.ts @@ -0,0 +1,237 @@ +/** + * CorsSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + CorsSetting, + CorsSettingWithRelations, + CorsSettingSelect, + CorsSettingFilter, + CorsSettingOrderBy, + CreateCorsSettingInput, + UpdateCorsSettingInput, + CorsSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class CorsSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'CorsSettingFilter', + 'CorsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: args?.where, + }, + 'CorsSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + corsSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'CorsSetting', + 'corsSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'CorsSettingFilter', + 'CorsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'CorsSetting', + fieldName: 'corsSetting', + document, + variables, + transform: (data: { + corsSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + corsSetting: data.corsSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'CorsSetting', + 'createCorsSetting', + 'corsSetting', + args.select, + args.data, + 'CreateCorsSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'createCorsSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + CorsSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'CorsSetting', + 'updateCorsSetting', + 'corsSetting', + args.select, + args.where.id, + args.data, + 'UpdateCorsSettingInput', + 'id', + 'corsSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'updateCorsSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteCorsSetting: { + corsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'CorsSetting', + 'deleteCorsSetting', + 'corsSetting', + { + id: args.where.id, + }, + 'DeleteCorsSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'CorsSetting', + fieldName: 'deleteCorsSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/databaseSetting.ts b/sdk/constructive-sdk/src/public/orm/models/databaseSetting.ts new file mode 100644 index 000000000..9f2c563fa --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/databaseSetting.ts @@ -0,0 +1,237 @@ +/** + * DatabaseSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + DatabaseSetting, + DatabaseSettingWithRelations, + DatabaseSettingSelect, + DatabaseSettingFilter, + DatabaseSettingOrderBy, + CreateDatabaseSettingInput, + UpdateDatabaseSettingInput, + DatabaseSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class DatabaseSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'DatabaseSettingFilter', + 'DatabaseSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: args?.where, + }, + 'DatabaseSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + databaseSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'DatabaseSetting', + 'databaseSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'DatabaseSettingFilter', + 'DatabaseSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'DatabaseSetting', + fieldName: 'databaseSetting', + document, + variables, + transform: (data: { + databaseSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + databaseSetting: data.databaseSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'DatabaseSetting', + 'createDatabaseSetting', + 'databaseSetting', + args.select, + args.data, + 'CreateDatabaseSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'createDatabaseSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + DatabaseSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'DatabaseSetting', + 'updateDatabaseSetting', + 'databaseSetting', + args.select, + args.where.id, + args.data, + 'UpdateDatabaseSettingInput', + 'id', + 'databaseSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'updateDatabaseSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteDatabaseSetting: { + databaseSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'DatabaseSetting', + 'deleteDatabaseSetting', + 'databaseSetting', + { + id: args.where.id, + }, + 'DeleteDatabaseSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'DatabaseSetting', + fieldName: 'deleteDatabaseSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/function.ts b/sdk/constructive-sdk/src/public/orm/models/function.ts new file mode 100644 index 000000000..a67b4a1e8 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/function.ts @@ -0,0 +1,237 @@ +/** + * Function model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + Function, + FunctionWithRelations, + FunctionSelect, + FunctionFilter, + FunctionOrderBy, + CreateFunctionInput, + UpdateFunctionInput, + FunctionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class FunctionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + functions: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'Function', + 'functions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'FunctionFilter', + 'FunctionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'functions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + functions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'Function', + 'functions', + args.select, + { + where: args?.where, + }, + 'FunctionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'functions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + function: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'Function', + 'functions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'FunctionFilter', + 'FunctionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Function', + fieldName: 'function', + document, + variables, + transform: (data: { + functions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + function: data.functions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'Function', + 'createFunction', + 'function', + args.select, + args.data, + 'CreateFunctionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'createFunction', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + FunctionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'Function', + 'updateFunction', + 'function', + args.select, + args.where.id, + args.data, + 'UpdateFunctionInput', + 'id', + 'functionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'updateFunction', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteFunction: { + function: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'Function', + 'deleteFunction', + 'function', + { + id: args.where.id, + }, + 'DeleteFunctionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Function', + fieldName: 'deleteFunction', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/index.ts b/sdk/constructive-sdk/src/public/orm/models/index.ts index aa7f94162..f2ff7a2ef 100644 --- a/sdk/constructive-sdk/src/public/orm/models/index.ts +++ b/sdk/constructive-sdk/src/public/orm/models/index.ts @@ -16,6 +16,7 @@ export { TableModel } from './table'; export { CheckConstraintModel } from './checkConstraint'; export { FieldModel } from './field'; export { SpatialRelationModel } from './spatialRelation'; +export { PartitionModel } from './partition'; export { ForeignKeyConstraintModel } from './foreignKeyConstraint'; export { FullTextSearchModel } from './fullTextSearch'; export { IndexModel } from './indexModel'; @@ -36,17 +37,20 @@ export { IdentityProvidersModuleModel } from './identityProvidersModule'; export { SchemaGrantModel } from './schemaGrant'; export { DefaultPrivilegeModel } from './defaultPrivilege'; export { EnumModel } from './enum'; +export { FunctionModel } from './function'; export { ApiSchemaModel } from './apiSchema'; export { ApiModuleModel } from './apiModule'; export { DomainModel } from './domain'; export { SiteMetadatumModel } from './siteMetadatum'; export { SiteModuleModel } from './siteModule'; export { SiteThemeModel } from './siteTheme'; +export { CorsSettingModel } from './corsSetting'; export { TriggerFunctionModel } from './triggerFunction'; export { DatabaseTransferModel } from './databaseTransfer'; export { ApiModel } from './api'; export { SiteModel } from './site'; export { AppModel } from './app'; +export { ApiSettingModel } from './apiSetting'; export { ConnectedAccountsModuleModel } from './connectedAccountsModule'; export { CryptoAddressesModuleModel } from './cryptoAddressesModule'; export { CryptoAuthModuleModel } from './cryptoAuthModule'; @@ -88,7 +92,11 @@ export { OrgChartEdgeModel } from './orgChartEdge'; export { OrgChartEdgeGrantModel } from './orgChartEdgeGrant'; export { OrgPermissionDefaultModel } from './orgPermissionDefault'; export { AppLimitModel } from './appLimit'; +export { AppLimitCreditModel } from './appLimitCredit'; +export { AppLimitCreditCodeItemModel } from './appLimitCreditCodeItem'; +export { AppLimitCreditRedemptionModel } from './appLimitCreditRedemption'; export { OrgLimitModel } from './orgLimit'; +export { OrgLimitCreditModel } from './orgLimitCredit'; export { OrgLimitAggregateModel } from './orgLimitAggregate'; export { AppStepModel } from './appStep'; export { AppAchievementModel } from './appAchievement'; @@ -110,6 +118,11 @@ export { IdentityProviderModel } from './identityProvider'; export { RefModel } from './ref'; export { StoreModel } from './store'; export { AppPermissionDefaultModel } from './appPermissionDefault'; +export { AppLimitCreditCodeModel } from './appLimitCreditCode'; +export { AppLimitCapsDefaultModel } from './appLimitCapsDefault'; +export { OrgLimitCapsDefaultModel } from './orgLimitCapsDefault'; +export { AppLimitCapModel } from './appLimitCap'; +export { OrgLimitCapModel } from './orgLimitCap'; export { MembershipTypeModel } from './membershipType'; export { MigrateFileModel } from './migrateFile'; export { DevicesModuleModel } from './devicesModule'; @@ -118,17 +131,22 @@ export { AppLimitDefaultModel } from './appLimitDefault'; export { OrgLimitDefaultModel } from './orgLimitDefault'; export { UserConnectedAccountModel } from './userConnectedAccount'; export { CommitModel } from './commit'; +export { PubkeySettingModel } from './pubkeySetting'; export { RateLimitsModuleModel } from './rateLimitsModule'; export { AppMembershipDefaultModel } from './appMembershipDefault'; export { OrgMembershipDefaultModel } from './orgMembershipDefault'; +export { RlsSettingModel } from './rlsSetting'; export { AppLimitEventModel } from './appLimitEvent'; export { OrgLimitEventModel } from './orgLimitEvent'; -export { PlansModuleModel } from './plansModule'; export { RlsModuleModel } from './rlsModule'; +export { DatabaseSettingModel } from './databaseSetting'; +export { PlansModuleModel } from './plansModule'; export { SqlActionModel } from './sqlAction'; export { BillingModuleModel } from './billingModule'; export { AstMigrationModel } from './astMigration'; export { UserModel } from './user'; export { OrgMembershipSettingModel } from './orgMembershipSetting'; +export { WebauthnSettingModel } from './webauthnSetting'; export { AppMembershipModel } from './appMembership'; +export { BillingProviderModuleModel } from './billingProviderModule'; export { HierarchyModuleModel } from './hierarchyModule'; diff --git a/sdk/constructive-sdk/src/public/orm/models/orgLimitCap.ts b/sdk/constructive-sdk/src/public/orm/models/orgLimitCap.ts new file mode 100644 index 000000000..0cb635912 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/orgLimitCap.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCap model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCap, + OrgLimitCapWithRelations, + OrgLimitCapSelect, + OrgLimitCapFilter, + OrgLimitCapOrderBy, + CreateOrgLimitCapInput, + UpdateOrgLimitCapInput, + OrgLimitCapPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCaps: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCaps', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCap: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCap', + 'orgLimitCaps', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapFilter', + 'OrgLimitCapOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCap', + fieldName: 'orgLimitCap', + document, + variables, + transform: (data: { + orgLimitCaps?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCap: data.orgLimitCaps?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCap', + 'createOrgLimitCap', + 'orgLimitCap', + args.select, + args.data, + 'CreateOrgLimitCapInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'createOrgLimitCap', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCap', + 'updateOrgLimitCap', + 'orgLimitCap', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapInput', + 'id', + 'orgLimitCapPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'updateOrgLimitCap', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCap: { + orgLimitCap: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCap', + 'deleteOrgLimitCap', + 'orgLimitCap', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCap', + fieldName: 'deleteOrgLimitCap', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/orgLimitCapsDefault.ts b/sdk/constructive-sdk/src/public/orm/models/orgLimitCapsDefault.ts new file mode 100644 index 000000000..722bb185f --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/orgLimitCapsDefault.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCapsDefault model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCapsDefault, + OrgLimitCapsDefaultWithRelations, + OrgLimitCapsDefaultSelect, + OrgLimitCapsDefaultFilter, + OrgLimitCapsDefaultOrderBy, + CreateOrgLimitCapsDefaultInput, + UpdateOrgLimitCapsDefaultInput, + OrgLimitCapsDefaultPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCapsDefaultModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefaults: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: args?.where, + }, + 'OrgLimitCapsDefaultFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefaults', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCapsDefault: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCapsDefault', + 'orgLimitCapsDefaults', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCapsDefaultFilter', + 'OrgLimitCapsDefaultOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCapsDefault', + fieldName: 'orgLimitCapsDefault', + document, + variables, + transform: (data: { + orgLimitCapsDefaults?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCapsDefault: data.orgLimitCapsDefaults?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCapsDefault', + 'createOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.data, + 'CreateOrgLimitCapsDefaultInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'createOrgLimitCapsDefault', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCapsDefaultPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCapsDefault', + 'updateOrgLimitCapsDefault', + 'orgLimitCapsDefault', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCapsDefaultInput', + 'id', + 'orgLimitCapsDefaultPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'updateOrgLimitCapsDefault', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCapsDefault: { + orgLimitCapsDefault: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCapsDefault', + 'deleteOrgLimitCapsDefault', + 'orgLimitCapsDefault', + { + id: args.where.id, + }, + 'DeleteOrgLimitCapsDefaultInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCapsDefault', + fieldName: 'deleteOrgLimitCapsDefault', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/orgLimitCredit.ts b/sdk/constructive-sdk/src/public/orm/models/orgLimitCredit.ts new file mode 100644 index 000000000..68e631fa7 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/orgLimitCredit.ts @@ -0,0 +1,237 @@ +/** + * OrgLimitCredit model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + OrgLimitCredit, + OrgLimitCreditWithRelations, + OrgLimitCreditSelect, + OrgLimitCreditFilter, + OrgLimitCreditOrderBy, + CreateOrgLimitCreditInput, + UpdateOrgLimitCreditInput, + OrgLimitCreditPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class OrgLimitCreditModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredits: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: args?.where, + }, + 'OrgLimitCreditFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredits', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + orgLimitCredit: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'OrgLimitCredit', + 'orgLimitCredits', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'OrgLimitCreditFilter', + 'OrgLimitCreditOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'OrgLimitCredit', + fieldName: 'orgLimitCredit', + document, + variables, + transform: (data: { + orgLimitCredits?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + orgLimitCredit: data.orgLimitCredits?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'OrgLimitCredit', + 'createOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.data, + 'CreateOrgLimitCreditInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'createOrgLimitCredit', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + OrgLimitCreditPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'OrgLimitCredit', + 'updateOrgLimitCredit', + 'orgLimitCredit', + args.select, + args.where.id, + args.data, + 'UpdateOrgLimitCreditInput', + 'id', + 'orgLimitCreditPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'updateOrgLimitCredit', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteOrgLimitCredit: { + orgLimitCredit: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'OrgLimitCredit', + 'deleteOrgLimitCredit', + 'orgLimitCredit', + { + id: args.where.id, + }, + 'DeleteOrgLimitCreditInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'OrgLimitCredit', + fieldName: 'deleteOrgLimitCredit', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/partition.ts b/sdk/constructive-sdk/src/public/orm/models/partition.ts new file mode 100644 index 000000000..d445663ca --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/partition.ts @@ -0,0 +1,237 @@ +/** + * Partition model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + Partition, + PartitionWithRelations, + PartitionSelect, + PartitionFilter, + PartitionOrderBy, + CreatePartitionInput, + UpdatePartitionInput, + PartitionPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class PartitionModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + partitions: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'Partition', + 'partitions', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'PartitionFilter', + 'PartitionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partitions', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + partitions: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'Partition', + 'partitions', + args.select, + { + where: args?.where, + }, + 'PartitionFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partitions', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + partition: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'Partition', + 'partitions', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'PartitionFilter', + 'PartitionOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'Partition', + fieldName: 'partition', + document, + variables, + transform: (data: { + partitions?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + partition: data.partitions?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createPartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'Partition', + 'createPartition', + 'partition', + args.select, + args.data, + 'CreatePartitionInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'createPartition', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + PartitionPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updatePartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'Partition', + 'updatePartition', + 'partition', + args.select, + args.where.id, + args.data, + 'UpdatePartitionInput', + 'id', + 'partitionPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'updatePartition', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deletePartition: { + partition: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'Partition', + 'deletePartition', + 'partition', + { + id: args.where.id, + }, + 'DeletePartitionInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'Partition', + fieldName: 'deletePartition', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/pubkeySetting.ts b/sdk/constructive-sdk/src/public/orm/models/pubkeySetting.ts new file mode 100644 index 000000000..be3fd5a2e --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/pubkeySetting.ts @@ -0,0 +1,237 @@ +/** + * PubkeySetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + PubkeySetting, + PubkeySettingWithRelations, + PubkeySettingSelect, + PubkeySettingFilter, + PubkeySettingOrderBy, + CreatePubkeySettingInput, + UpdatePubkeySettingInput, + PubkeySettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class PubkeySettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'PubkeySettingFilter', + 'PubkeySettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: args?.where, + }, + 'PubkeySettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + pubkeySetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'PubkeySetting', + 'pubkeySettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'PubkeySettingFilter', + 'PubkeySettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'PubkeySetting', + fieldName: 'pubkeySetting', + document, + variables, + transform: (data: { + pubkeySettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + pubkeySetting: data.pubkeySettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createPubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'PubkeySetting', + 'createPubkeySetting', + 'pubkeySetting', + args.select, + args.data, + 'CreatePubkeySettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'createPubkeySetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + PubkeySettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updatePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'PubkeySetting', + 'updatePubkeySetting', + 'pubkeySetting', + args.select, + args.where.id, + args.data, + 'UpdatePubkeySettingInput', + 'id', + 'pubkeySettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'updatePubkeySetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deletePubkeySetting: { + pubkeySetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'PubkeySetting', + 'deletePubkeySetting', + 'pubkeySetting', + { + id: args.where.id, + }, + 'DeletePubkeySettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'PubkeySetting', + fieldName: 'deletePubkeySetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/rlsSetting.ts b/sdk/constructive-sdk/src/public/orm/models/rlsSetting.ts new file mode 100644 index 000000000..d87cd8673 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/rlsSetting.ts @@ -0,0 +1,237 @@ +/** + * RlsSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + RlsSetting, + RlsSettingWithRelations, + RlsSettingSelect, + RlsSettingFilter, + RlsSettingOrderBy, + CreateRlsSettingInput, + UpdateRlsSettingInput, + RlsSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class RlsSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'RlsSettingFilter', + 'RlsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: args?.where, + }, + 'RlsSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + rlsSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'RlsSetting', + 'rlsSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'RlsSettingFilter', + 'RlsSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'RlsSetting', + fieldName: 'rlsSetting', + document, + variables, + transform: (data: { + rlsSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + rlsSetting: data.rlsSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'RlsSetting', + 'createRlsSetting', + 'rlsSetting', + args.select, + args.data, + 'CreateRlsSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'createRlsSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + RlsSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'RlsSetting', + 'updateRlsSetting', + 'rlsSetting', + args.select, + args.where.id, + args.data, + 'UpdateRlsSettingInput', + 'id', + 'rlsSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'updateRlsSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteRlsSetting: { + rlsSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'RlsSetting', + 'deleteRlsSetting', + 'rlsSetting', + { + id: args.where.id, + }, + 'DeleteRlsSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'RlsSetting', + fieldName: 'deleteRlsSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/models/webauthnSetting.ts b/sdk/constructive-sdk/src/public/orm/models/webauthnSetting.ts new file mode 100644 index 000000000..7e4453c37 --- /dev/null +++ b/sdk/constructive-sdk/src/public/orm/models/webauthnSetting.ts @@ -0,0 +1,237 @@ +/** + * WebauthnSetting model for ORM client + * @generated by @constructive-io/graphql-codegen + * DO NOT EDIT - changes will be overwritten + */ +import { OrmClient } from '../client'; +import { + QueryBuilder, + buildFindManyDocument, + buildFindFirstDocument, + buildFindOneDocument, + buildCreateDocument, + buildUpdateByPkDocument, + buildDeleteByPkDocument, +} from '../query-builder'; +import type { + ConnectionResult, + FindManyArgs, + FindFirstArgs, + CreateArgs, + UpdateArgs, + DeleteArgs, + InferSelectResult, + StrictSelect, +} from '../select-types'; +import type { + WebauthnSetting, + WebauthnSettingWithRelations, + WebauthnSettingSelect, + WebauthnSettingFilter, + WebauthnSettingOrderBy, + CreateWebauthnSettingInput, + UpdateWebauthnSettingInput, + WebauthnSettingPatch, +} from '../input-types'; +import { connectionFieldsMap } from '../input-types'; +export class WebauthnSettingModel { + constructor(private client: OrmClient) {} + findMany( + args: FindManyArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSettings: ConnectionResult>; + }> { + const { document, variables } = buildFindManyDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: args?.where, + orderBy: args?.orderBy as string[] | undefined, + first: args?.first, + last: args?.last, + after: args?.after, + before: args?.before, + offset: args?.offset, + }, + 'WebauthnSettingFilter', + 'WebauthnSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSettings', + document, + variables, + }); + } + findFirst( + args: FindFirstArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSettings: { + nodes: InferSelectResult[]; + }; + }> { + const { document, variables } = buildFindFirstDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: args?.where, + }, + 'WebauthnSettingFilter', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSettings', + document, + variables, + }); + } + findOne( + args: { + id: string; + select: S; + } & StrictSelect + ): QueryBuilder<{ + webauthnSetting: InferSelectResult | null; + }> { + const { document, variables } = buildFindManyDocument( + 'WebauthnSetting', + 'webauthnSettings', + args.select, + { + where: { + id: { + equalTo: args.id, + }, + }, + first: 1, + }, + 'WebauthnSettingFilter', + 'WebauthnSettingOrderBy', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'query', + operationName: 'WebauthnSetting', + fieldName: 'webauthnSetting', + document, + variables, + transform: (data: { + webauthnSettings?: { + nodes?: InferSelectResult[]; + }; + }) => ({ + webauthnSetting: data.webauthnSettings?.nodes?.[0] ?? null, + }), + }); + } + create( + args: CreateArgs & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + createWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildCreateDocument( + 'WebauthnSetting', + 'createWebauthnSetting', + 'webauthnSetting', + args.select, + args.data, + 'CreateWebauthnSettingInput', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'createWebauthnSetting', + document, + variables, + }); + } + update( + args: UpdateArgs< + S, + { + id: string; + }, + WebauthnSettingPatch + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + updateWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildUpdateByPkDocument( + 'WebauthnSetting', + 'updateWebauthnSetting', + 'webauthnSetting', + args.select, + args.where.id, + args.data, + 'UpdateWebauthnSettingInput', + 'id', + 'webauthnSettingPatch', + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'updateWebauthnSetting', + document, + variables, + }); + } + delete( + args: DeleteArgs< + { + id: string; + }, + S + > & { + select: S; + } & StrictSelect + ): QueryBuilder<{ + deleteWebauthnSetting: { + webauthnSetting: InferSelectResult; + }; + }> { + const { document, variables } = buildDeleteByPkDocument( + 'WebauthnSetting', + 'deleteWebauthnSetting', + 'webauthnSetting', + { + id: args.where.id, + }, + 'DeleteWebauthnSettingInput', + args.select, + connectionFieldsMap + ); + return new QueryBuilder({ + client: this.client, + operation: 'mutation', + operationName: 'WebauthnSetting', + fieldName: 'deleteWebauthnSetting', + document, + variables, + }); + } +} diff --git a/sdk/constructive-sdk/src/public/orm/mutation/index.ts b/sdk/constructive-sdk/src/public/orm/mutation/index.ts index 3ca6964aa..d993e9065 100644 --- a/sdk/constructive-sdk/src/public/orm/mutation/index.ts +++ b/sdk/constructive-sdk/src/public/orm/mutation/index.ts @@ -33,6 +33,7 @@ import type { ProvisionSpatialRelationInput, BootstrapUserInput, SetFieldOrderInput, + AppendSmartTagsInput, ProvisionUniqueConstraintInput, ProvisionFullTextSearchInput, ProvisionIndexInput, @@ -54,7 +55,6 @@ import type { RequestCrossOriginTokenInput, SignInInput, ProvisionTableInput, - RequestUploadUrlInput, ProvisionBucketInput, SendAccountDeletionEmailPayload, SignOutPayload, @@ -82,6 +82,7 @@ import type { ProvisionSpatialRelationPayload, BootstrapUserPayload, SetFieldOrderPayload, + AppendSmartTagsPayload, ProvisionUniqueConstraintPayload, ProvisionFullTextSearchPayload, ProvisionIndexPayload, @@ -103,7 +104,6 @@ import type { RequestCrossOriginTokenPayload, SignInPayload, ProvisionTablePayload, - RequestUploadUrlPayload, ProvisionBucketPayload, SendAccountDeletionEmailPayloadSelect, SignOutPayloadSelect, @@ -131,6 +131,7 @@ import type { ProvisionSpatialRelationPayloadSelect, BootstrapUserPayloadSelect, SetFieldOrderPayloadSelect, + AppendSmartTagsPayloadSelect, ProvisionUniqueConstraintPayloadSelect, ProvisionFullTextSearchPayloadSelect, ProvisionIndexPayloadSelect, @@ -152,7 +153,6 @@ import type { RequestCrossOriginTokenPayloadSelect, SignInPayloadSelect, ProvisionTablePayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -246,6 +246,9 @@ export interface BootstrapUserVariables { export interface SetFieldOrderVariables { input: SetFieldOrderInput; } +export interface AppendSmartTagsVariables { + input: AppendSmartTagsInput; +} /** * Variables for provisionUniqueConstraint * Creates a unique constraint on a table. Accepts a jsonb definition with columns (array of field names). Graceful: skips if the exact same unique constraint already exists. @@ -348,16 +351,6 @@ export interface SignInVariables { export interface ProvisionTableVariables { input: ProvisionTableInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -1124,6 +1117,35 @@ export function createMutationOperations(client: OrmClient) { 'SetFieldOrderPayload' ), }), + appendSmartTags: ( + args: AppendSmartTagsVariables, + options: { + select: S; + } & StrictSelect + ) => + new QueryBuilder<{ + appendSmartTags: InferSelectResult | null; + }>({ + client, + operation: 'mutation', + operationName: 'AppendSmartTags', + fieldName: 'appendSmartTags', + ...buildCustomDocument( + 'mutation', + 'AppendSmartTags', + 'appendSmartTags', + options.select, + args, + [ + { + name: 'input', + type: 'AppendSmartTagsInput!', + }, + ], + connectionFieldsMap, + 'AppendSmartTagsPayload' + ), + }), provisionUniqueConstraint: ( args: ProvisionUniqueConstraintVariables, options: { @@ -1733,35 +1755,6 @@ export function createMutationOperations(client: OrmClient) { 'ProvisionTablePayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/constructive-sdk/src/public/orm/query-builder.ts b/sdk/constructive-sdk/src/public/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/constructive-sdk/src/public/orm/query-builder.ts +++ b/sdk/constructive-sdk/src/public/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.` diff --git a/sdk/migrate-client/schemas/migrate.graphql b/sdk/migrate-client/schemas/migrate.graphql index d394b8b16..bea5c265b 100644 --- a/sdk/migrate-client/schemas/migrate.graphql +++ b/sdk/migrate-client/schemas/migrate.graphql @@ -1,3 +1,69 @@ +"""The root query type which gives access points into the data universe.""" +type Query { + """Reads and enables pagination through a set of `MigrateFile`.""" + migrateFiles( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: MigrateFileFilter + + """The method to use when ordering `MigrateFile`.""" + orderBy: [MigrateFileOrderBy!] = [PRIMARY_KEY_ASC] + ): MigrateFileConnection + + """Reads and enables pagination through a set of `SqlAction`.""" + sqlActions( + """Only read the first `n` values of the set.""" + first: Int + + """Only read the last `n` values of the set.""" + last: Int + + """ + Skip the first `n` values from our `after` cursor, an alternative to cursor + based pagination. May not be used with `last`. + """ + offset: Int + + """Read all values in the set before (above) this cursor.""" + before: Cursor + + """Read all values in the set after (below) this cursor.""" + after: Cursor + + """ + A filter to be used in determining which values should be returned by the collection. + """ + where: SqlActionFilter + + """The method to use when ordering `SqlAction`.""" + orderBy: [SqlActionOrderBy!] = [PRIMARY_KEY_ASC] + ): SqlActionConnection + + """ + Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. + """ + _meta: MetaSchema +} + """A connection to a list of `MigrateFile` values.""" type MigrateFileConnection { """A list of `MigrateFile` objects.""" @@ -758,6 +824,85 @@ type MetaQuery { delete: String } +""" +The root mutation type which contains root level fields which mutate data. +""" +type Mutation { + executeSql( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ExecuteSqlInput! + ): ExecuteSqlPayload + runMigration( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: RunMigrationInput! + ): RunMigrationPayload + + """Creates a single `MigrateFile`.""" + createMigrateFile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateMigrateFileInput! + ): CreateMigrateFilePayload + + """Creates a single `SqlAction`.""" + createSqlAction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: CreateSqlActionInput! + ): CreateSqlActionPayload + + """Updates a single `MigrateFile` using a unique key and a patch.""" + updateMigrateFile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateMigrateFileInput! + ): UpdateMigrateFilePayload + + """Updates a single `SqlAction` using a unique key and a patch.""" + updateSqlAction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: UpdateSqlActionInput! + ): UpdateSqlActionPayload + + """Deletes a single `MigrateFile` using a unique key.""" + deleteMigrateFile( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteMigrateFileInput! + ): DeleteMigrateFilePayload + + """Deletes a single `SqlAction` using a unique key.""" + deleteSqlAction( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: DeleteSqlActionInput! + ): DeleteSqlActionPayload + + """ + Provision an S3 bucket for a logical bucket in the database. + Reads the bucket config via RLS, then creates and configures + the S3 bucket with the appropriate privacy policies, CORS rules, + and lifecycle settings. + """ + provisionBucket( + """ + The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. + """ + input: ProvisionBucketInput! + ): ProvisionBucketPayload +} + """The output of our `executeSql` mutation.""" type ExecuteSqlPayload { """ @@ -1078,206 +1223,6 @@ input DeleteSqlActionInput { id: Int! } -input RequestUploadUrlInput { - """Bucket key (e.g., "public", "private")""" - bucketKey: String! - - """ - Owner entity ID for entity-scoped uploads. - Omit for app-level (database-wide) storage. - When provided, resolves the storage module for the entity type - that owns this entity instance (e.g., a data room ID, team ID). - """ - ownerId: UUID - - """SHA-256 content hash computed by the client (hex-encoded, 64 chars)""" - contentHash: String! - - """MIME type of the file (e.g., "image/png")""" - contentType: String! - - """File size in bytes""" - size: Int! - - """Original filename (optional, for display and Content-Disposition)""" - filename: String -} - -type RequestUploadUrlPayload { - """Presigned PUT URL (null if file was deduplicated)""" - uploadUrl: String - - """The file ID (existing if deduplicated, new if fresh upload)""" - fileId: UUID! - - """The S3 object key""" - key: String! - - """Whether this file was deduplicated (already exists with same hash)""" - deduplicated: Boolean! - - """Presigned URL expiry time (null if deduplicated)""" - expiresAt: Datetime -} - -"""The root query type which gives access points into the data universe.""" -type Query { - """Reads and enables pagination through a set of `MigrateFile`.""" - migrateFiles( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: MigrateFileFilter - - """The method to use when ordering `MigrateFile`.""" - orderBy: [MigrateFileOrderBy!] = [PRIMARY_KEY_ASC] - ): MigrateFileConnection - - """Reads and enables pagination through a set of `SqlAction`.""" - sqlActions( - """Only read the first `n` values of the set.""" - first: Int - - """Only read the last `n` values of the set.""" - last: Int - - """ - Skip the first `n` values from our `after` cursor, an alternative to cursor - based pagination. May not be used with `last`. - """ - offset: Int - - """Read all values in the set before (above) this cursor.""" - before: Cursor - - """Read all values in the set after (below) this cursor.""" - after: Cursor - - """ - A filter to be used in determining which values should be returned by the collection. - """ - where: SqlActionFilter - - """The method to use when ordering `SqlAction`.""" - orderBy: [SqlActionOrderBy!] = [PRIMARY_KEY_ASC] - ): SqlActionConnection - - """ - Metadata about the database schema, including tables, fields, indexes, and constraints. Useful for code generation tools. - """ - _meta: MetaSchema -} - -""" -The root mutation type which contains root level fields which mutate data. -""" -type Mutation { - executeSql( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ExecuteSqlInput! - ): ExecuteSqlPayload - runMigration( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RunMigrationInput! - ): RunMigrationPayload - - """Creates a single `MigrateFile`.""" - createMigrateFile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateMigrateFileInput! - ): CreateMigrateFilePayload - - """Creates a single `SqlAction`.""" - createSqlAction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: CreateSqlActionInput! - ): CreateSqlActionPayload - - """Updates a single `MigrateFile` using a unique key and a patch.""" - updateMigrateFile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateMigrateFileInput! - ): UpdateMigrateFilePayload - - """Updates a single `SqlAction` using a unique key and a patch.""" - updateSqlAction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: UpdateSqlActionInput! - ): UpdateSqlActionPayload - - """Deletes a single `MigrateFile` using a unique key.""" - deleteMigrateFile( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteMigrateFileInput! - ): DeleteMigrateFilePayload - - """Deletes a single `SqlAction` using a unique key.""" - deleteSqlAction( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: DeleteSqlActionInput! - ): DeleteSqlActionPayload - - """ - Request a presigned URL for uploading a file directly to S3. - Client computes SHA-256 of the file content and provides it here. - If a file with the same hash already exists (dedup), returns the - existing file ID and deduplicated=true with no uploadUrl. - """ - requestUploadUrl( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: RequestUploadUrlInput! - ): RequestUploadUrlPayload - - """ - Provision an S3 bucket for a logical bucket in the database. - Reads the bucket config via RLS, then creates and configures - the S3 bucket with the appropriate privacy policies, CORS rules, - and lifecycle settings. - """ - provisionBucket( - """ - The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields. - """ - input: ProvisionBucketInput! - ): ProvisionBucketPayload -} - input ProvisionBucketInput { """The logical bucket key (e.g., "public", "private")""" bucketKey: String! diff --git a/sdk/migrate-client/src/migrate/README.md b/sdk/migrate-client/src/migrate/README.md index 59fc419ab..341abfa78 100644 --- a/sdk/migrate-client/src/migrate/README.md +++ b/sdk/migrate-client/src/migrate/README.md @@ -10,7 +10,7 @@ - **Tables:** 2 - **Custom queries:** 0 -- **Custom mutations:** 4 +- **Custom mutations:** 3 **Generators:** ORM diff --git a/sdk/migrate-client/src/migrate/orm/README.md b/sdk/migrate-client/src/migrate/orm/README.md index 0a66a792b..c10c839e8 100644 --- a/sdk/migrate-client/src/migrate/orm/README.md +++ b/sdk/migrate-client/src/migrate/orm/README.md @@ -130,24 +130,6 @@ runMigration const result = await db.mutation.runMigration({ input: { databaseId: '', migration: '', kind: '' } }).execute(); ``` -### `db.mutation.requestUploadUrl` - -Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - -- **Type:** mutation -- **Arguments:** - - | Argument | Type | - |----------|------| - | `input` | RequestUploadUrlInput (required) | - -```typescript -const result = await db.mutation.requestUploadUrl({ input: '' }).execute(); -``` - ### `db.mutation.provisionBucket` Provision an S3 bucket for a logical bucket in the database. diff --git a/sdk/migrate-client/src/migrate/orm/input-types.ts b/sdk/migrate-client/src/migrate/orm/input-types.ts index e3250de1f..2f1a80322 100644 --- a/sdk/migrate-client/src/migrate/orm/input-types.ts +++ b/sdk/migrate-client/src/migrate/orm/input-types.ts @@ -453,25 +453,6 @@ export interface RunMigrationInput { migration?: number; kind?: string; } -export interface RequestUploadUrlInput { - /** Bucket key (e.g., "public", "private") */ - bucketKey: string; - /** - * Owner entity ID for entity-scoped uploads. - * Omit for app-level (database-wide) storage. - * When provided, resolves the storage module for the entity type - * that owns this entity instance (e.g., a data room ID, team ID). - */ - ownerId?: string; - /** SHA-256 content hash computed by the client (hex-encoded, 64 chars) */ - contentHash: string; - /** MIME type of the file (e.g., "image/png") */ - contentType: string; - /** File size in bytes */ - size: number; - /** Original filename (optional, for display and Content-Disposition) */ - filename?: string; -} export interface ProvisionBucketInput { /** The logical bucket key (e.g., "public", "private") */ bucketKey: string; @@ -529,25 +510,6 @@ export interface RunMigrationPayload { export type RunMigrationPayloadSelect = { clientMutationId?: boolean; }; -export interface RequestUploadUrlPayload { - /** Presigned PUT URL (null if file was deduplicated) */ - uploadUrl?: string | null; - /** The file ID (existing if deduplicated, new if fresh upload) */ - fileId: string; - /** The S3 object key */ - key: string; - /** Whether this file was deduplicated (already exists with same hash) */ - deduplicated: boolean; - /** Presigned URL expiry time (null if deduplicated) */ - expiresAt?: string | null; -} -export type RequestUploadUrlPayloadSelect = { - uploadUrl?: boolean; - fileId?: boolean; - key?: boolean; - deduplicated?: boolean; - expiresAt?: boolean; -}; export interface ProvisionBucketPayload { /** Whether provisioning succeeded */ success: boolean; diff --git a/sdk/migrate-client/src/migrate/orm/mutation/index.ts b/sdk/migrate-client/src/migrate/orm/mutation/index.ts index 0ebaa3cbf..2f9e1b5fe 100644 --- a/sdk/migrate-client/src/migrate/orm/mutation/index.ts +++ b/sdk/migrate-client/src/migrate/orm/mutation/index.ts @@ -9,15 +9,12 @@ import type { InferSelectResult, StrictSelect } from '../select-types'; import type { ExecuteSqlInput, RunMigrationInput, - RequestUploadUrlInput, ProvisionBucketInput, ExecuteSqlPayload, RunMigrationPayload, - RequestUploadUrlPayload, ProvisionBucketPayload, ExecuteSqlPayloadSelect, RunMigrationPayloadSelect, - RequestUploadUrlPayloadSelect, ProvisionBucketPayloadSelect, } from '../input-types'; import { connectionFieldsMap } from '../input-types'; @@ -27,16 +24,6 @@ export interface ExecuteSqlVariables { export interface RunMigrationVariables { input: RunMigrationInput; } -/** - * Variables for requestUploadUrl - * Request a presigned URL for uploading a file directly to S3. -Client computes SHA-256 of the file content and provides it here. -If a file with the same hash already exists (dedup), returns the -existing file ID and deduplicated=true with no uploadUrl. - */ -export interface RequestUploadUrlVariables { - input: RequestUploadUrlInput; -} /** * Variables for provisionBucket * Provision an S3 bucket for a logical bucket in the database. @@ -107,35 +94,6 @@ export function createMutationOperations(client: OrmClient) { 'RunMigrationPayload' ), }), - requestUploadUrl: ( - args: RequestUploadUrlVariables, - options: { - select: S; - } & StrictSelect - ) => - new QueryBuilder<{ - requestUploadUrl: InferSelectResult | null; - }>({ - client, - operation: 'mutation', - operationName: 'RequestUploadUrl', - fieldName: 'requestUploadUrl', - ...buildCustomDocument( - 'mutation', - 'RequestUploadUrl', - 'requestUploadUrl', - options.select, - args, - [ - { - name: 'input', - type: 'RequestUploadUrlInput!', - }, - ], - connectionFieldsMap, - 'RequestUploadUrlPayload' - ), - }), provisionBucket: ( args: ProvisionBucketVariables, options: { diff --git a/sdk/migrate-client/src/migrate/orm/query-builder.ts b/sdk/migrate-client/src/migrate/orm/query-builder.ts index f2fd4566f..6d4514874 100644 --- a/sdk/migrate-client/src/migrate/orm/query-builder.ts +++ b/sdk/migrate-client/src/migrate/orm/query-builder.ts @@ -126,12 +126,43 @@ export function buildSelections( if (typeof value === 'object' && value !== null) { const nested = value as { select?: Record; + args?: Record; first?: number; filter?: Record; orderBy?: string[]; connection?: boolean; }; + // Field with arguments (e.g. requestUploadUrl on bucket types) + if (nested.args && typeof nested.args === 'object') { + const fieldArgs = Object.entries(nested.args).map(([argName, argValue]) => + t.argument({ name: argName, value: buildValueAst(argValue) }) + ); + const nestedSelect = nested.select; + if (nestedSelect && typeof nestedSelect === 'object') { + const subSelections = Object.entries(nestedSelect) + .filter(([, v]) => v) + .map(([name]) => t.field({ name })); + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + selectionSet: subSelections.length + ? t.selectionSet({ selections: subSelections }) + : undefined, + }) + ); + } else { + fields.push( + t.field({ + name: key, + args: fieldArgs.length ? fieldArgs : undefined, + }) + ); + } + continue; + } + if (!nested.select || typeof nested.select !== 'object') { throw new Error( `Invalid selection for field "${key}": nested selections must include a "select" object.`