@contember/schema 2.1.0-alpha.9 → 2.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +25 -0
- package/dist/development/src/ProjectRole.cjs.map +1 -1
- package/dist/development/src/ProjectRole.js.map +1 -1
- package/dist/development/src/schema/acl.cjs.map +1 -1
- package/dist/development/src/schema/acl.js.map +1 -1
- package/dist/development/src/schema/input.cjs.map +1 -1
- package/dist/development/src/schema/input.js.map +1 -1
- package/dist/development/src/schema/model.cjs.map +1 -1
- package/dist/development/src/schema/model.js.map +1 -1
- package/dist/development/src/schema/result.cjs.map +1 -1
- package/dist/development/src/schema/result.js.map +1 -1
- package/dist/development/src/schema/validation.cjs.map +1 -1
- package/dist/development/src/schema/validation.js.map +1 -1
- package/dist/production/src/ProjectRole.cjs.map +1 -1
- package/dist/production/src/ProjectRole.js.map +1 -1
- package/dist/production/src/schema/acl.cjs.map +1 -1
- package/dist/production/src/schema/acl.js.map +1 -1
- package/dist/production/src/schema/input.cjs.map +1 -1
- package/dist/production/src/schema/input.js.map +1 -1
- package/dist/production/src/schema/model.cjs.map +1 -1
- package/dist/production/src/schema/model.js.map +1 -1
- package/dist/production/src/schema/result.cjs.map +1 -1
- package/dist/production/src/schema/result.js.map +1 -1
- package/dist/production/src/schema/validation.cjs.map +1 -1
- package/dist/production/src/schema/validation.js.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/schema/acl.d.ts +3 -3
- package/dist/types/schema/acl.d.ts.map +1 -1
- package/dist/types/schema/actions.d.ts +1 -0
- package/dist/types/schema/actions.d.ts.map +1 -1
- package/dist/types/schema/actionsPayload.d.ts +13 -0
- package/dist/types/schema/actionsPayload.d.ts.map +1 -1
- package/dist/types/schema/input.d.ts +1 -1
- package/dist/types/schema/input.d.ts.map +1 -1
- package/dist/types/schema/model.d.ts +5 -2
- package/dist/types/schema/model.d.ts.map +1 -1
- package/dist/types/schema/settings.d.ts +4 -0
- package/dist/types/schema/settings.d.ts.map +1 -1
- package/dist/types/schema/validation.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -2
- package/src/index.ts +1 -1
- package/src/schema/acl.ts +10 -12
- package/src/schema/actions.ts +2 -2
- package/src/schema/actionsPayload.ts +14 -1
- package/src/schema/input.ts +20 -18
- package/src/schema/model.ts +93 -10
- package/src/schema/settings.ts +5 -0
- package/src/schema/validation.ts +2 -2
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# schema
|
|
2
|
+
|
|
3
|
+
Pure TypeScript type definitions for the Contember schema. No runtime logic — only interfaces, types, and enums used by all other packages.
|
|
4
|
+
|
|
5
|
+
## Main Types
|
|
6
|
+
|
|
7
|
+
- **Model** (`model.ts`): `Entity`, `Column`, relation types (`ManyHasOne`, `OneHasOne`, `OneHasMany`, `ManyHasMany` with owning/inverse variants), `ColumnType` enum (Uuid, String, Int, Double, Bool, Enum, DateTime, Date, Time, Json), unique constraints, indexes, views, field visitors
|
|
8
|
+
- **ACL** (`acl.ts`): `Roles`, `EntityPermissions`, `EntityOperations`, `FieldPermissions`, `PredicateDefinition`, variables (`EntityVariable`, `PredefinedVariable`, `ConditionVariable`), `Membership`, tenant/system/content permissions
|
|
9
|
+
- **Input** (`input.ts`): GraphQL input types for mutations (Create/Update/Delete/Upsert), query inputs (Where, OrderBy, Condition with all operators), relation operations (connect, disconnect, create, etc.)
|
|
10
|
+
- **Validation** (`validation.ts`): `Validator` discriminated union (and, or, not, pattern, range, etc.), `ValidationRule`, entity rules
|
|
11
|
+
- **Actions** (`actions.ts`): `BasicTrigger`, `WatchTrigger`, `WebhookTarget`, `SelectionNode`
|
|
12
|
+
- **Result** (`result.ts`): Mutation results, validation results, execution errors with path fragments
|
|
13
|
+
- **Settings** (`settings.ts`): `TenantSettings`, `ContentSettings` (uuidVersion 4/7, date formats)
|
|
14
|
+
|
|
15
|
+
## Top-Level Schema Type
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
interface Schema {
|
|
19
|
+
model: Model.Schema // entities + enums
|
|
20
|
+
acl: Acl.Schema // roles + permissions
|
|
21
|
+
validation: Validation.Schema
|
|
22
|
+
actions: Actions.Schema
|
|
23
|
+
settings: Settings.Schema
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRole.cjs","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ProjectRole.cjs","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":";;AAAO,IAAK,gCAAAA,iBAAL;AACNA,eAAA,OAAA,IAAQ;AACRA,eAAA,eAAA,IAAgB;AAChBA,eAAA,UAAA,IAAW;AAHA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRole.js","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectRole.js","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":"AAAO,IAAK,gCAAAA,iBAAL;AACNA,eAAA,OAAA,IAAQ;AACRA,eAAA,eAAA,IAAgB;AAChBA,eAAA,UAAA,IAAW;AAHA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.cjs","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\
|
|
1
|
+
{"version":3,"file":"acl.cjs","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\t\t// currently unsupported\n\t\t// enum = 'enum',\n\t\t// column = 'column',\n\t}\n\n\texport type Variable =\n\t\t| EntityVariable\n\t\t| PredefinedVariable\n\t\t| ConditionVariable\n\t// | EnumVariable | ColumnValueVariable\n\n\texport type EntityVariable = {\n\t\treadonly type: VariableType.entity\n\t\treadonly entityName: string\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\texport type PredefinedVariableValue = 'identityID' | 'personID'\n\texport type PredefinedVariable = {\n\t\treadonly type: VariableType.predefined\n\t\treadonly value: PredefinedVariableValue\n\t}\n\n\texport type ConditionVariable = {\n\t\treadonly type: VariableType.condition\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\t// export interface EnumVariable {\n\t// \ttype: VariableType.enum\n\t// \tenumName: string\n\t// }\n\n\t// export interface ColumnValueVariable {\n\t// \ttype: VariableType.column\n\t// \tentityName: string\n\t// \tfieldName: string\n\t// }\n\n\texport type PredicateVariable = string // { name: string }\n\texport type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>\n\n\texport type PredicateMap = { readonly [name: string]: PredicateDefinition }\n\n\texport type EntityPermissions = {\n\t\treadonly predicates: PredicateMap\n\t\treadonly operations: EntityOperations\n\t}\n\n\texport enum Operation {\n\t\tread = 'read',\n\t\tcreate = 'create',\n\t\tupdate = 'update',\n\t\tdelete = 'delete',\n\t}\n\n\texport type EntityOperations = {\n\t\treadonly read?: FieldPermissions\n\t\treadonly create?: FieldPermissions\n\t\treadonly update?: FieldPermissions\n\t\treadonly delete?: Predicate\n\t\treadonly noRoot?: readonly `${Operation}`[]\n\n\t\treadonly customPrimary?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport type FieldPermissions = { readonly [field: string]: Predicate }\n\n\texport type PredicateReference = string\n\texport type Predicate = PredicateReference | boolean\n\n\texport type AnyStage = '*'\n\texport type StagesDefinition = AnyStage | readonly string[]\n\n\texport type MembershipVariableMatchRule = true | string\n\n\texport type MembershipVariablesMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly [targetVariable: string]: MembershipVariableMatchRule\n\t\t}\n\n\texport type MembershipRoleMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly variables?: MembershipVariablesMatchRule\n\t\t}\n\n\texport type MembershipMatchRule =\n\t\t| boolean\n\t\t| {\n\t\t\treadonly [role: string]: MembershipRoleMatchRule\n\t\t}\n\n\texport type TenantPermissions = {\n\t\treadonly invite?: MembershipMatchRule\n\t\treadonly unmanagedInvite?: MembershipMatchRule\n\t\treadonly view?: MembershipMatchRule\n\t\treadonly manage?: MembershipMatchRule\n\t}\n\n\texport enum SystemPermissionsLevel {\n\t\tnone = 'none',\n\t\tany = 'any',\n\t\tsome = 'some',\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport type LimitedSystemPermissionsLevel = 'any' | 'none'\n\n\texport type SystemPermissions = {\n\t\treadonly history?: boolean | LimitedSystemPermissionsLevel\n\t\treadonly migrate?: boolean\n\t\treadonly assumeIdentity?: boolean\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t}\n\n\texport type ContentPermissions = {\n\t\treadonly assumeMembership?: MembershipMatchRule\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport interface BaseRolePermissions {\n\t\treadonly inherits?: readonly string[]\n\t\treadonly implicit?: boolean\n\t\treadonly tenant?: TenantPermissions\n\t\treadonly system?: SystemPermissions\n\t\treadonly content?: ContentPermissions\n\t\treadonly variables: Acl.Variables\n\t\treadonly stages?: StagesDefinition\n\t\treadonly entities: Permissions\n\t\treadonly debug?: boolean\n\t}\n\n\texport type RolePermissions =\n\t\t& BaseRolePermissions\n\t\t& {\n\t\t\treadonly [key: string]: JSONValue\n\t\t}\n\texport type Permissions = {\n\t\treadonly [entity: string]: EntityPermissions\n\t}\n\n\texport type Roles = { readonly [role: string]: RolePermissions }\n\texport type Variables = { readonly [name: string]: Variable }\n\n\texport type Schema = {\n\t\treadonly customPrimary?: boolean\n\t\treadonly roles: Acl.Roles\n\t}\n\n\texport type VariablesMap = {\n\t\treadonly [name: string]: Input.Condition\n\t}\n\n\texport interface MembershipVariable {\n\t\treadonly name: string\n\t\treadonly values: readonly string[]\n\t}\n\n\texport interface Membership {\n\t\treadonly role: string\n\t\treadonly variables: readonly MembershipVariable[]\n\t}\n}\n"],"names":["Acl","VariableType","Operation","SystemPermissionsLevel"],"mappings":";;AAGiBA,QAAAA,MAAAA;AAAAA,CAAV,CAAUA,SAAV;AACC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,QAAA,IAAS;AACTA,kBAAA,YAAA,IAAa;AACbA,kBAAA,WAAA,IAAY;AAAA,EAAA,GAHDD,KAAA,iBAAAA,KAAA,eAAA,CAAA,EAAA;AAqDL,GAAA,CAAKE,eAAL;AACNA,eAAA,MAAA,IAAO;AACPA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AAAA,EAAA,GAJEF,KAAA,cAAAA,KAAA,YAAA,CAAA,EAAA;AAqDL,GAAA,CAAKG,4BAAL;AACNA,4BAAA,MAAA,IAAO;AACPA,4BAAA,KAAA,IAAM;AACNA,4BAAA,MAAA,IAAO;AAAA,EAAA,GAHIH,KAAA,2BAAAA,KAAA,yBAAA,CAAA,EAAA;AAAA,GA3GIA,QAAAA,QAAAA,cAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.js","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\
|
|
1
|
+
{"version":3,"file":"acl.js","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\t\t// currently unsupported\n\t\t// enum = 'enum',\n\t\t// column = 'column',\n\t}\n\n\texport type Variable =\n\t\t| EntityVariable\n\t\t| PredefinedVariable\n\t\t| ConditionVariable\n\t// | EnumVariable | ColumnValueVariable\n\n\texport type EntityVariable = {\n\t\treadonly type: VariableType.entity\n\t\treadonly entityName: string\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\texport type PredefinedVariableValue = 'identityID' | 'personID'\n\texport type PredefinedVariable = {\n\t\treadonly type: VariableType.predefined\n\t\treadonly value: PredefinedVariableValue\n\t}\n\n\texport type ConditionVariable = {\n\t\treadonly type: VariableType.condition\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\t// export interface EnumVariable {\n\t// \ttype: VariableType.enum\n\t// \tenumName: string\n\t// }\n\n\t// export interface ColumnValueVariable {\n\t// \ttype: VariableType.column\n\t// \tentityName: string\n\t// \tfieldName: string\n\t// }\n\n\texport type PredicateVariable = string // { name: string }\n\texport type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>\n\n\texport type PredicateMap = { readonly [name: string]: PredicateDefinition }\n\n\texport type EntityPermissions = {\n\t\treadonly predicates: PredicateMap\n\t\treadonly operations: EntityOperations\n\t}\n\n\texport enum Operation {\n\t\tread = 'read',\n\t\tcreate = 'create',\n\t\tupdate = 'update',\n\t\tdelete = 'delete',\n\t}\n\n\texport type EntityOperations = {\n\t\treadonly read?: FieldPermissions\n\t\treadonly create?: FieldPermissions\n\t\treadonly update?: FieldPermissions\n\t\treadonly delete?: Predicate\n\t\treadonly noRoot?: readonly `${Operation}`[]\n\n\t\treadonly customPrimary?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport type FieldPermissions = { readonly [field: string]: Predicate }\n\n\texport type PredicateReference = string\n\texport type Predicate = PredicateReference | boolean\n\n\texport type AnyStage = '*'\n\texport type StagesDefinition = AnyStage | readonly string[]\n\n\texport type MembershipVariableMatchRule = true | string\n\n\texport type MembershipVariablesMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly [targetVariable: string]: MembershipVariableMatchRule\n\t\t}\n\n\texport type MembershipRoleMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly variables?: MembershipVariablesMatchRule\n\t\t}\n\n\texport type MembershipMatchRule =\n\t\t| boolean\n\t\t| {\n\t\t\treadonly [role: string]: MembershipRoleMatchRule\n\t\t}\n\n\texport type TenantPermissions = {\n\t\treadonly invite?: MembershipMatchRule\n\t\treadonly unmanagedInvite?: MembershipMatchRule\n\t\treadonly view?: MembershipMatchRule\n\t\treadonly manage?: MembershipMatchRule\n\t}\n\n\texport enum SystemPermissionsLevel {\n\t\tnone = 'none',\n\t\tany = 'any',\n\t\tsome = 'some',\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport type LimitedSystemPermissionsLevel = 'any' | 'none'\n\n\texport type SystemPermissions = {\n\t\treadonly history?: boolean | LimitedSystemPermissionsLevel\n\t\treadonly migrate?: boolean\n\t\treadonly assumeIdentity?: boolean\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t}\n\n\texport type ContentPermissions = {\n\t\treadonly assumeMembership?: MembershipMatchRule\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport interface BaseRolePermissions {\n\t\treadonly inherits?: readonly string[]\n\t\treadonly implicit?: boolean\n\t\treadonly tenant?: TenantPermissions\n\t\treadonly system?: SystemPermissions\n\t\treadonly content?: ContentPermissions\n\t\treadonly variables: Acl.Variables\n\t\treadonly stages?: StagesDefinition\n\t\treadonly entities: Permissions\n\t\treadonly debug?: boolean\n\t}\n\n\texport type RolePermissions =\n\t\t& BaseRolePermissions\n\t\t& {\n\t\t\treadonly [key: string]: JSONValue\n\t\t}\n\texport type Permissions = {\n\t\treadonly [entity: string]: EntityPermissions\n\t}\n\n\texport type Roles = { readonly [role: string]: RolePermissions }\n\texport type Variables = { readonly [name: string]: Variable }\n\n\texport type Schema = {\n\t\treadonly customPrimary?: boolean\n\t\treadonly roles: Acl.Roles\n\t}\n\n\texport type VariablesMap = {\n\t\treadonly [name: string]: Input.Condition\n\t}\n\n\texport interface MembershipVariable {\n\t\treadonly name: string\n\t\treadonly values: readonly string[]\n\t}\n\n\texport interface Membership {\n\t\treadonly role: string\n\t\treadonly variables: readonly MembershipVariable[]\n\t}\n}\n"],"names":["Acl","VariableType","Operation","SystemPermissionsLevel"],"mappings":"AAGO,IAAU;AAAA,CAAV,CAAUA,SAAV;AACC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,QAAA,IAAS;AACTA,kBAAA,YAAA,IAAa;AACbA,kBAAA,WAAA,IAAY;AAAA,EAAA,GAHDD,KAAA,iBAAAA,KAAA,eAAA,CAAA,EAAA;AAqDL,GAAA,CAAKE,eAAL;AACNA,eAAA,MAAA,IAAO;AACPA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AAAA,EAAA,GAJEF,KAAA,cAAAA,KAAA,YAAA,CAAA,EAAA;AAqDL,GAAA,CAAKG,4BAAL;AACNA,4BAAA,MAAA,IAAO;AACPA,4BAAA,KAAA,IAAM;AACNA,4BAAA,MAAA,IAAO;AAAA,EAAA,GAHIH,KAAA,2BAAAA,KAAA,yBAAA,CAAA,EAAA;AAAA,GA3GI,QAAA,MAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.cjs","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never>
|
|
1
|
+
{"version":3,"file":"input.cjs","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t)\n\n\texport type CreateManyRelationInput<E = never> = Array<CreateOneRelationInput<E>>\n\n\texport interface UpdateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | UpdateOneRelationInput<E> | UpdateManyRelationInput<E>\n\t}\n\n\texport interface UpdateInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tdata: UpdateDataInput<E>\n\t}\n\n\texport interface UpsertInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tupdate: UpdateDataInput<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface CreateInput<E = never> {\n\t\tdata: CreateDataInput<E>\n\t}\n\n\texport interface DeleteInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface UniqueQueryInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface ListQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\toffset?: number\n\t\tlimit?: number\n\t}\n\n\texport interface PaginationQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\tskip?: number\n\t\tfirst?: number\n\t}\n\n\t/** @deprecated */\n\texport type SelectQueryInput<E = never> = PaginationQueryInput<E>\n\n\texport type UpdateOneRelationInput<E = never> =\n\t\t| CreateRelationInput<E>\n\t\t| ConnectRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t\t| DeleteRelationInput\n\t\t| DisconnectRelationInput\n\t\t| UpdateRelationInput<E>\n\t\t| UpsertRelationInput<E>\n\n\texport type UpdateManyRelationInputItem<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t\t| DeleteSpecifiedRelationInput<E>\n\t\t\t| DisconnectSpecifiedRelationInput<E>\n\t\t\t| UpdateSpecifiedRelationInput<E>\n\t\t\t| UpsertSpecifiedRelationInput<E>\n\t\t)\n\n\texport type UpdateManyRelationInput<E = never> = Array<UpdateManyRelationInputItem<E>>\n\n\texport enum OrderDirection {\n\t\tasc = 'asc',\n\t\tascNullsFirst = 'ascNullsFirst',\n\t\tdesc = 'desc',\n\t\tdescNullsLast = 'descNullsLast',\n\n\t\t/** @deprecated use ascNullsFirst*/\n\t\tascNullFirst = 'ascNullsFirst',\n\t}\n\n\t// generics required by admin\n\texport type FieldOrderBy<T = OrderDirection> = T | OrderBy<T>\n\n\texport interface OrderByFields<T = OrderDirection> {\n\t\t[fieldName: string]: FieldOrderBy<T>\n\t}\n\n\texport type OrderBy<T = OrderDirection> = OrderByFields<T> & { _random?: boolean; _randomSeeded?: number }\n\n\texport type Condition<T = Value.FieldValue> = {\n\t\t// boolean\n\t\treadonly and?: readonly Condition<T>[]\n\t\treadonly or?: readonly Condition<T>[]\n\t\treadonly not?: Condition<T>\n\n\t\t// null\n\t\treadonly isNull?: boolean\n\n\t\t// basic\n\t\treadonly eq?: T\n\t\treadonly notEq?: T\n\t\treadonly in?: readonly T[]\n\t\treadonly notIn?: readonly T[]\n\t\treadonly lt?: T\n\t\treadonly lte?: T\n\t\treadonly gt?: T\n\t\treadonly gte?: T\n\n\t\t// array\n\t\treadonly minLength?: number\n\t\treadonly maxLength?: number\n\t\treadonly includes?: T extends (infer U)[] ? U : never\n\n\t\t// string only\n\t\treadonly contains?: string\n\t\treadonly startsWith?: string\n\t\treadonly endsWith?: string\n\t\treadonly containsCI?: string\n\t\treadonly startsWithCI?: string\n\t\treadonly endsWithCI?: string\n\n\t\t// special\n\t\treadonly never?: true\n\t\treadonly always?: true\n\n\t\t// deprecated\n\t\treadonly null?: boolean\n\t}\n\n\texport type UniqueWhere<E = never> = {\n\t\treadonly [field: string]: Value.PrimaryValue<E> | UniqueWhere<E>\n\t}\n\n\texport type ComposedWhere<C, Opt = never> = {\n\t\treadonly and?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly or?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly not?: Where<C, Opt> | Opt\n\t}\n\n\texport interface FieldWhere<C = Condition, Opt = never> {\n\t\treadonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] // last one if for ComposedWhere\n\t}\n\n\texport type Where<C = Condition, Opt = never> = ComposedWhere<C, Opt> & FieldWhere<C, Opt>\n\n\texport type OptionalWhere<E = never> = Where<Condition<Value.FieldValue<E>>, null | undefined>\n\texport type OptionalFieldWhere<E = never> = FieldWhere<Condition<Value.FieldValue<E>>, null | undefined>\n\n\texport enum FieldMeta {\n\t\treadable = 'readable',\n\t\tupdatable = 'updatable',\n\t}\n}\n"],"names":["Input","UpdateRelationOperation","CreateRelationOperation","OrderDirection","FieldMeta"],"mappings":";;AAEiBA,QAAAA,QAAAA;AAAAA,CAAV,CAAUA,WAAV;AAIC,GAAA,CAAKC,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,YAAA,IAAa;AACbA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAClBA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AAAA,EAAA,GAPED,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AAUL,GAAA,CAAKE,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAAA,EAAA,GAHPF,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AA4IL,GAAA,CAAKG,oBAAL;AACNA,oBAAA,KAAA,IAAM;AACNA,oBAAA,eAAA,IAAgB;AAChBA,oBAAA,MAAA,IAAO;AACPA,oBAAA,eAAA,IAAgB;AAGhBA,oBAAA,cAAA,IAAe;AAAA,EAAA,GAPJH,OAAA,mBAAAA,OAAA,iBAAA,CAAA,EAAA;AA8EL,GAAA,CAAKI,eAAL;AACNA,eAAA,UAAA,IAAW;AACXA,eAAA,WAAA,IAAY;AAAA,EAAA,GAFDJ,OAAA,cAAAA,OAAA,YAAA,CAAA,EAAA;AAAA,GAxOIA,QAAAA,UAAAA,gBAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never>
|
|
1
|
+
{"version":3,"file":"input.js","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t)\n\n\texport type CreateManyRelationInput<E = never> = Array<CreateOneRelationInput<E>>\n\n\texport interface UpdateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | UpdateOneRelationInput<E> | UpdateManyRelationInput<E>\n\t}\n\n\texport interface UpdateInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tdata: UpdateDataInput<E>\n\t}\n\n\texport interface UpsertInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tupdate: UpdateDataInput<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface CreateInput<E = never> {\n\t\tdata: CreateDataInput<E>\n\t}\n\n\texport interface DeleteInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface UniqueQueryInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface ListQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\toffset?: number\n\t\tlimit?: number\n\t}\n\n\texport interface PaginationQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\tskip?: number\n\t\tfirst?: number\n\t}\n\n\t/** @deprecated */\n\texport type SelectQueryInput<E = never> = PaginationQueryInput<E>\n\n\texport type UpdateOneRelationInput<E = never> =\n\t\t| CreateRelationInput<E>\n\t\t| ConnectRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t\t| DeleteRelationInput\n\t\t| DisconnectRelationInput\n\t\t| UpdateRelationInput<E>\n\t\t| UpsertRelationInput<E>\n\n\texport type UpdateManyRelationInputItem<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t\t| DeleteSpecifiedRelationInput<E>\n\t\t\t| DisconnectSpecifiedRelationInput<E>\n\t\t\t| UpdateSpecifiedRelationInput<E>\n\t\t\t| UpsertSpecifiedRelationInput<E>\n\t\t)\n\n\texport type UpdateManyRelationInput<E = never> = Array<UpdateManyRelationInputItem<E>>\n\n\texport enum OrderDirection {\n\t\tasc = 'asc',\n\t\tascNullsFirst = 'ascNullsFirst',\n\t\tdesc = 'desc',\n\t\tdescNullsLast = 'descNullsLast',\n\n\t\t/** @deprecated use ascNullsFirst*/\n\t\tascNullFirst = 'ascNullsFirst',\n\t}\n\n\t// generics required by admin\n\texport type FieldOrderBy<T = OrderDirection> = T | OrderBy<T>\n\n\texport interface OrderByFields<T = OrderDirection> {\n\t\t[fieldName: string]: FieldOrderBy<T>\n\t}\n\n\texport type OrderBy<T = OrderDirection> = OrderByFields<T> & { _random?: boolean; _randomSeeded?: number }\n\n\texport type Condition<T = Value.FieldValue> = {\n\t\t// boolean\n\t\treadonly and?: readonly Condition<T>[]\n\t\treadonly or?: readonly Condition<T>[]\n\t\treadonly not?: Condition<T>\n\n\t\t// null\n\t\treadonly isNull?: boolean\n\n\t\t// basic\n\t\treadonly eq?: T\n\t\treadonly notEq?: T\n\t\treadonly in?: readonly T[]\n\t\treadonly notIn?: readonly T[]\n\t\treadonly lt?: T\n\t\treadonly lte?: T\n\t\treadonly gt?: T\n\t\treadonly gte?: T\n\n\t\t// array\n\t\treadonly minLength?: number\n\t\treadonly maxLength?: number\n\t\treadonly includes?: T extends (infer U)[] ? U : never\n\n\t\t// string only\n\t\treadonly contains?: string\n\t\treadonly startsWith?: string\n\t\treadonly endsWith?: string\n\t\treadonly containsCI?: string\n\t\treadonly startsWithCI?: string\n\t\treadonly endsWithCI?: string\n\n\t\t// special\n\t\treadonly never?: true\n\t\treadonly always?: true\n\n\t\t// deprecated\n\t\treadonly null?: boolean\n\t}\n\n\texport type UniqueWhere<E = never> = {\n\t\treadonly [field: string]: Value.PrimaryValue<E> | UniqueWhere<E>\n\t}\n\n\texport type ComposedWhere<C, Opt = never> = {\n\t\treadonly and?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly or?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly not?: Where<C, Opt> | Opt\n\t}\n\n\texport interface FieldWhere<C = Condition, Opt = never> {\n\t\treadonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] // last one if for ComposedWhere\n\t}\n\n\texport type Where<C = Condition, Opt = never> = ComposedWhere<C, Opt> & FieldWhere<C, Opt>\n\n\texport type OptionalWhere<E = never> = Where<Condition<Value.FieldValue<E>>, null | undefined>\n\texport type OptionalFieldWhere<E = never> = FieldWhere<Condition<Value.FieldValue<E>>, null | undefined>\n\n\texport enum FieldMeta {\n\t\treadable = 'readable',\n\t\tupdatable = 'updatable',\n\t}\n}\n"],"names":["Input","UpdateRelationOperation","CreateRelationOperation","OrderDirection","FieldMeta"],"mappings":"AAEO,IAAU;AAAA,CAAV,CAAUA,WAAV;AAIC,GAAA,CAAKC,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,YAAA,IAAa;AACbA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAClBA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AAAA,EAAA,GAPED,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AAUL,GAAA,CAAKE,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAAA,EAAA,GAHPF,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AA4IL,GAAA,CAAKG,oBAAL;AACNA,oBAAA,KAAA,IAAM;AACNA,oBAAA,eAAA,IAAgB;AAChBA,oBAAA,MAAA,IAAO;AACPA,oBAAA,eAAA,IAAgB;AAGhBA,oBAAA,cAAA,IAAe;AAAA,EAAA,GAPJH,OAAA,mBAAAA,OAAA,iBAAA,CAAA,EAAA;AA8EL,GAAA,CAAKI,eAAL;AACNA,eAAA,UAAA,IAAW;AACXA,eAAA,WAAA,IAAY;AAAA,EAAA,GAFDJ,OAAA,cAAAA,OAAA,YAAA,CAAA,EAAA;AAAA,GAxOI,UAAA,QAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.cjs","sources":["../../../../../packages/schema/src/schema/model.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Model {\n\n\texport type Entity = {\n\t\treadonly name: string\n\t\treadonly primary: string\n\t\treadonly primaryColumn: string\n\t\treadonly tableName: string\n\t\treadonly fields: { readonly [name: string]: AnyField }\n\t\treadonly unique: Uniques\n\t\treadonly indexes: Indexes\n\t\treadonly view?: View\n\t\treadonly eventLog: EventLogConfig\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type View = {\n\t\treadonly sql: string\n\t\treadonly dependencies?: readonly string[]\n\t\treadonly idSource?: readonly string[]\n\t\treadonly materialized?: boolean\n\t}\n\n\texport type EventLogConfig = {\n\t\treadonly enabled: boolean\n\t}\n\n\texport type FieldType = RelationType | ColumnType\n\texport type Field<T extends FieldType> = {\n\t\treadonly type: T\n\t}\n\n\texport type AnyField = AnyColumn | AnyRelation\n\texport type AnyColumn<T extends ColumnType = ColumnType> = Column<T>\n\n\texport enum ColumnType {\n\t\tUuid = 'Uuid',\n\t\tString = 'String',\n\t\tInt = 'Integer',\n\t\tDouble = 'Double',\n\t\tBool = 'Bool',\n\t\tEnum = 'Enum',\n\t\tDateTime = 'DateTime',\n\t\tDate = 'Date',\n\t\tTime = 'Time',\n\t\tJson = 'Json',\n\t}\n\n\texport type Column<T extends ColumnType> = ColumnTypeDefinition<T> & {\n\t\treadonly name: string\n\t\treadonly columnName: string\n\t}\n\n\texport type ColumnTypeDefinition<T extends ColumnType = ColumnType> =\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly columnType: string\n\t\t\treadonly list?: boolean\n\t\t\treadonly typeAlias?: string\n\t\t\treadonly nullable: boolean\n\t\t\treadonly default?: JSONValue\n\t\t\treadonly sequence?: {\n\t\t\t\treadonly precedence: 'ALWAYS' | 'BY DEFAULT'\n\t\t\t\treadonly start?: number\n\t\t\t}\n\t\t\treadonly collation?: Collation\n\t\t}\n\n\texport type Collation =\n\t\t// generic\n\t\t| 'und-x-icu' | 'C' | 'ucs_basic' | 'unicode' | 'POSIX' | 'default'\n\t\t// some languages\n\t\t| 'cs-x-icu' | 'sk-x-icu' | 'da-x-icu' | 'de-x-icu' | 'en-x-icu' | 'es-x-icu' | 'fr-x-icu' | 'it-x-icu' | 'ja-x-icu' | 'ko-x-icu' | 'nl-x-icu' | 'pl-x-icu' | 'pt-x-icu' | 'ru-x-icu' | 'sv-x-icu' | 'tr-x-icu' | 'zh-x-icu' | 'hu-x-icu' | 'fi-x-icu' | 'el-x-icu' | 'bg-x-icu' | 'hr-x-icu' | 'ro-x-icu' | 'sl-x-icu' | 'sr-x-icu' | 'uk-x-icu' | 'vi-x-icu' | 'th-x-icu' | 'ar-x-icu' | 'he-x-icu' | 'hi-x-icu' | 'id-x-icu' | 'ms-x-icu' | 'fil-x-icu' | 'sw-x-icu' | 'ta-x-icu' | 'te-x-icu' | 'ml-x-icu' | 'bn-x-icu' | 'gu-x-icu' | 'kn-x-icu' | 'mr-x-icu' | 'pa-x-icu' | 'ur-x-icu' | 'or-x-icu' | 'si-x-icu' | 'th-x-icu' | 'lo-x-icu' | 'my-x-icu' | 'ka-x-icu' | 'am-x-icu' | 'ti-x-icu' | 'ne-x-icu' | 'dz-x-icu' | 'kok-x-icu' | 'syr-x-icu' | 'sd-x-icu' | 'bo-x-icu' | 'km-x-icu' | 'mn-x-icu' | 'lo-x-icu' | 'gl-x-icu' | 'eu-x-icu' | 'ca-x-icu' | 'af-x-icu' | 'is-x-icu' | 'mk-x-icu' | 'sq-x-icu' | 'hy-x-icu' | 'mt-x-icu' | 'cy-x-icu' | 'et-x-icu' | 'lv-x-icu' | 'lt-x-icu' | 'tg-x-icu' | 'fa-x-icu' | 'ps-x-icu' | 'ks-x-icu' | 'sd-x'\n\t\t// fallback\n\t\t| string & {}\n\n\n\texport enum RelationType {\n\t\tOneHasOne = 'OneHasOne',\n\t\tOneHasMany = 'OneHasMany',\n\t\tManyHasOne = 'ManyHasOne',\n\t\tManyHasMany = 'ManyHasMany',\n\t}\n\n\texport type AnyInverseRelation =\n\t\t| OneHasManyRelation\n\t\t| OneHasOneInverseRelation\n\t\t| ManyHasManyInverseRelation\n\n\t/** @deprecated */\n\texport type AnyInversedRelation = AnyInverseRelation\n\n\texport type AnyOwningRelation =\n\t\t| ManyHasOneRelation\n\t\t| OneHasOneOwningRelation\n\t\t| ManyHasManyOwningRelation\n\n\texport type AnyRelation = AnyInverseRelation | AnyOwningRelation\n\n\texport type Relation<T extends RelationType = RelationType>=\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly name: string\n\t\t\treadonly type: T\n\t\t\treadonly target: string\n\t\t}\n\n\texport type InverseRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly ownedBy: string\n\t\t}\n\n\t/** @deprecated */\n\texport type InversedRelation = InverseRelation\n\n\texport type OwningRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly inversedBy?: string\n\t\t}\n\n\t/** @deprecated */\n\texport type OwnerRelation = OwningRelation\n\n\texport enum OnDelete {\n\t\tcascade = 'cascade',\n\t\trestrict = 'restrict',\n\t\tsetNull = 'set null',\n\t}\n\n\texport type JoiningColumn = {\n\t\treadonly columnName: string\n\t\treadonly onDelete: OnDelete\n\t}\n\n\texport type JoiningColumnRelation = {\n\t\treadonly joiningColumn: JoiningColumn\n\t}\n\n\texport type NullableRelation = {\n\t\treadonly nullable: boolean\n\t}\n\n\texport type JoiningTable = {\n\t\treadonly tableName: string\n\t\treadonly joiningColumn: JoiningColumn\n\t\treadonly inverseJoiningColumn: JoiningColumn\n\t\treadonly eventLog: EventLogConfig\n\t}\n\n\texport type JoiningTableRelation = {\n\t\treadonly joiningTable: JoiningTable\n\t}\n\n\texport import OrderDirection = Input.OrderDirection\n\texport type OrderBy = {\n\t\treadonly path: readonly string[]\n\t\treadonly direction: OrderDirection\n\t}\n\n\texport type OrderableRelation = {\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type OneHasManyRelation =\n\t\t& Relation<RelationType.OneHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\n\texport type ManyHasOneRelation =\n\t\t& Relation<RelationType.ManyHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\n\texport type OneHasOneInverseRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& InverseRelation\n\t\t& NullableRelation\n\t/** @deprecated */\n\texport type OneHasOneInversedRelation = OneHasOneInverseRelation\n\n\texport type OneHasOneOwningRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\t\t& {\n\t\t\treadonly orphanRemoval?: true\n\t\t}\n\t/** @deprecated */\n\texport type OneHasOneOwnerRelation = OneHasOneOwningRelation\n\n\texport type ManyHasManyInverseRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyInversedRelation = ManyHasManyInverseRelation\n\n\texport type ManyHasManyOwningRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& OwningRelation\n\t\t& JoiningTableRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyOwnerRelation = ManyHasManyOwningRelation\n\n\texport type Schema = {\n\t\treadonly enums: { readonly [name: string]: readonly string[] }\n\t\treadonly entities: { readonly [name: string]: Entity }\n\t}\n\n\texport type Unique = UniqueIndex | UniqueConstraint\n\texport type Uniques = readonly (Unique)[]\n\n\texport type ConstraintTiming = 'deferrable' | 'deferred'\n\n\texport type UniqueConstraint = {\n\t\treadonly fields: readonly string[]\n\t\treadonly timing?: ConstraintTiming // empty means not deferrable\n\t\treadonly name?: string\n\t\treadonly index?: false\n\t}\n\texport type NullsDistinctBehaviour = 'distinct' | 'not distinct'\n\texport type UniqueIndex = {\n\t\treadonly fields: readonly string[]\n\t\treadonly index: true\n\t\treadonly nulls?: NullsDistinctBehaviour // empty means distinct\n\t}\n\n\texport type Indexes = readonly Index[]\n\n\texport type Index = {\n\t\treadonly fields: readonly string[]\n\t\treadonly name?: string\n\t}\n\n\n\texport interface ColumnContext {\n\t\tentity: Model.Entity\n\t\tcolumn: Model.AnyColumn\n\t}\n\n\texport type AnyHasManyRelationContext =\n\t\t| ManyHasManyInverseContext\n\t\t| ManyHasManyOwningContext\n\t\t| OneHasManyContext\n\n\texport type AnyHasOneRelationContext =\n\t\t| ManyHasOneContext\n\t\t| OneHasOneOwningContext\n\t\t| OneHasOneInverseContext\n\n\texport type AnyRelationContext =\n\t\t| AnyHasManyRelationContext\n\t\t| AnyHasOneRelationContext\n\n\texport type AnyFieldContext =\n\t\t| ColumnContext\n\t\t| AnyRelationContext\n\n\texport interface ManyHasManyInverseContext {\n\t\ttype: 'manyHasManyInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyOwningRelation\n\t}\n\n\texport interface ManyHasManyOwningContext {\n\t\ttype: 'manyHasManyOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyInverseRelation | null\n\t}\n\n\texport interface ManyHasOneContext {\n\t\ttype: 'manyHasOne'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasOneRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasManyRelation | null\n\t}\n\n\texport interface OneHasManyContext {\n\t\ttype: 'oneHasMany'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasManyRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasOneRelation\n\t}\n\n\texport interface OneHasOneInverseContext {\n\t\ttype: 'oneHasOneInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneOwningRelation\n\t}\n\n\texport interface OneHasOneOwningContext {\n\t\ttype: 'oneHasOneOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneInverseRelation | null\n\t}\n\n\n\texport interface ColumnVisitor<T> {\n\t\tvisitColumn(context: ColumnContext): T\n\t}\n\n\texport interface RelationVisitor<T> {\n\t\tvisitRelation(context: AnyRelationContext): T\n\t}\n\n\texport type FieldVisitor<T> =\n\t\t& ColumnVisitor<T>\n\t\t& (\n\t\t\t| RelationVisitor<T>\n\t\t\t| RelationByTypeVisitor<T>\n\t\t\t| RelationByGenericTypeVisitor<T>\n\t\t)\n\n\texport interface RelationByTypeVisitor<T> {\n\t\tvisitManyHasOne(context: ManyHasOneContext): T\n\n\t\tvisitOneHasMany(context: OneHasManyContext): T\n\n\t\tvisitOneHasOneOwning(context: OneHasOneOwningContext): T\n\n\t\tvisitOneHasOneInverse(context: OneHasOneInverseContext): T\n\n\t\tvisitManyHasManyOwning(context: ManyHasManyOwningContext): T\n\n\t\tvisitManyHasManyInverse(context: ManyHasManyInverseContext): T\n\t}\n\n\texport interface RelationByGenericTypeVisitor<T> {\n\t\tvisitHasMany(context: AnyHasManyRelationContext): T\n\n\t\tvisitHasOne(context: AnyHasOneRelationContext): T\n\t}\n}\n"],"names":["Model","ColumnType","RelationType","OnDelete","Input"],"mappings":";;;AAGiBA,QAAAA,QAAAA;AAAAA,CAAV,CAAUA,WAAV;AAkCC,GAAA,CAAKC,gBAAL;AACNA,gBAAA,MAAO,IAAA;AACPA,gBAAA,QAAS,IAAA;AACTA,gBAAA,KAAM,IAAA;AACNA,gBAAA,QAAS,IAAA;AACTA,gBAAA,MAAO,IAAA;AACPA,gBAAA,MAAO,IAAA;AACPA,gBAAA,UAAW,IAAA;AACXA,gBAAA,MAAO,IAAA;AACPA,gBAAA,MAAO,IAAA;AACPA,gBAAA,MAAO,IAAA;AAAA,EAVI,GAAAD,OAAA,eAAAA,OAAA,aAAA,CAAA,EAAA;AA0CL,GAAA,CAAKE,kBAAL;AACNA,kBAAA,WAAY,IAAA;AACZA,kBAAA,YAAa,IAAA;AACbA,kBAAA,YAAa,IAAA;AACbA,kBAAA,aAAc,IAAA;AAAA,EAJH,GAAAF,OAAA,iBAAAA,OAAA,eAAA,CAAA,EAAA;AAgDL,GAAA,CAAKG,cAAL;AACNA,cAAA,SAAU,IAAA;AACVA,cAAA,UAAW,IAAA;AACXA,cAAA,SAAU,IAAA;AAAA,EAHC,GAAAH,OAAA,aAAAA,OAAA,WAAA,CAAA,EAAA;AA8BEA,SAAA,iBAAiBI,MAAAA,MAAM;AAAA,GA1JrBJ,QAAA,UAAAA,gBAAA,CAAA,EAAA;"}
|
|
1
|
+
{"version":3,"file":"model.cjs","sources":["../../../../../packages/schema/src/schema/model.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Model {\n\texport type Entity<Fields extends string = string> = {\n\t\treadonly name: string\n\t\treadonly primary: string\n\t\treadonly primaryColumn: string\n\t\treadonly tableName: string\n\t\treadonly fields: { readonly [name in Fields]: AnyField }\n\t\treadonly unique: Uniques\n\t\treadonly indexes: Indexes\n\t\treadonly view?: View\n\t\treadonly eventLog: EventLogConfig\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type View = {\n\t\treadonly sql: string\n\t\treadonly dependencies?: readonly string[]\n\t\treadonly idSource?: readonly string[]\n\t\treadonly materialized?: boolean\n\t}\n\n\texport type EventLogConfig = {\n\t\treadonly enabled: boolean\n\t}\n\n\texport type FieldType = RelationType | ColumnType\n\texport type Field<T extends FieldType> = {\n\t\treadonly type: T\n\t}\n\n\texport type AnyField = AnyColumn | AnyRelation\n\texport type AnyColumn<T extends ColumnType = ColumnType> = Column<T>\n\n\texport enum ColumnType {\n\t\tUuid = 'Uuid',\n\t\tString = 'String',\n\t\tInt = 'Integer',\n\t\tDouble = 'Double',\n\t\tBool = 'Bool',\n\t\tEnum = 'Enum',\n\t\tDateTime = 'DateTime',\n\t\tDate = 'Date',\n\t\tTime = 'Time',\n\t\tJson = 'Json',\n\t}\n\n\texport type Column<T extends ColumnType> = ColumnTypeDefinition<T> & {\n\t\treadonly name: string\n\t\treadonly columnName: string\n\t}\n\n\texport type ColumnTypeDefinition<T extends ColumnType = ColumnType> =\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly columnType: string\n\t\t\treadonly list?: boolean\n\t\t\treadonly typeAlias?: string\n\t\t\treadonly nullable: boolean\n\t\t\treadonly default?: JSONValue\n\t\t\treadonly sequence?: {\n\t\t\t\treadonly precedence: 'ALWAYS' | 'BY DEFAULT'\n\t\t\t\treadonly start?: number\n\t\t\t}\n\t\t\treadonly collation?: Collation\n\t\t}\n\n\texport type Collation =\n\t\t// generic\n\t\t| 'und-x-icu'\n\t\t| 'C'\n\t\t| 'ucs_basic'\n\t\t| 'unicode'\n\t\t| 'POSIX'\n\t\t| 'default'\n\t\t// some languages\n\t\t| 'cs-x-icu'\n\t\t| 'sk-x-icu'\n\t\t| 'da-x-icu'\n\t\t| 'de-x-icu'\n\t\t| 'en-x-icu'\n\t\t| 'es-x-icu'\n\t\t| 'fr-x-icu'\n\t\t| 'it-x-icu'\n\t\t| 'ja-x-icu'\n\t\t| 'ko-x-icu'\n\t\t| 'nl-x-icu'\n\t\t| 'pl-x-icu'\n\t\t| 'pt-x-icu'\n\t\t| 'ru-x-icu'\n\t\t| 'sv-x-icu'\n\t\t| 'tr-x-icu'\n\t\t| 'zh-x-icu'\n\t\t| 'hu-x-icu'\n\t\t| 'fi-x-icu'\n\t\t| 'el-x-icu'\n\t\t| 'bg-x-icu'\n\t\t| 'hr-x-icu'\n\t\t| 'ro-x-icu'\n\t\t| 'sl-x-icu'\n\t\t| 'sr-x-icu'\n\t\t| 'uk-x-icu'\n\t\t| 'vi-x-icu'\n\t\t| 'th-x-icu'\n\t\t| 'ar-x-icu'\n\t\t| 'he-x-icu'\n\t\t| 'hi-x-icu'\n\t\t| 'id-x-icu'\n\t\t| 'ms-x-icu'\n\t\t| 'fil-x-icu'\n\t\t| 'sw-x-icu'\n\t\t| 'ta-x-icu'\n\t\t| 'te-x-icu'\n\t\t| 'ml-x-icu'\n\t\t| 'bn-x-icu'\n\t\t| 'gu-x-icu'\n\t\t| 'kn-x-icu'\n\t\t| 'mr-x-icu'\n\t\t| 'pa-x-icu'\n\t\t| 'ur-x-icu'\n\t\t| 'or-x-icu'\n\t\t| 'si-x-icu'\n\t\t| 'th-x-icu'\n\t\t| 'lo-x-icu'\n\t\t| 'my-x-icu'\n\t\t| 'ka-x-icu'\n\t\t| 'am-x-icu'\n\t\t| 'ti-x-icu'\n\t\t| 'ne-x-icu'\n\t\t| 'dz-x-icu'\n\t\t| 'kok-x-icu'\n\t\t| 'syr-x-icu'\n\t\t| 'sd-x-icu'\n\t\t| 'bo-x-icu'\n\t\t| 'km-x-icu'\n\t\t| 'mn-x-icu'\n\t\t| 'lo-x-icu'\n\t\t| 'gl-x-icu'\n\t\t| 'eu-x-icu'\n\t\t| 'ca-x-icu'\n\t\t| 'af-x-icu'\n\t\t| 'is-x-icu'\n\t\t| 'mk-x-icu'\n\t\t| 'sq-x-icu'\n\t\t| 'hy-x-icu'\n\t\t| 'mt-x-icu'\n\t\t| 'cy-x-icu'\n\t\t| 'et-x-icu'\n\t\t| 'lv-x-icu'\n\t\t| 'lt-x-icu'\n\t\t| 'tg-x-icu'\n\t\t| 'fa-x-icu'\n\t\t| 'ps-x-icu'\n\t\t| 'ks-x-icu'\n\t\t| 'sd-x'\n\t\t// fallback\n\t\t| string & {}\n\n\texport enum RelationType {\n\t\tOneHasOne = 'OneHasOne',\n\t\tOneHasMany = 'OneHasMany',\n\t\tManyHasOne = 'ManyHasOne',\n\t\tManyHasMany = 'ManyHasMany',\n\t}\n\n\texport type AnyInverseRelation =\n\t\t| OneHasManyRelation\n\t\t| OneHasOneInverseRelation\n\t\t| ManyHasManyInverseRelation\n\n\t/** @deprecated */\n\texport type AnyInversedRelation = AnyInverseRelation\n\n\texport type AnyOwningRelation =\n\t\t| ManyHasOneRelation\n\t\t| OneHasOneOwningRelation\n\t\t| ManyHasManyOwningRelation\n\n\texport type AnyRelation = AnyInverseRelation | AnyOwningRelation\n\n\texport type Relation<T extends RelationType = RelationType> =\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly name: string\n\t\t\treadonly type: T\n\t\t\treadonly target: string\n\t\t}\n\n\texport type InverseRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly ownedBy: string\n\t\t}\n\n\t/** @deprecated */\n\texport type InversedRelation = InverseRelation\n\n\texport type OwningRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly inversedBy?: string\n\t\t}\n\n\t/** @deprecated */\n\texport type OwnerRelation = OwningRelation\n\n\texport enum OnDelete {\n\t\tcascade = 'cascade',\n\t\trestrict = 'restrict',\n\t\tsetNull = 'set null',\n\t}\n\n\texport type JoiningColumn = {\n\t\treadonly columnName: string\n\t\treadonly onDelete: OnDelete\n\t}\n\n\texport type JoiningColumnRelation = {\n\t\treadonly joiningColumn: JoiningColumn\n\t}\n\n\texport type NullableRelation = {\n\t\treadonly nullable: boolean\n\t}\n\n\texport type JoiningTable = {\n\t\treadonly tableName: string\n\t\treadonly joiningColumn: JoiningColumn\n\t\treadonly inverseJoiningColumn: JoiningColumn\n\t\treadonly eventLog: EventLogConfig\n\t}\n\n\texport type JoiningTableRelation = {\n\t\treadonly joiningTable: JoiningTable\n\t}\n\n\texport import OrderDirection = Input.OrderDirection\n\texport type OrderBy = {\n\t\treadonly path: readonly string[]\n\t\treadonly direction: OrderDirection\n\t}\n\n\texport type OrderableRelation = {\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type OneHasManyRelation =\n\t\t& Relation<RelationType.OneHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\n\texport type ManyHasOneRelation =\n\t\t& Relation<RelationType.ManyHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\n\texport type OneHasOneInverseRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& InverseRelation\n\t\t& NullableRelation\n\t/** @deprecated */\n\texport type OneHasOneInversedRelation = OneHasOneInverseRelation\n\n\texport type OneHasOneOwningRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\t\t& {\n\t\t\treadonly orphanRemoval?: true\n\t\t}\n\t/** @deprecated */\n\texport type OneHasOneOwnerRelation = OneHasOneOwningRelation\n\n\texport type ManyHasManyInverseRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyInversedRelation = ManyHasManyInverseRelation\n\n\texport type ManyHasManyOwningRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& OwningRelation\n\t\t& JoiningTableRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyOwnerRelation = ManyHasManyOwningRelation\n\n\texport type Schema = {\n\t\treadonly enums: { readonly [name: string]: readonly string[] }\n\t\treadonly entities: { readonly [name: string]: Entity }\n\t}\n\n\texport type Unique = UniqueIndex | UniqueConstraint\n\texport type Uniques = readonly (Unique)[]\n\n\texport type ConstraintTiming = 'deferrable' | 'deferred'\n\n\texport type UniqueConstraint = {\n\t\treadonly fields: readonly string[]\n\t\treadonly timing?: ConstraintTiming // empty means not deferrable\n\t\treadonly name?: string\n\t\treadonly index?: false\n\t}\n\texport type NullsDistinctBehaviour = 'distinct' | 'not distinct'\n\texport type UniqueIndex = {\n\t\treadonly fields: readonly string[]\n\t\treadonly index: true\n\t\treadonly nulls?: NullsDistinctBehaviour // empty means distinct\n\t\treadonly method?: IndexMethod\n\t}\n\n\texport type Indexes = readonly Index[]\n\n\texport type IndexMethod = 'btree' | 'gin' | 'gist' | 'hash' | 'brin' | 'spgist'\n\n\texport type Index = {\n\t\treadonly fields: readonly string[]\n\t\treadonly name?: string\n\t\treadonly method?: IndexMethod\n\t}\n\n\texport interface ColumnContext {\n\t\tentity: Model.Entity\n\t\tcolumn: Model.AnyColumn\n\t}\n\n\texport type AnyHasManyRelationContext =\n\t\t| ManyHasManyInverseContext\n\t\t| ManyHasManyOwningContext\n\t\t| OneHasManyContext\n\n\texport type AnyHasOneRelationContext =\n\t\t| ManyHasOneContext\n\t\t| OneHasOneOwningContext\n\t\t| OneHasOneInverseContext\n\n\texport type AnyRelationContext =\n\t\t| AnyHasManyRelationContext\n\t\t| AnyHasOneRelationContext\n\n\texport type AnyFieldContext =\n\t\t| ColumnContext\n\t\t| AnyRelationContext\n\n\texport interface ManyHasManyInverseContext {\n\t\ttype: 'manyHasManyInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyOwningRelation\n\t}\n\n\texport interface ManyHasManyOwningContext {\n\t\ttype: 'manyHasManyOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyInverseRelation | null\n\t}\n\n\texport interface ManyHasOneContext {\n\t\ttype: 'manyHasOne'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasOneRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasManyRelation | null\n\t}\n\n\texport interface OneHasManyContext {\n\t\ttype: 'oneHasMany'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasManyRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasOneRelation\n\t}\n\n\texport interface OneHasOneInverseContext {\n\t\ttype: 'oneHasOneInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneOwningRelation\n\t}\n\n\texport interface OneHasOneOwningContext {\n\t\ttype: 'oneHasOneOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneInverseRelation | null\n\t}\n\n\texport interface ColumnVisitor<T> {\n\t\tvisitColumn(context: ColumnContext): T\n\t}\n\n\texport interface RelationVisitor<T> {\n\t\tvisitRelation(context: AnyRelationContext): T\n\t}\n\n\texport type FieldVisitor<T> =\n\t\t& ColumnVisitor<T>\n\t\t& (\n\t\t\t| RelationVisitor<T>\n\t\t\t| RelationByTypeVisitor<T>\n\t\t\t| RelationByGenericTypeVisitor<T>\n\t\t)\n\n\texport interface RelationByTypeVisitor<T> {\n\t\tvisitManyHasOne(context: ManyHasOneContext): T\n\n\t\tvisitOneHasMany(context: OneHasManyContext): T\n\n\t\tvisitOneHasOneOwning(context: OneHasOneOwningContext): T\n\n\t\tvisitOneHasOneInverse(context: OneHasOneInverseContext): T\n\n\t\tvisitManyHasManyOwning(context: ManyHasManyOwningContext): T\n\n\t\tvisitManyHasManyInverse(context: ManyHasManyInverseContext): T\n\t}\n\n\texport interface RelationByGenericTypeVisitor<T> {\n\t\tvisitHasMany(context: AnyHasManyRelationContext): T\n\n\t\tvisitHasOne(context: AnyHasOneRelationContext): T\n\t}\n}\n"],"names":["Model","ColumnType","RelationType","OnDelete","Input"],"mappings":";;;AAGiBA,QAAAA,QAAAA;AAAAA,CAAV,CAAUA,WAAV;AAiCC,GAAA,CAAKC,gBAAL;AACNA,gBAAA,MAAA,IAAO;AACPA,gBAAA,QAAA,IAAS;AACTA,gBAAA,KAAA,IAAM;AACNA,gBAAA,QAAA,IAAS;AACTA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AACPA,gBAAA,UAAA,IAAW;AACXA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AAAA,EAAA,GAVID,OAAA,eAAAA,OAAA,aAAA,CAAA,EAAA;AA4HL,GAAA,CAAKE,kBAAL;AACNA,kBAAA,WAAA,IAAY;AACZA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,aAAA,IAAc;AAAA,EAAA,GAJHF,OAAA,iBAAAA,OAAA,eAAA,CAAA,EAAA;AAgDL,GAAA,CAAKG,cAAL;AACNA,cAAA,SAAA,IAAU;AACVA,cAAA,UAAA,IAAW;AACXA,cAAA,SAAA,IAAU;AAAA,EAAA,GAHCH,OAAA,aAAAA,OAAA,WAAA,CAAA,EAAA;AA8BEA,SAAA,iBAAiBI,MAAAA,MAAM;AAAA,GA3OrBJ,QAAAA,UAAAA,gBAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sources":["../../../../../packages/schema/src/schema/model.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Model {\n\n\texport type Entity = {\n\t\treadonly name: string\n\t\treadonly primary: string\n\t\treadonly primaryColumn: string\n\t\treadonly tableName: string\n\t\treadonly fields: { readonly [name: string]: AnyField }\n\t\treadonly unique: Uniques\n\t\treadonly indexes: Indexes\n\t\treadonly view?: View\n\t\treadonly eventLog: EventLogConfig\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type View = {\n\t\treadonly sql: string\n\t\treadonly dependencies?: readonly string[]\n\t\treadonly idSource?: readonly string[]\n\t\treadonly materialized?: boolean\n\t}\n\n\texport type EventLogConfig = {\n\t\treadonly enabled: boolean\n\t}\n\n\texport type FieldType = RelationType | ColumnType\n\texport type Field<T extends FieldType> = {\n\t\treadonly type: T\n\t}\n\n\texport type AnyField = AnyColumn | AnyRelation\n\texport type AnyColumn<T extends ColumnType = ColumnType> = Column<T>\n\n\texport enum ColumnType {\n\t\tUuid = 'Uuid',\n\t\tString = 'String',\n\t\tInt = 'Integer',\n\t\tDouble = 'Double',\n\t\tBool = 'Bool',\n\t\tEnum = 'Enum',\n\t\tDateTime = 'DateTime',\n\t\tDate = 'Date',\n\t\tTime = 'Time',\n\t\tJson = 'Json',\n\t}\n\n\texport type Column<T extends ColumnType> = ColumnTypeDefinition<T> & {\n\t\treadonly name: string\n\t\treadonly columnName: string\n\t}\n\n\texport type ColumnTypeDefinition<T extends ColumnType = ColumnType> =\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly columnType: string\n\t\t\treadonly list?: boolean\n\t\t\treadonly typeAlias?: string\n\t\t\treadonly nullable: boolean\n\t\t\treadonly default?: JSONValue\n\t\t\treadonly sequence?: {\n\t\t\t\treadonly precedence: 'ALWAYS' | 'BY DEFAULT'\n\t\t\t\treadonly start?: number\n\t\t\t}\n\t\t\treadonly collation?: Collation\n\t\t}\n\n\texport type Collation =\n\t\t// generic\n\t\t| 'und-x-icu' | 'C' | 'ucs_basic' | 'unicode' | 'POSIX' | 'default'\n\t\t// some languages\n\t\t| 'cs-x-icu' | 'sk-x-icu' | 'da-x-icu' | 'de-x-icu' | 'en-x-icu' | 'es-x-icu' | 'fr-x-icu' | 'it-x-icu' | 'ja-x-icu' | 'ko-x-icu' | 'nl-x-icu' | 'pl-x-icu' | 'pt-x-icu' | 'ru-x-icu' | 'sv-x-icu' | 'tr-x-icu' | 'zh-x-icu' | 'hu-x-icu' | 'fi-x-icu' | 'el-x-icu' | 'bg-x-icu' | 'hr-x-icu' | 'ro-x-icu' | 'sl-x-icu' | 'sr-x-icu' | 'uk-x-icu' | 'vi-x-icu' | 'th-x-icu' | 'ar-x-icu' | 'he-x-icu' | 'hi-x-icu' | 'id-x-icu' | 'ms-x-icu' | 'fil-x-icu' | 'sw-x-icu' | 'ta-x-icu' | 'te-x-icu' | 'ml-x-icu' | 'bn-x-icu' | 'gu-x-icu' | 'kn-x-icu' | 'mr-x-icu' | 'pa-x-icu' | 'ur-x-icu' | 'or-x-icu' | 'si-x-icu' | 'th-x-icu' | 'lo-x-icu' | 'my-x-icu' | 'ka-x-icu' | 'am-x-icu' | 'ti-x-icu' | 'ne-x-icu' | 'dz-x-icu' | 'kok-x-icu' | 'syr-x-icu' | 'sd-x-icu' | 'bo-x-icu' | 'km-x-icu' | 'mn-x-icu' | 'lo-x-icu' | 'gl-x-icu' | 'eu-x-icu' | 'ca-x-icu' | 'af-x-icu' | 'is-x-icu' | 'mk-x-icu' | 'sq-x-icu' | 'hy-x-icu' | 'mt-x-icu' | 'cy-x-icu' | 'et-x-icu' | 'lv-x-icu' | 'lt-x-icu' | 'tg-x-icu' | 'fa-x-icu' | 'ps-x-icu' | 'ks-x-icu' | 'sd-x'\n\t\t// fallback\n\t\t| string & {}\n\n\n\texport enum RelationType {\n\t\tOneHasOne = 'OneHasOne',\n\t\tOneHasMany = 'OneHasMany',\n\t\tManyHasOne = 'ManyHasOne',\n\t\tManyHasMany = 'ManyHasMany',\n\t}\n\n\texport type AnyInverseRelation =\n\t\t| OneHasManyRelation\n\t\t| OneHasOneInverseRelation\n\t\t| ManyHasManyInverseRelation\n\n\t/** @deprecated */\n\texport type AnyInversedRelation = AnyInverseRelation\n\n\texport type AnyOwningRelation =\n\t\t| ManyHasOneRelation\n\t\t| OneHasOneOwningRelation\n\t\t| ManyHasManyOwningRelation\n\n\texport type AnyRelation = AnyInverseRelation | AnyOwningRelation\n\n\texport type Relation<T extends RelationType = RelationType>=\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly name: string\n\t\t\treadonly type: T\n\t\t\treadonly target: string\n\t\t}\n\n\texport type InverseRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly ownedBy: string\n\t\t}\n\n\t/** @deprecated */\n\texport type InversedRelation = InverseRelation\n\n\texport type OwningRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly inversedBy?: string\n\t\t}\n\n\t/** @deprecated */\n\texport type OwnerRelation = OwningRelation\n\n\texport enum OnDelete {\n\t\tcascade = 'cascade',\n\t\trestrict = 'restrict',\n\t\tsetNull = 'set null',\n\t}\n\n\texport type JoiningColumn = {\n\t\treadonly columnName: string\n\t\treadonly onDelete: OnDelete\n\t}\n\n\texport type JoiningColumnRelation = {\n\t\treadonly joiningColumn: JoiningColumn\n\t}\n\n\texport type NullableRelation = {\n\t\treadonly nullable: boolean\n\t}\n\n\texport type JoiningTable = {\n\t\treadonly tableName: string\n\t\treadonly joiningColumn: JoiningColumn\n\t\treadonly inverseJoiningColumn: JoiningColumn\n\t\treadonly eventLog: EventLogConfig\n\t}\n\n\texport type JoiningTableRelation = {\n\t\treadonly joiningTable: JoiningTable\n\t}\n\n\texport import OrderDirection = Input.OrderDirection\n\texport type OrderBy = {\n\t\treadonly path: readonly string[]\n\t\treadonly direction: OrderDirection\n\t}\n\n\texport type OrderableRelation = {\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type OneHasManyRelation =\n\t\t& Relation<RelationType.OneHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\n\texport type ManyHasOneRelation =\n\t\t& Relation<RelationType.ManyHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\n\texport type OneHasOneInverseRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& InverseRelation\n\t\t& NullableRelation\n\t/** @deprecated */\n\texport type OneHasOneInversedRelation = OneHasOneInverseRelation\n\n\texport type OneHasOneOwningRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\t\t& {\n\t\t\treadonly orphanRemoval?: true\n\t\t}\n\t/** @deprecated */\n\texport type OneHasOneOwnerRelation = OneHasOneOwningRelation\n\n\texport type ManyHasManyInverseRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyInversedRelation = ManyHasManyInverseRelation\n\n\texport type ManyHasManyOwningRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& OwningRelation\n\t\t& JoiningTableRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyOwnerRelation = ManyHasManyOwningRelation\n\n\texport type Schema = {\n\t\treadonly enums: { readonly [name: string]: readonly string[] }\n\t\treadonly entities: { readonly [name: string]: Entity }\n\t}\n\n\texport type Unique = UniqueIndex | UniqueConstraint\n\texport type Uniques = readonly (Unique)[]\n\n\texport type ConstraintTiming = 'deferrable' | 'deferred'\n\n\texport type UniqueConstraint = {\n\t\treadonly fields: readonly string[]\n\t\treadonly timing?: ConstraintTiming // empty means not deferrable\n\t\treadonly name?: string\n\t\treadonly index?: false\n\t}\n\texport type NullsDistinctBehaviour = 'distinct' | 'not distinct'\n\texport type UniqueIndex = {\n\t\treadonly fields: readonly string[]\n\t\treadonly index: true\n\t\treadonly nulls?: NullsDistinctBehaviour // empty means distinct\n\t}\n\n\texport type Indexes = readonly Index[]\n\n\texport type Index = {\n\t\treadonly fields: readonly string[]\n\t\treadonly name?: string\n\t}\n\n\n\texport interface ColumnContext {\n\t\tentity: Model.Entity\n\t\tcolumn: Model.AnyColumn\n\t}\n\n\texport type AnyHasManyRelationContext =\n\t\t| ManyHasManyInverseContext\n\t\t| ManyHasManyOwningContext\n\t\t| OneHasManyContext\n\n\texport type AnyHasOneRelationContext =\n\t\t| ManyHasOneContext\n\t\t| OneHasOneOwningContext\n\t\t| OneHasOneInverseContext\n\n\texport type AnyRelationContext =\n\t\t| AnyHasManyRelationContext\n\t\t| AnyHasOneRelationContext\n\n\texport type AnyFieldContext =\n\t\t| ColumnContext\n\t\t| AnyRelationContext\n\n\texport interface ManyHasManyInverseContext {\n\t\ttype: 'manyHasManyInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyOwningRelation\n\t}\n\n\texport interface ManyHasManyOwningContext {\n\t\ttype: 'manyHasManyOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyInverseRelation | null\n\t}\n\n\texport interface ManyHasOneContext {\n\t\ttype: 'manyHasOne'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasOneRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasManyRelation | null\n\t}\n\n\texport interface OneHasManyContext {\n\t\ttype: 'oneHasMany'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasManyRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasOneRelation\n\t}\n\n\texport interface OneHasOneInverseContext {\n\t\ttype: 'oneHasOneInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneOwningRelation\n\t}\n\n\texport interface OneHasOneOwningContext {\n\t\ttype: 'oneHasOneOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneInverseRelation | null\n\t}\n\n\n\texport interface ColumnVisitor<T> {\n\t\tvisitColumn(context: ColumnContext): T\n\t}\n\n\texport interface RelationVisitor<T> {\n\t\tvisitRelation(context: AnyRelationContext): T\n\t}\n\n\texport type FieldVisitor<T> =\n\t\t& ColumnVisitor<T>\n\t\t& (\n\t\t\t| RelationVisitor<T>\n\t\t\t| RelationByTypeVisitor<T>\n\t\t\t| RelationByGenericTypeVisitor<T>\n\t\t)\n\n\texport interface RelationByTypeVisitor<T> {\n\t\tvisitManyHasOne(context: ManyHasOneContext): T\n\n\t\tvisitOneHasMany(context: OneHasManyContext): T\n\n\t\tvisitOneHasOneOwning(context: OneHasOneOwningContext): T\n\n\t\tvisitOneHasOneInverse(context: OneHasOneInverseContext): T\n\n\t\tvisitManyHasManyOwning(context: ManyHasManyOwningContext): T\n\n\t\tvisitManyHasManyInverse(context: ManyHasManyInverseContext): T\n\t}\n\n\texport interface RelationByGenericTypeVisitor<T> {\n\t\tvisitHasMany(context: AnyHasManyRelationContext): T\n\n\t\tvisitHasOne(context: AnyHasOneRelationContext): T\n\t}\n}\n"],"names":["Model","ColumnType","RelationType","OnDelete"],"mappings":";AAGiB,IAAA;AAAA,CAAV,CAAUA,WAAV;AAkCC,GAAA,CAAKC,gBAAL;AACNA,gBAAA,MAAO,IAAA;AACPA,gBAAA,QAAS,IAAA;AACTA,gBAAA,KAAM,IAAA;AACNA,gBAAA,QAAS,IAAA;AACTA,gBAAA,MAAO,IAAA;AACPA,gBAAA,MAAO,IAAA;AACPA,gBAAA,UAAW,IAAA;AACXA,gBAAA,MAAO,IAAA;AACPA,gBAAA,MAAO,IAAA;AACPA,gBAAA,MAAO,IAAA;AAAA,EAVI,GAAAD,OAAA,eAAAA,OAAA,aAAA,CAAA,EAAA;AA0CL,GAAA,CAAKE,kBAAL;AACNA,kBAAA,WAAY,IAAA;AACZA,kBAAA,YAAa,IAAA;AACbA,kBAAA,YAAa,IAAA;AACbA,kBAAA,aAAc,IAAA;AAAA,EAJH,GAAAF,OAAA,iBAAAA,OAAA,eAAA,CAAA,EAAA;AAgDL,GAAA,CAAKG,cAAL;AACNA,cAAA,SAAU,IAAA;AACVA,cAAA,UAAW,IAAA;AACXA,cAAA,SAAU,IAAA;AAAA,EAHC,GAAAH,OAAA,aAAAA,OAAA,WAAA,CAAA,EAAA;AA8BEA,SAAA,iBAAiB,MAAM;AAAA,GA1JrB,UAAA,QAAA,CAAA,EAAA;"}
|
|
1
|
+
{"version":3,"file":"model.js","sources":["../../../../../packages/schema/src/schema/model.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Model {\n\texport type Entity<Fields extends string = string> = {\n\t\treadonly name: string\n\t\treadonly primary: string\n\t\treadonly primaryColumn: string\n\t\treadonly tableName: string\n\t\treadonly fields: { readonly [name in Fields]: AnyField }\n\t\treadonly unique: Uniques\n\t\treadonly indexes: Indexes\n\t\treadonly view?: View\n\t\treadonly eventLog: EventLogConfig\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type View = {\n\t\treadonly sql: string\n\t\treadonly dependencies?: readonly string[]\n\t\treadonly idSource?: readonly string[]\n\t\treadonly materialized?: boolean\n\t}\n\n\texport type EventLogConfig = {\n\t\treadonly enabled: boolean\n\t}\n\n\texport type FieldType = RelationType | ColumnType\n\texport type Field<T extends FieldType> = {\n\t\treadonly type: T\n\t}\n\n\texport type AnyField = AnyColumn | AnyRelation\n\texport type AnyColumn<T extends ColumnType = ColumnType> = Column<T>\n\n\texport enum ColumnType {\n\t\tUuid = 'Uuid',\n\t\tString = 'String',\n\t\tInt = 'Integer',\n\t\tDouble = 'Double',\n\t\tBool = 'Bool',\n\t\tEnum = 'Enum',\n\t\tDateTime = 'DateTime',\n\t\tDate = 'Date',\n\t\tTime = 'Time',\n\t\tJson = 'Json',\n\t}\n\n\texport type Column<T extends ColumnType> = ColumnTypeDefinition<T> & {\n\t\treadonly name: string\n\t\treadonly columnName: string\n\t}\n\n\texport type ColumnTypeDefinition<T extends ColumnType = ColumnType> =\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly columnType: string\n\t\t\treadonly list?: boolean\n\t\t\treadonly typeAlias?: string\n\t\t\treadonly nullable: boolean\n\t\t\treadonly default?: JSONValue\n\t\t\treadonly sequence?: {\n\t\t\t\treadonly precedence: 'ALWAYS' | 'BY DEFAULT'\n\t\t\t\treadonly start?: number\n\t\t\t}\n\t\t\treadonly collation?: Collation\n\t\t}\n\n\texport type Collation =\n\t\t// generic\n\t\t| 'und-x-icu'\n\t\t| 'C'\n\t\t| 'ucs_basic'\n\t\t| 'unicode'\n\t\t| 'POSIX'\n\t\t| 'default'\n\t\t// some languages\n\t\t| 'cs-x-icu'\n\t\t| 'sk-x-icu'\n\t\t| 'da-x-icu'\n\t\t| 'de-x-icu'\n\t\t| 'en-x-icu'\n\t\t| 'es-x-icu'\n\t\t| 'fr-x-icu'\n\t\t| 'it-x-icu'\n\t\t| 'ja-x-icu'\n\t\t| 'ko-x-icu'\n\t\t| 'nl-x-icu'\n\t\t| 'pl-x-icu'\n\t\t| 'pt-x-icu'\n\t\t| 'ru-x-icu'\n\t\t| 'sv-x-icu'\n\t\t| 'tr-x-icu'\n\t\t| 'zh-x-icu'\n\t\t| 'hu-x-icu'\n\t\t| 'fi-x-icu'\n\t\t| 'el-x-icu'\n\t\t| 'bg-x-icu'\n\t\t| 'hr-x-icu'\n\t\t| 'ro-x-icu'\n\t\t| 'sl-x-icu'\n\t\t| 'sr-x-icu'\n\t\t| 'uk-x-icu'\n\t\t| 'vi-x-icu'\n\t\t| 'th-x-icu'\n\t\t| 'ar-x-icu'\n\t\t| 'he-x-icu'\n\t\t| 'hi-x-icu'\n\t\t| 'id-x-icu'\n\t\t| 'ms-x-icu'\n\t\t| 'fil-x-icu'\n\t\t| 'sw-x-icu'\n\t\t| 'ta-x-icu'\n\t\t| 'te-x-icu'\n\t\t| 'ml-x-icu'\n\t\t| 'bn-x-icu'\n\t\t| 'gu-x-icu'\n\t\t| 'kn-x-icu'\n\t\t| 'mr-x-icu'\n\t\t| 'pa-x-icu'\n\t\t| 'ur-x-icu'\n\t\t| 'or-x-icu'\n\t\t| 'si-x-icu'\n\t\t| 'th-x-icu'\n\t\t| 'lo-x-icu'\n\t\t| 'my-x-icu'\n\t\t| 'ka-x-icu'\n\t\t| 'am-x-icu'\n\t\t| 'ti-x-icu'\n\t\t| 'ne-x-icu'\n\t\t| 'dz-x-icu'\n\t\t| 'kok-x-icu'\n\t\t| 'syr-x-icu'\n\t\t| 'sd-x-icu'\n\t\t| 'bo-x-icu'\n\t\t| 'km-x-icu'\n\t\t| 'mn-x-icu'\n\t\t| 'lo-x-icu'\n\t\t| 'gl-x-icu'\n\t\t| 'eu-x-icu'\n\t\t| 'ca-x-icu'\n\t\t| 'af-x-icu'\n\t\t| 'is-x-icu'\n\t\t| 'mk-x-icu'\n\t\t| 'sq-x-icu'\n\t\t| 'hy-x-icu'\n\t\t| 'mt-x-icu'\n\t\t| 'cy-x-icu'\n\t\t| 'et-x-icu'\n\t\t| 'lv-x-icu'\n\t\t| 'lt-x-icu'\n\t\t| 'tg-x-icu'\n\t\t| 'fa-x-icu'\n\t\t| 'ps-x-icu'\n\t\t| 'ks-x-icu'\n\t\t| 'sd-x'\n\t\t// fallback\n\t\t| string & {}\n\n\texport enum RelationType {\n\t\tOneHasOne = 'OneHasOne',\n\t\tOneHasMany = 'OneHasMany',\n\t\tManyHasOne = 'ManyHasOne',\n\t\tManyHasMany = 'ManyHasMany',\n\t}\n\n\texport type AnyInverseRelation =\n\t\t| OneHasManyRelation\n\t\t| OneHasOneInverseRelation\n\t\t| ManyHasManyInverseRelation\n\n\t/** @deprecated */\n\texport type AnyInversedRelation = AnyInverseRelation\n\n\texport type AnyOwningRelation =\n\t\t| ManyHasOneRelation\n\t\t| OneHasOneOwningRelation\n\t\t| ManyHasManyOwningRelation\n\n\texport type AnyRelation = AnyInverseRelation | AnyOwningRelation\n\n\texport type Relation<T extends RelationType = RelationType> =\n\t\t& Field<T>\n\t\t& {\n\t\t\treadonly name: string\n\t\t\treadonly type: T\n\t\t\treadonly target: string\n\t\t}\n\n\texport type InverseRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly ownedBy: string\n\t\t}\n\n\t/** @deprecated */\n\texport type InversedRelation = InverseRelation\n\n\texport type OwningRelation =\n\t\t& Relation\n\t\t& {\n\t\t\treadonly inversedBy?: string\n\t\t}\n\n\t/** @deprecated */\n\texport type OwnerRelation = OwningRelation\n\n\texport enum OnDelete {\n\t\tcascade = 'cascade',\n\t\trestrict = 'restrict',\n\t\tsetNull = 'set null',\n\t}\n\n\texport type JoiningColumn = {\n\t\treadonly columnName: string\n\t\treadonly onDelete: OnDelete\n\t}\n\n\texport type JoiningColumnRelation = {\n\t\treadonly joiningColumn: JoiningColumn\n\t}\n\n\texport type NullableRelation = {\n\t\treadonly nullable: boolean\n\t}\n\n\texport type JoiningTable = {\n\t\treadonly tableName: string\n\t\treadonly joiningColumn: JoiningColumn\n\t\treadonly inverseJoiningColumn: JoiningColumn\n\t\treadonly eventLog: EventLogConfig\n\t}\n\n\texport type JoiningTableRelation = {\n\t\treadonly joiningTable: JoiningTable\n\t}\n\n\texport import OrderDirection = Input.OrderDirection\n\texport type OrderBy = {\n\t\treadonly path: readonly string[]\n\t\treadonly direction: OrderDirection\n\t}\n\n\texport type OrderableRelation = {\n\t\treadonly orderBy?: readonly OrderBy[]\n\t}\n\n\texport type OneHasManyRelation =\n\t\t& Relation<RelationType.OneHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\n\texport type ManyHasOneRelation =\n\t\t& Relation<RelationType.ManyHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\n\texport type OneHasOneInverseRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& InverseRelation\n\t\t& NullableRelation\n\t/** @deprecated */\n\texport type OneHasOneInversedRelation = OneHasOneInverseRelation\n\n\texport type OneHasOneOwningRelation =\n\t\t& Relation<RelationType.OneHasOne>\n\t\t& OwningRelation\n\t\t& JoiningColumnRelation\n\t\t& NullableRelation\n\t\t& {\n\t\t\treadonly orphanRemoval?: true\n\t\t}\n\t/** @deprecated */\n\texport type OneHasOneOwnerRelation = OneHasOneOwningRelation\n\n\texport type ManyHasManyInverseRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& InverseRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyInversedRelation = ManyHasManyInverseRelation\n\n\texport type ManyHasManyOwningRelation =\n\t\t& Relation<RelationType.ManyHasMany>\n\t\t& OwningRelation\n\t\t& JoiningTableRelation\n\t\t& OrderableRelation\n\t/** @deprecated */\n\texport type ManyHasManyOwnerRelation = ManyHasManyOwningRelation\n\n\texport type Schema = {\n\t\treadonly enums: { readonly [name: string]: readonly string[] }\n\t\treadonly entities: { readonly [name: string]: Entity }\n\t}\n\n\texport type Unique = UniqueIndex | UniqueConstraint\n\texport type Uniques = readonly (Unique)[]\n\n\texport type ConstraintTiming = 'deferrable' | 'deferred'\n\n\texport type UniqueConstraint = {\n\t\treadonly fields: readonly string[]\n\t\treadonly timing?: ConstraintTiming // empty means not deferrable\n\t\treadonly name?: string\n\t\treadonly index?: false\n\t}\n\texport type NullsDistinctBehaviour = 'distinct' | 'not distinct'\n\texport type UniqueIndex = {\n\t\treadonly fields: readonly string[]\n\t\treadonly index: true\n\t\treadonly nulls?: NullsDistinctBehaviour // empty means distinct\n\t\treadonly method?: IndexMethod\n\t}\n\n\texport type Indexes = readonly Index[]\n\n\texport type IndexMethod = 'btree' | 'gin' | 'gist' | 'hash' | 'brin' | 'spgist'\n\n\texport type Index = {\n\t\treadonly fields: readonly string[]\n\t\treadonly name?: string\n\t\treadonly method?: IndexMethod\n\t}\n\n\texport interface ColumnContext {\n\t\tentity: Model.Entity\n\t\tcolumn: Model.AnyColumn\n\t}\n\n\texport type AnyHasManyRelationContext =\n\t\t| ManyHasManyInverseContext\n\t\t| ManyHasManyOwningContext\n\t\t| OneHasManyContext\n\n\texport type AnyHasOneRelationContext =\n\t\t| ManyHasOneContext\n\t\t| OneHasOneOwningContext\n\t\t| OneHasOneInverseContext\n\n\texport type AnyRelationContext =\n\t\t| AnyHasManyRelationContext\n\t\t| AnyHasOneRelationContext\n\n\texport type AnyFieldContext =\n\t\t| ColumnContext\n\t\t| AnyRelationContext\n\n\texport interface ManyHasManyInverseContext {\n\t\ttype: 'manyHasManyInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyOwningRelation\n\t}\n\n\texport interface ManyHasManyOwningContext {\n\t\ttype: 'manyHasManyOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasManyOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasManyInverseRelation | null\n\t}\n\n\texport interface ManyHasOneContext {\n\t\ttype: 'manyHasOne'\n\t\tentity: Model.Entity\n\t\trelation: Model.ManyHasOneRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasManyRelation | null\n\t}\n\n\texport interface OneHasManyContext {\n\t\ttype: 'oneHasMany'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasManyRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.ManyHasOneRelation\n\t}\n\n\texport interface OneHasOneInverseContext {\n\t\ttype: 'oneHasOneInverse'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneInverseRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneOwningRelation\n\t}\n\n\texport interface OneHasOneOwningContext {\n\t\ttype: 'oneHasOneOwning'\n\t\tentity: Model.Entity\n\t\trelation: Model.OneHasOneOwningRelation\n\t\ttargetEntity: Model.Entity\n\t\ttargetRelation: Model.OneHasOneInverseRelation | null\n\t}\n\n\texport interface ColumnVisitor<T> {\n\t\tvisitColumn(context: ColumnContext): T\n\t}\n\n\texport interface RelationVisitor<T> {\n\t\tvisitRelation(context: AnyRelationContext): T\n\t}\n\n\texport type FieldVisitor<T> =\n\t\t& ColumnVisitor<T>\n\t\t& (\n\t\t\t| RelationVisitor<T>\n\t\t\t| RelationByTypeVisitor<T>\n\t\t\t| RelationByGenericTypeVisitor<T>\n\t\t)\n\n\texport interface RelationByTypeVisitor<T> {\n\t\tvisitManyHasOne(context: ManyHasOneContext): T\n\n\t\tvisitOneHasMany(context: OneHasManyContext): T\n\n\t\tvisitOneHasOneOwning(context: OneHasOneOwningContext): T\n\n\t\tvisitOneHasOneInverse(context: OneHasOneInverseContext): T\n\n\t\tvisitManyHasManyOwning(context: ManyHasManyOwningContext): T\n\n\t\tvisitManyHasManyInverse(context: ManyHasManyInverseContext): T\n\t}\n\n\texport interface RelationByGenericTypeVisitor<T> {\n\t\tvisitHasMany(context: AnyHasManyRelationContext): T\n\n\t\tvisitHasOne(context: AnyHasOneRelationContext): T\n\t}\n}\n"],"names":["Model","ColumnType","RelationType","OnDelete"],"mappings":";AAGO,IAAU;AAAA,CAAV,CAAUA,WAAV;AAiCC,GAAA,CAAKC,gBAAL;AACNA,gBAAA,MAAA,IAAO;AACPA,gBAAA,QAAA,IAAS;AACTA,gBAAA,KAAA,IAAM;AACNA,gBAAA,QAAA,IAAS;AACTA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AACPA,gBAAA,UAAA,IAAW;AACXA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AAAA,EAAA,GAVID,OAAA,eAAAA,OAAA,aAAA,CAAA,EAAA;AA4HL,GAAA,CAAKE,kBAAL;AACNA,kBAAA,WAAA,IAAY;AACZA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,aAAA,IAAc;AAAA,EAAA,GAJHF,OAAA,iBAAAA,OAAA,eAAA,CAAA,EAAA;AAgDL,GAAA,CAAKG,cAAL;AACNA,cAAA,SAAA,IAAU;AACVA,cAAA,UAAA,IAAW;AACXA,cAAA,SAAA,IAAU;AAAA,EAAA,GAHCH,OAAA,aAAAA,OAAA,WAAA,CAAA,EAAA;AA8BEA,SAAA,iBAAiB,MAAM;AAAA,GA3OrB,UAAA,QAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.cjs","sources":["../../../../../packages/schema/src/schema/result.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Result {\n\texport type MutationFieldResult = CreateResult | UpdateResult | DeleteResult | UpsertResult\n\n\texport interface CreateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpsertResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpdateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface DeleteResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface TransactionResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t}\n\n\texport interface ValidationResult {\n\t\tvalid: boolean\n\t\terrors: ValidationError[]\n\t}\n\n\texport interface ValidationError {\n\t\tpath: PathFragment[]\n\t\tmessage: ValidationMessage\n\t}\n\n\texport enum ExecutionErrorType {\n\t\tNotNullConstraintViolation = 'NotNullConstraintViolation',\n\t\tUniqueConstraintViolation = 'UniqueConstraintViolation',\n\t\tForeignKeyConstraintViolation = 'ForeignKeyConstraintViolation',\n\t\tNotFoundOrDenied = 'NotFoundOrDenied',\n\t\tNonUniqueWhereInput = 'NonUniqueWhereInput',\n\t\tInvalidDataInput = 'InvalidDataInput',\n\t\tSqlError = 'SqlError',\n\t}\n\n\texport interface ExecutionError {\n\t\t/** @deprecated */\n\t\tpath: PathFragment[]\n\t\tpaths: PathFragment[][]\n\t\ttype: ExecutionErrorType\n\t\tmessage?: string\n\t}\n\n\texport type PathFragment = { field: string } | { index: number; alias?: string }\n\n\texport interface ValidationMessage {\n\t\ttext: string\n\t}\n}\n"],"names":["Result","ExecutionErrorType"],"mappings":";;AAEiBA,QAAAA,SAAAA;AAAAA,CAAV,CAAUA,YAAV;AAmDC,GAAA,CAAKC,wBAAL;AACNA,wBAAA,
|
|
1
|
+
{"version":3,"file":"result.cjs","sources":["../../../../../packages/schema/src/schema/result.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Result {\n\texport type MutationFieldResult = CreateResult | UpdateResult | DeleteResult | UpsertResult\n\n\texport interface CreateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpsertResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpdateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface DeleteResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface TransactionResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t}\n\n\texport interface ValidationResult {\n\t\tvalid: boolean\n\t\terrors: ValidationError[]\n\t}\n\n\texport interface ValidationError {\n\t\tpath: PathFragment[]\n\t\tmessage: ValidationMessage\n\t}\n\n\texport enum ExecutionErrorType {\n\t\tNotNullConstraintViolation = 'NotNullConstraintViolation',\n\t\tUniqueConstraintViolation = 'UniqueConstraintViolation',\n\t\tForeignKeyConstraintViolation = 'ForeignKeyConstraintViolation',\n\t\tNotFoundOrDenied = 'NotFoundOrDenied',\n\t\tNonUniqueWhereInput = 'NonUniqueWhereInput',\n\t\tInvalidDataInput = 'InvalidDataInput',\n\t\tSqlError = 'SqlError',\n\t}\n\n\texport interface ExecutionError {\n\t\t/** @deprecated */\n\t\tpath: PathFragment[]\n\t\tpaths: PathFragment[][]\n\t\ttype: ExecutionErrorType\n\t\tmessage?: string\n\t}\n\n\texport type PathFragment = { field: string } | { index: number; alias?: string }\n\n\texport interface ValidationMessage {\n\t\ttext: string\n\t}\n}\n"],"names":["Result","ExecutionErrorType"],"mappings":";;AAEiBA,QAAAA,SAAAA;AAAAA,CAAV,CAAUA,YAAV;AAmDC,GAAA,CAAKC,wBAAL;AACNA,wBAAA,4BAAA,IAA6B;AAC7BA,wBAAA,2BAAA,IAA4B;AAC5BA,wBAAA,+BAAA,IAAgC;AAChCA,wBAAA,kBAAA,IAAmB;AACnBA,wBAAA,qBAAA,IAAsB;AACtBA,wBAAA,kBAAA,IAAmB;AACnBA,wBAAA,UAAA,IAAW;AAAA,EAAA,GAPAD,QAAA,uBAAAA,QAAA,qBAAA,CAAA,EAAA;AAAA,GAnDIA,QAAAA,WAAAA,iBAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sources":["../../../../../packages/schema/src/schema/result.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Result {\n\texport type MutationFieldResult = CreateResult | UpdateResult | DeleteResult | UpsertResult\n\n\texport interface CreateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpsertResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpdateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface DeleteResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface TransactionResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t}\n\n\texport interface ValidationResult {\n\t\tvalid: boolean\n\t\terrors: ValidationError[]\n\t}\n\n\texport interface ValidationError {\n\t\tpath: PathFragment[]\n\t\tmessage: ValidationMessage\n\t}\n\n\texport enum ExecutionErrorType {\n\t\tNotNullConstraintViolation = 'NotNullConstraintViolation',\n\t\tUniqueConstraintViolation = 'UniqueConstraintViolation',\n\t\tForeignKeyConstraintViolation = 'ForeignKeyConstraintViolation',\n\t\tNotFoundOrDenied = 'NotFoundOrDenied',\n\t\tNonUniqueWhereInput = 'NonUniqueWhereInput',\n\t\tInvalidDataInput = 'InvalidDataInput',\n\t\tSqlError = 'SqlError',\n\t}\n\n\texport interface ExecutionError {\n\t\t/** @deprecated */\n\t\tpath: PathFragment[]\n\t\tpaths: PathFragment[][]\n\t\ttype: ExecutionErrorType\n\t\tmessage?: string\n\t}\n\n\texport type PathFragment = { field: string } | { index: number; alias?: string }\n\n\texport interface ValidationMessage {\n\t\ttext: string\n\t}\n}\n"],"names":["Result","ExecutionErrorType"],"mappings":"
|
|
1
|
+
{"version":3,"file":"result.js","sources":["../../../../../packages/schema/src/schema/result.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Result {\n\texport type MutationFieldResult = CreateResult | UpdateResult | DeleteResult | UpsertResult\n\n\texport interface CreateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpsertResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface UpdateResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface DeleteResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tnode: Value.Object | null\n\t}\n\n\texport interface TransactionResult {\n\t\tok: boolean\n\t\terrorMessage?: string\n\t\terrors: ExecutionError[]\n\t\tvalidation: ValidationResult\n\t}\n\n\texport interface ValidationResult {\n\t\tvalid: boolean\n\t\terrors: ValidationError[]\n\t}\n\n\texport interface ValidationError {\n\t\tpath: PathFragment[]\n\t\tmessage: ValidationMessage\n\t}\n\n\texport enum ExecutionErrorType {\n\t\tNotNullConstraintViolation = 'NotNullConstraintViolation',\n\t\tUniqueConstraintViolation = 'UniqueConstraintViolation',\n\t\tForeignKeyConstraintViolation = 'ForeignKeyConstraintViolation',\n\t\tNotFoundOrDenied = 'NotFoundOrDenied',\n\t\tNonUniqueWhereInput = 'NonUniqueWhereInput',\n\t\tInvalidDataInput = 'InvalidDataInput',\n\t\tSqlError = 'SqlError',\n\t}\n\n\texport interface ExecutionError {\n\t\t/** @deprecated */\n\t\tpath: PathFragment[]\n\t\tpaths: PathFragment[][]\n\t\ttype: ExecutionErrorType\n\t\tmessage?: string\n\t}\n\n\texport type PathFragment = { field: string } | { index: number; alias?: string }\n\n\texport interface ValidationMessage {\n\t\ttext: string\n\t}\n}\n"],"names":["Result","ExecutionErrorType"],"mappings":"AAEO,IAAU;AAAA,CAAV,CAAUA,YAAV;AAmDC,GAAA,CAAKC,wBAAL;AACNA,wBAAA,4BAAA,IAA6B;AAC7BA,wBAAA,2BAAA,IAA4B;AAC5BA,wBAAA,+BAAA,IAAgC;AAChCA,wBAAA,kBAAA,IAAmB;AACnBA,wBAAA,qBAAA,IAAsB;AACtBA,wBAAA,kBAAA,IAAmB;AACnBA,wBAAA,UAAA,IAAW;AAAA,EAAA,GAPAD,QAAA,uBAAAA,QAAA,qBAAA,CAAA,EAAA;AAAA,GAnDI,WAAA,SAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.cjs","sources":["../../../../../packages/schema/src/schema/validation.ts"],"sourcesContent":["import { JSONValue } from './json'\n\nexport namespace Validation {\n\texport type ContextPath = readonly string[]\n\n\texport enum ArgumentType {\n\t\tvalidator = 'validator',\n\t\tpath = 'path',\n\t\tliteral = 'literal',\n\t}\n\n\texport type ValidatorArgument = {\n\t\treadonly type: ArgumentType.validator\n\t\treadonly validator: Validator\n\t}\n\texport type PathArgument = {\n\t\treadonly type: ArgumentType.path\n\t\treadonly path: ContextPath\n\t}\n\texport type LiteralArgument<V = JSONValue> = {\n\t\treadonly type: ArgumentType.literal\n\t\treadonly value: V\n\t}\n\n\texport type ValidatorArguments = {\n\t\treadonly and: readonly ValidatorArgument[]\n\t\treadonly or: readonly ValidatorArgument[]\n\t\treadonly conditional: readonly [ValidatorArgument, ValidatorArgument]\n\t\treadonly pattern: readonly [LiteralArgument<readonly [string, string]>]\n\t\treadonly lengthRange: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly range: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly equals: readonly [LiteralArgument<JSONValue>]\n\t\treadonly not: readonly [ValidatorArgument]\n\t\treadonly empty: readonly[]\n\t\treadonly defined: readonly[]\n\t\treadonly inContext: readonly [PathArgument, ValidatorArgument]\n\t\treadonly every: readonly [ValidatorArgument]\n\t\treadonly any: readonly [ValidatorArgument]\n\t\treadonly filter: readonly [ValidatorArgument, ValidatorArgument]\n\t}\n\n\texport type SpecificValidator<N extends keyof ValidatorArguments> = {\n\t\treadonly operation: N\n\t\treadonly args: ValidatorArguments[N]\n\t}\n\n\texport type Validator = {\n\t\treadonly [N in keyof ValidatorArguments]: SpecificValidator<N>\n\t}[keyof ValidatorArguments]\n\n\texport type Message = {\n\t\treadonly text: string\n\t\treadonly parameters?: readonly (string | number)[]\n\t}\n\n\texport type ValidationRule = {\n\t\treadonly validator: Validator\n\t\treadonly message: Message\n\t}\n\n\texport type EntityRules = {\n\t\treadonly [field: string]: readonly ValidationRule[]\n\t}\n\n\texport type Schema = {\n\t\treadonly [entity: string]: EntityRules\n\t}\n}\n"],"names":["Validation","ArgumentType"],"mappings":";;AAEiBA,QAAAA,aAAAA;AAAAA,CAAV,CAAUA,gBAAV;AAGC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,
|
|
1
|
+
{"version":3,"file":"validation.cjs","sources":["../../../../../packages/schema/src/schema/validation.ts"],"sourcesContent":["import { JSONValue } from './json'\n\nexport namespace Validation {\n\texport type ContextPath = readonly string[]\n\n\texport enum ArgumentType {\n\t\tvalidator = 'validator',\n\t\tpath = 'path',\n\t\tliteral = 'literal',\n\t}\n\n\texport type ValidatorArgument = {\n\t\treadonly type: ArgumentType.validator\n\t\treadonly validator: Validator\n\t}\n\texport type PathArgument = {\n\t\treadonly type: ArgumentType.path\n\t\treadonly path: ContextPath\n\t}\n\texport type LiteralArgument<V = JSONValue> = {\n\t\treadonly type: ArgumentType.literal\n\t\treadonly value: V\n\t}\n\n\texport type ValidatorArguments = {\n\t\treadonly and: readonly ValidatorArgument[]\n\t\treadonly or: readonly ValidatorArgument[]\n\t\treadonly conditional: readonly [ValidatorArgument, ValidatorArgument]\n\t\treadonly pattern: readonly [LiteralArgument<readonly [string, string]>]\n\t\treadonly lengthRange: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly range: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly equals: readonly [LiteralArgument<JSONValue>]\n\t\treadonly not: readonly [ValidatorArgument]\n\t\treadonly empty: readonly []\n\t\treadonly defined: readonly []\n\t\treadonly inContext: readonly [PathArgument, ValidatorArgument]\n\t\treadonly every: readonly [ValidatorArgument]\n\t\treadonly any: readonly [ValidatorArgument]\n\t\treadonly filter: readonly [ValidatorArgument, ValidatorArgument]\n\t}\n\n\texport type SpecificValidator<N extends keyof ValidatorArguments> = {\n\t\treadonly operation: N\n\t\treadonly args: ValidatorArguments[N]\n\t}\n\n\texport type Validator = {\n\t\treadonly [N in keyof ValidatorArguments]: SpecificValidator<N>\n\t}[keyof ValidatorArguments]\n\n\texport type Message = {\n\t\treadonly text: string\n\t\treadonly parameters?: readonly (string | number)[]\n\t}\n\n\texport type ValidationRule = {\n\t\treadonly validator: Validator\n\t\treadonly message: Message\n\t}\n\n\texport type EntityRules = {\n\t\treadonly [field: string]: readonly ValidationRule[]\n\t}\n\n\texport type Schema = {\n\t\treadonly [entity: string]: EntityRules\n\t}\n}\n"],"names":["Validation","ArgumentType"],"mappings":";;AAEiBA,QAAAA,aAAAA;AAAAA,CAAV,CAAUA,gBAAV;AAGC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,WAAA,IAAY;AACZA,kBAAA,MAAA,IAAO;AACPA,kBAAA,SAAA,IAAU;AAAA,EAAA,GAHCD,YAAA,iBAAAA,YAAA,eAAA,CAAA,EAAA;AAAA,GAHIA,QAAAA,eAAAA,qBAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sources":["../../../../../packages/schema/src/schema/validation.ts"],"sourcesContent":["import { JSONValue } from './json'\n\nexport namespace Validation {\n\texport type ContextPath = readonly string[]\n\n\texport enum ArgumentType {\n\t\tvalidator = 'validator',\n\t\tpath = 'path',\n\t\tliteral = 'literal',\n\t}\n\n\texport type ValidatorArgument = {\n\t\treadonly type: ArgumentType.validator\n\t\treadonly validator: Validator\n\t}\n\texport type PathArgument = {\n\t\treadonly type: ArgumentType.path\n\t\treadonly path: ContextPath\n\t}\n\texport type LiteralArgument<V = JSONValue> = {\n\t\treadonly type: ArgumentType.literal\n\t\treadonly value: V\n\t}\n\n\texport type ValidatorArguments = {\n\t\treadonly and: readonly ValidatorArgument[]\n\t\treadonly or: readonly ValidatorArgument[]\n\t\treadonly conditional: readonly [ValidatorArgument, ValidatorArgument]\n\t\treadonly pattern: readonly [LiteralArgument<readonly [string, string]>]\n\t\treadonly lengthRange: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly range: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly equals: readonly [LiteralArgument<JSONValue>]\n\t\treadonly not: readonly [ValidatorArgument]\n\t\treadonly empty: readonly[]\n\t\treadonly defined: readonly[]\n\t\treadonly inContext: readonly [PathArgument, ValidatorArgument]\n\t\treadonly every: readonly [ValidatorArgument]\n\t\treadonly any: readonly [ValidatorArgument]\n\t\treadonly filter: readonly [ValidatorArgument, ValidatorArgument]\n\t}\n\n\texport type SpecificValidator<N extends keyof ValidatorArguments> = {\n\t\treadonly operation: N\n\t\treadonly args: ValidatorArguments[N]\n\t}\n\n\texport type Validator = {\n\t\treadonly [N in keyof ValidatorArguments]: SpecificValidator<N>\n\t}[keyof ValidatorArguments]\n\n\texport type Message = {\n\t\treadonly text: string\n\t\treadonly parameters?: readonly (string | number)[]\n\t}\n\n\texport type ValidationRule = {\n\t\treadonly validator: Validator\n\t\treadonly message: Message\n\t}\n\n\texport type EntityRules = {\n\t\treadonly [field: string]: readonly ValidationRule[]\n\t}\n\n\texport type Schema = {\n\t\treadonly [entity: string]: EntityRules\n\t}\n}\n"],"names":["Validation","ArgumentType"],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.js","sources":["../../../../../packages/schema/src/schema/validation.ts"],"sourcesContent":["import { JSONValue } from './json'\n\nexport namespace Validation {\n\texport type ContextPath = readonly string[]\n\n\texport enum ArgumentType {\n\t\tvalidator = 'validator',\n\t\tpath = 'path',\n\t\tliteral = 'literal',\n\t}\n\n\texport type ValidatorArgument = {\n\t\treadonly type: ArgumentType.validator\n\t\treadonly validator: Validator\n\t}\n\texport type PathArgument = {\n\t\treadonly type: ArgumentType.path\n\t\treadonly path: ContextPath\n\t}\n\texport type LiteralArgument<V = JSONValue> = {\n\t\treadonly type: ArgumentType.literal\n\t\treadonly value: V\n\t}\n\n\texport type ValidatorArguments = {\n\t\treadonly and: readonly ValidatorArgument[]\n\t\treadonly or: readonly ValidatorArgument[]\n\t\treadonly conditional: readonly [ValidatorArgument, ValidatorArgument]\n\t\treadonly pattern: readonly [LiteralArgument<readonly [string, string]>]\n\t\treadonly lengthRange: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly range: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]\n\t\treadonly equals: readonly [LiteralArgument<JSONValue>]\n\t\treadonly not: readonly [ValidatorArgument]\n\t\treadonly empty: readonly []\n\t\treadonly defined: readonly []\n\t\treadonly inContext: readonly [PathArgument, ValidatorArgument]\n\t\treadonly every: readonly [ValidatorArgument]\n\t\treadonly any: readonly [ValidatorArgument]\n\t\treadonly filter: readonly [ValidatorArgument, ValidatorArgument]\n\t}\n\n\texport type SpecificValidator<N extends keyof ValidatorArguments> = {\n\t\treadonly operation: N\n\t\treadonly args: ValidatorArguments[N]\n\t}\n\n\texport type Validator = {\n\t\treadonly [N in keyof ValidatorArguments]: SpecificValidator<N>\n\t}[keyof ValidatorArguments]\n\n\texport type Message = {\n\t\treadonly text: string\n\t\treadonly parameters?: readonly (string | number)[]\n\t}\n\n\texport type ValidationRule = {\n\t\treadonly validator: Validator\n\t\treadonly message: Message\n\t}\n\n\texport type EntityRules = {\n\t\treadonly [field: string]: readonly ValidationRule[]\n\t}\n\n\texport type Schema = {\n\t\treadonly [entity: string]: EntityRules\n\t}\n}\n"],"names":["Validation","ArgumentType"],"mappings":"AAEO,IAAU;AAAA,CAAV,CAAUA,gBAAV;AAGC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,WAAA,IAAY;AACZA,kBAAA,MAAA,IAAO;AACPA,kBAAA,SAAA,IAAU;AAAA,EAAA,GAHCD,YAAA,iBAAAA,YAAA,eAAA,CAAA,EAAA;AAAA,GAHI,eAAA,aAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRole.cjs","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ProjectRole.cjs","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":";;AAAO,IAAK,gCAAAA,iBAAL;AACNA,eAAA,OAAA,IAAQ;AACRA,eAAA,eAAA,IAAgB;AAChBA,eAAA,UAAA,IAAW;AAHA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRole.js","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectRole.js","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":"AAAO,IAAK,gCAAAA,iBAAL;AACNA,eAAA,OAAA,IAAQ;AACRA,eAAA,eAAA,IAAgB;AAChBA,eAAA,UAAA,IAAW;AAHA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.cjs","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\
|
|
1
|
+
{"version":3,"file":"acl.cjs","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\t\t// currently unsupported\n\t\t// enum = 'enum',\n\t\t// column = 'column',\n\t}\n\n\texport type Variable =\n\t\t| EntityVariable\n\t\t| PredefinedVariable\n\t\t| ConditionVariable\n\t// | EnumVariable | ColumnValueVariable\n\n\texport type EntityVariable = {\n\t\treadonly type: VariableType.entity\n\t\treadonly entityName: string\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\texport type PredefinedVariableValue = 'identityID' | 'personID'\n\texport type PredefinedVariable = {\n\t\treadonly type: VariableType.predefined\n\t\treadonly value: PredefinedVariableValue\n\t}\n\n\texport type ConditionVariable = {\n\t\treadonly type: VariableType.condition\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\t// export interface EnumVariable {\n\t// \ttype: VariableType.enum\n\t// \tenumName: string\n\t// }\n\n\t// export interface ColumnValueVariable {\n\t// \ttype: VariableType.column\n\t// \tentityName: string\n\t// \tfieldName: string\n\t// }\n\n\texport type PredicateVariable = string // { name: string }\n\texport type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>\n\n\texport type PredicateMap = { readonly [name: string]: PredicateDefinition }\n\n\texport type EntityPermissions = {\n\t\treadonly predicates: PredicateMap\n\t\treadonly operations: EntityOperations\n\t}\n\n\texport enum Operation {\n\t\tread = 'read',\n\t\tcreate = 'create',\n\t\tupdate = 'update',\n\t\tdelete = 'delete',\n\t}\n\n\texport type EntityOperations = {\n\t\treadonly read?: FieldPermissions\n\t\treadonly create?: FieldPermissions\n\t\treadonly update?: FieldPermissions\n\t\treadonly delete?: Predicate\n\t\treadonly noRoot?: readonly `${Operation}`[]\n\n\t\treadonly customPrimary?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport type FieldPermissions = { readonly [field: string]: Predicate }\n\n\texport type PredicateReference = string\n\texport type Predicate = PredicateReference | boolean\n\n\texport type AnyStage = '*'\n\texport type StagesDefinition = AnyStage | readonly string[]\n\n\texport type MembershipVariableMatchRule = true | string\n\n\texport type MembershipVariablesMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly [targetVariable: string]: MembershipVariableMatchRule\n\t\t}\n\n\texport type MembershipRoleMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly variables?: MembershipVariablesMatchRule\n\t\t}\n\n\texport type MembershipMatchRule =\n\t\t| boolean\n\t\t| {\n\t\t\treadonly [role: string]: MembershipRoleMatchRule\n\t\t}\n\n\texport type TenantPermissions = {\n\t\treadonly invite?: MembershipMatchRule\n\t\treadonly unmanagedInvite?: MembershipMatchRule\n\t\treadonly view?: MembershipMatchRule\n\t\treadonly manage?: MembershipMatchRule\n\t}\n\n\texport enum SystemPermissionsLevel {\n\t\tnone = 'none',\n\t\tany = 'any',\n\t\tsome = 'some',\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport type LimitedSystemPermissionsLevel = 'any' | 'none'\n\n\texport type SystemPermissions = {\n\t\treadonly history?: boolean | LimitedSystemPermissionsLevel\n\t\treadonly migrate?: boolean\n\t\treadonly assumeIdentity?: boolean\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t}\n\n\texport type ContentPermissions = {\n\t\treadonly assumeMembership?: MembershipMatchRule\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport interface BaseRolePermissions {\n\t\treadonly inherits?: readonly string[]\n\t\treadonly implicit?: boolean\n\t\treadonly tenant?: TenantPermissions\n\t\treadonly system?: SystemPermissions\n\t\treadonly content?: ContentPermissions\n\t\treadonly variables: Acl.Variables\n\t\treadonly stages?: StagesDefinition\n\t\treadonly entities: Permissions\n\t\treadonly debug?: boolean\n\t}\n\n\texport type RolePermissions =\n\t\t& BaseRolePermissions\n\t\t& {\n\t\t\treadonly [key: string]: JSONValue\n\t\t}\n\texport type Permissions = {\n\t\treadonly [entity: string]: EntityPermissions\n\t}\n\n\texport type Roles = { readonly [role: string]: RolePermissions }\n\texport type Variables = { readonly [name: string]: Variable }\n\n\texport type Schema = {\n\t\treadonly customPrimary?: boolean\n\t\treadonly roles: Acl.Roles\n\t}\n\n\texport type VariablesMap = {\n\t\treadonly [name: string]: Input.Condition\n\t}\n\n\texport interface MembershipVariable {\n\t\treadonly name: string\n\t\treadonly values: readonly string[]\n\t}\n\n\texport interface Membership {\n\t\treadonly role: string\n\t\treadonly variables: readonly MembershipVariable[]\n\t}\n}\n"],"names":["Acl","VariableType","Operation","SystemPermissionsLevel"],"mappings":";;AAGiBA,QAAAA,MAAAA;AAAAA,CAAV,CAAUA,SAAV;AACC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,QAAA,IAAS;AACTA,kBAAA,YAAA,IAAa;AACbA,kBAAA,WAAA,IAAY;AAAA,EAAA,GAHDD,KAAA,iBAAAA,KAAA,eAAA,CAAA,EAAA;AAqDL,GAAA,CAAKE,eAAL;AACNA,eAAA,MAAA,IAAO;AACPA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AAAA,EAAA,GAJEF,KAAA,cAAAA,KAAA,YAAA,CAAA,EAAA;AAqDL,GAAA,CAAKG,4BAAL;AACNA,4BAAA,MAAA,IAAO;AACPA,4BAAA,KAAA,IAAM;AACNA,4BAAA,MAAA,IAAO;AAAA,EAAA,GAHIH,KAAA,2BAAAA,KAAA,yBAAA,CAAA,EAAA;AAAA,GA3GIA,QAAAA,QAAAA,cAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.js","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\
|
|
1
|
+
{"version":3,"file":"acl.js","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\t\t// currently unsupported\n\t\t// enum = 'enum',\n\t\t// column = 'column',\n\t}\n\n\texport type Variable =\n\t\t| EntityVariable\n\t\t| PredefinedVariable\n\t\t| ConditionVariable\n\t// | EnumVariable | ColumnValueVariable\n\n\texport type EntityVariable = {\n\t\treadonly type: VariableType.entity\n\t\treadonly entityName: string\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\texport type PredefinedVariableValue = 'identityID' | 'personID'\n\texport type PredefinedVariable = {\n\t\treadonly type: VariableType.predefined\n\t\treadonly value: PredefinedVariableValue\n\t}\n\n\texport type ConditionVariable = {\n\t\treadonly type: VariableType.condition\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\t// export interface EnumVariable {\n\t// \ttype: VariableType.enum\n\t// \tenumName: string\n\t// }\n\n\t// export interface ColumnValueVariable {\n\t// \ttype: VariableType.column\n\t// \tentityName: string\n\t// \tfieldName: string\n\t// }\n\n\texport type PredicateVariable = string // { name: string }\n\texport type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>\n\n\texport type PredicateMap = { readonly [name: string]: PredicateDefinition }\n\n\texport type EntityPermissions = {\n\t\treadonly predicates: PredicateMap\n\t\treadonly operations: EntityOperations\n\t}\n\n\texport enum Operation {\n\t\tread = 'read',\n\t\tcreate = 'create',\n\t\tupdate = 'update',\n\t\tdelete = 'delete',\n\t}\n\n\texport type EntityOperations = {\n\t\treadonly read?: FieldPermissions\n\t\treadonly create?: FieldPermissions\n\t\treadonly update?: FieldPermissions\n\t\treadonly delete?: Predicate\n\t\treadonly noRoot?: readonly `${Operation}`[]\n\n\t\treadonly customPrimary?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport type FieldPermissions = { readonly [field: string]: Predicate }\n\n\texport type PredicateReference = string\n\texport type Predicate = PredicateReference | boolean\n\n\texport type AnyStage = '*'\n\texport type StagesDefinition = AnyStage | readonly string[]\n\n\texport type MembershipVariableMatchRule = true | string\n\n\texport type MembershipVariablesMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly [targetVariable: string]: MembershipVariableMatchRule\n\t\t}\n\n\texport type MembershipRoleMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly variables?: MembershipVariablesMatchRule\n\t\t}\n\n\texport type MembershipMatchRule =\n\t\t| boolean\n\t\t| {\n\t\t\treadonly [role: string]: MembershipRoleMatchRule\n\t\t}\n\n\texport type TenantPermissions = {\n\t\treadonly invite?: MembershipMatchRule\n\t\treadonly unmanagedInvite?: MembershipMatchRule\n\t\treadonly view?: MembershipMatchRule\n\t\treadonly manage?: MembershipMatchRule\n\t}\n\n\texport enum SystemPermissionsLevel {\n\t\tnone = 'none',\n\t\tany = 'any',\n\t\tsome = 'some',\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport type LimitedSystemPermissionsLevel = 'any' | 'none'\n\n\texport type SystemPermissions = {\n\t\treadonly history?: boolean | LimitedSystemPermissionsLevel\n\t\treadonly migrate?: boolean\n\t\treadonly assumeIdentity?: boolean\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t}\n\n\texport type ContentPermissions = {\n\t\treadonly assumeMembership?: MembershipMatchRule\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport interface BaseRolePermissions {\n\t\treadonly inherits?: readonly string[]\n\t\treadonly implicit?: boolean\n\t\treadonly tenant?: TenantPermissions\n\t\treadonly system?: SystemPermissions\n\t\treadonly content?: ContentPermissions\n\t\treadonly variables: Acl.Variables\n\t\treadonly stages?: StagesDefinition\n\t\treadonly entities: Permissions\n\t\treadonly debug?: boolean\n\t}\n\n\texport type RolePermissions =\n\t\t& BaseRolePermissions\n\t\t& {\n\t\t\treadonly [key: string]: JSONValue\n\t\t}\n\texport type Permissions = {\n\t\treadonly [entity: string]: EntityPermissions\n\t}\n\n\texport type Roles = { readonly [role: string]: RolePermissions }\n\texport type Variables = { readonly [name: string]: Variable }\n\n\texport type Schema = {\n\t\treadonly customPrimary?: boolean\n\t\treadonly roles: Acl.Roles\n\t}\n\n\texport type VariablesMap = {\n\t\treadonly [name: string]: Input.Condition\n\t}\n\n\texport interface MembershipVariable {\n\t\treadonly name: string\n\t\treadonly values: readonly string[]\n\t}\n\n\texport interface Membership {\n\t\treadonly role: string\n\t\treadonly variables: readonly MembershipVariable[]\n\t}\n}\n"],"names":["Acl","VariableType","Operation","SystemPermissionsLevel"],"mappings":"AAGO,IAAU;AAAA,CAAV,CAAUA,SAAV;AACC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,QAAA,IAAS;AACTA,kBAAA,YAAA,IAAa;AACbA,kBAAA,WAAA,IAAY;AAAA,EAAA,GAHDD,KAAA,iBAAAA,KAAA,eAAA,CAAA,EAAA;AAqDL,GAAA,CAAKE,eAAL;AACNA,eAAA,MAAA,IAAO;AACPA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AAAA,EAAA,GAJEF,KAAA,cAAAA,KAAA,YAAA,CAAA,EAAA;AAqDL,GAAA,CAAKG,4BAAL;AACNA,4BAAA,MAAA,IAAO;AACPA,4BAAA,KAAA,IAAM;AACNA,4BAAA,MAAA,IAAO;AAAA,EAAA,GAHIH,KAAA,2BAAAA,KAAA,yBAAA,CAAA,EAAA;AAAA,GA3GI,QAAA,MAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.cjs","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never>
|
|
1
|
+
{"version":3,"file":"input.cjs","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t)\n\n\texport type CreateManyRelationInput<E = never> = Array<CreateOneRelationInput<E>>\n\n\texport interface UpdateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | UpdateOneRelationInput<E> | UpdateManyRelationInput<E>\n\t}\n\n\texport interface UpdateInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tdata: UpdateDataInput<E>\n\t}\n\n\texport interface UpsertInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tupdate: UpdateDataInput<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface CreateInput<E = never> {\n\t\tdata: CreateDataInput<E>\n\t}\n\n\texport interface DeleteInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface UniqueQueryInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface ListQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\toffset?: number\n\t\tlimit?: number\n\t}\n\n\texport interface PaginationQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\tskip?: number\n\t\tfirst?: number\n\t}\n\n\t/** @deprecated */\n\texport type SelectQueryInput<E = never> = PaginationQueryInput<E>\n\n\texport type UpdateOneRelationInput<E = never> =\n\t\t| CreateRelationInput<E>\n\t\t| ConnectRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t\t| DeleteRelationInput\n\t\t| DisconnectRelationInput\n\t\t| UpdateRelationInput<E>\n\t\t| UpsertRelationInput<E>\n\n\texport type UpdateManyRelationInputItem<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t\t| DeleteSpecifiedRelationInput<E>\n\t\t\t| DisconnectSpecifiedRelationInput<E>\n\t\t\t| UpdateSpecifiedRelationInput<E>\n\t\t\t| UpsertSpecifiedRelationInput<E>\n\t\t)\n\n\texport type UpdateManyRelationInput<E = never> = Array<UpdateManyRelationInputItem<E>>\n\n\texport enum OrderDirection {\n\t\tasc = 'asc',\n\t\tascNullsFirst = 'ascNullsFirst',\n\t\tdesc = 'desc',\n\t\tdescNullsLast = 'descNullsLast',\n\n\t\t/** @deprecated use ascNullsFirst*/\n\t\tascNullFirst = 'ascNullsFirst',\n\t}\n\n\t// generics required by admin\n\texport type FieldOrderBy<T = OrderDirection> = T | OrderBy<T>\n\n\texport interface OrderByFields<T = OrderDirection> {\n\t\t[fieldName: string]: FieldOrderBy<T>\n\t}\n\n\texport type OrderBy<T = OrderDirection> = OrderByFields<T> & { _random?: boolean; _randomSeeded?: number }\n\n\texport type Condition<T = Value.FieldValue> = {\n\t\t// boolean\n\t\treadonly and?: readonly Condition<T>[]\n\t\treadonly or?: readonly Condition<T>[]\n\t\treadonly not?: Condition<T>\n\n\t\t// null\n\t\treadonly isNull?: boolean\n\n\t\t// basic\n\t\treadonly eq?: T\n\t\treadonly notEq?: T\n\t\treadonly in?: readonly T[]\n\t\treadonly notIn?: readonly T[]\n\t\treadonly lt?: T\n\t\treadonly lte?: T\n\t\treadonly gt?: T\n\t\treadonly gte?: T\n\n\t\t// array\n\t\treadonly minLength?: number\n\t\treadonly maxLength?: number\n\t\treadonly includes?: T extends (infer U)[] ? U : never\n\n\t\t// string only\n\t\treadonly contains?: string\n\t\treadonly startsWith?: string\n\t\treadonly endsWith?: string\n\t\treadonly containsCI?: string\n\t\treadonly startsWithCI?: string\n\t\treadonly endsWithCI?: string\n\n\t\t// special\n\t\treadonly never?: true\n\t\treadonly always?: true\n\n\t\t// deprecated\n\t\treadonly null?: boolean\n\t}\n\n\texport type UniqueWhere<E = never> = {\n\t\treadonly [field: string]: Value.PrimaryValue<E> | UniqueWhere<E>\n\t}\n\n\texport type ComposedWhere<C, Opt = never> = {\n\t\treadonly and?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly or?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly not?: Where<C, Opt> | Opt\n\t}\n\n\texport interface FieldWhere<C = Condition, Opt = never> {\n\t\treadonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] // last one if for ComposedWhere\n\t}\n\n\texport type Where<C = Condition, Opt = never> = ComposedWhere<C, Opt> & FieldWhere<C, Opt>\n\n\texport type OptionalWhere<E = never> = Where<Condition<Value.FieldValue<E>>, null | undefined>\n\texport type OptionalFieldWhere<E = never> = FieldWhere<Condition<Value.FieldValue<E>>, null | undefined>\n\n\texport enum FieldMeta {\n\t\treadable = 'readable',\n\t\tupdatable = 'updatable',\n\t}\n}\n"],"names":["Input","UpdateRelationOperation","CreateRelationOperation","OrderDirection","FieldMeta"],"mappings":";;AAEiBA,QAAAA,QAAAA;AAAAA,CAAV,CAAUA,WAAV;AAIC,GAAA,CAAKC,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,YAAA,IAAa;AACbA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAClBA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AAAA,EAAA,GAPED,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AAUL,GAAA,CAAKE,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAAA,EAAA,GAHPF,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AA4IL,GAAA,CAAKG,oBAAL;AACNA,oBAAA,KAAA,IAAM;AACNA,oBAAA,eAAA,IAAgB;AAChBA,oBAAA,MAAA,IAAO;AACPA,oBAAA,eAAA,IAAgB;AAGhBA,oBAAA,cAAA,IAAe;AAAA,EAAA,GAPJH,OAAA,mBAAAA,OAAA,iBAAA,CAAA,EAAA;AA8EL,GAAA,CAAKI,eAAL;AACNA,eAAA,UAAA,IAAW;AACXA,eAAA,WAAA,IAAY;AAAA,EAAA,GAFDJ,OAAA,cAAAA,OAAA,YAAA,CAAA,EAAA;AAAA,GAxOIA,QAAAA,UAAAA,gBAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never>
|
|
1
|
+
{"version":3,"file":"input.js","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t)\n\n\texport type CreateManyRelationInput<E = never> = Array<CreateOneRelationInput<E>>\n\n\texport interface UpdateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | UpdateOneRelationInput<E> | UpdateManyRelationInput<E>\n\t}\n\n\texport interface UpdateInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tdata: UpdateDataInput<E>\n\t}\n\n\texport interface UpsertInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tupdate: UpdateDataInput<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface CreateInput<E = never> {\n\t\tdata: CreateDataInput<E>\n\t}\n\n\texport interface DeleteInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface UniqueQueryInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface ListQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\toffset?: number\n\t\tlimit?: number\n\t}\n\n\texport interface PaginationQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\tskip?: number\n\t\tfirst?: number\n\t}\n\n\t/** @deprecated */\n\texport type SelectQueryInput<E = never> = PaginationQueryInput<E>\n\n\texport type UpdateOneRelationInput<E = never> =\n\t\t| CreateRelationInput<E>\n\t\t| ConnectRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t\t| DeleteRelationInput\n\t\t| DisconnectRelationInput\n\t\t| UpdateRelationInput<E>\n\t\t| UpsertRelationInput<E>\n\n\texport type UpdateManyRelationInputItem<E = never> =\n\t\t& { alias?: string }\n\t\t& (\n\t\t\t| CreateRelationInput<E>\n\t\t\t| ConnectRelationInput<E>\n\t\t\t| ConnectOrCreateRelationInput<E>\n\t\t\t| DeleteSpecifiedRelationInput<E>\n\t\t\t| DisconnectSpecifiedRelationInput<E>\n\t\t\t| UpdateSpecifiedRelationInput<E>\n\t\t\t| UpsertSpecifiedRelationInput<E>\n\t\t)\n\n\texport type UpdateManyRelationInput<E = never> = Array<UpdateManyRelationInputItem<E>>\n\n\texport enum OrderDirection {\n\t\tasc = 'asc',\n\t\tascNullsFirst = 'ascNullsFirst',\n\t\tdesc = 'desc',\n\t\tdescNullsLast = 'descNullsLast',\n\n\t\t/** @deprecated use ascNullsFirst*/\n\t\tascNullFirst = 'ascNullsFirst',\n\t}\n\n\t// generics required by admin\n\texport type FieldOrderBy<T = OrderDirection> = T | OrderBy<T>\n\n\texport interface OrderByFields<T = OrderDirection> {\n\t\t[fieldName: string]: FieldOrderBy<T>\n\t}\n\n\texport type OrderBy<T = OrderDirection> = OrderByFields<T> & { _random?: boolean; _randomSeeded?: number }\n\n\texport type Condition<T = Value.FieldValue> = {\n\t\t// boolean\n\t\treadonly and?: readonly Condition<T>[]\n\t\treadonly or?: readonly Condition<T>[]\n\t\treadonly not?: Condition<T>\n\n\t\t// null\n\t\treadonly isNull?: boolean\n\n\t\t// basic\n\t\treadonly eq?: T\n\t\treadonly notEq?: T\n\t\treadonly in?: readonly T[]\n\t\treadonly notIn?: readonly T[]\n\t\treadonly lt?: T\n\t\treadonly lte?: T\n\t\treadonly gt?: T\n\t\treadonly gte?: T\n\n\t\t// array\n\t\treadonly minLength?: number\n\t\treadonly maxLength?: number\n\t\treadonly includes?: T extends (infer U)[] ? U : never\n\n\t\t// string only\n\t\treadonly contains?: string\n\t\treadonly startsWith?: string\n\t\treadonly endsWith?: string\n\t\treadonly containsCI?: string\n\t\treadonly startsWithCI?: string\n\t\treadonly endsWithCI?: string\n\n\t\t// special\n\t\treadonly never?: true\n\t\treadonly always?: true\n\n\t\t// deprecated\n\t\treadonly null?: boolean\n\t}\n\n\texport type UniqueWhere<E = never> = {\n\t\treadonly [field: string]: Value.PrimaryValue<E> | UniqueWhere<E>\n\t}\n\n\texport type ComposedWhere<C, Opt = never> = {\n\t\treadonly and?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly or?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly not?: Where<C, Opt> | Opt\n\t}\n\n\texport interface FieldWhere<C = Condition, Opt = never> {\n\t\treadonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] // last one if for ComposedWhere\n\t}\n\n\texport type Where<C = Condition, Opt = never> = ComposedWhere<C, Opt> & FieldWhere<C, Opt>\n\n\texport type OptionalWhere<E = never> = Where<Condition<Value.FieldValue<E>>, null | undefined>\n\texport type OptionalFieldWhere<E = never> = FieldWhere<Condition<Value.FieldValue<E>>, null | undefined>\n\n\texport enum FieldMeta {\n\t\treadable = 'readable',\n\t\tupdatable = 'updatable',\n\t}\n}\n"],"names":["Input","UpdateRelationOperation","CreateRelationOperation","OrderDirection","FieldMeta"],"mappings":"AAEO,IAAU;AAAA,CAAV,CAAUA,WAAV;AAIC,GAAA,CAAKC,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,YAAA,IAAa;AACbA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAClBA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AACTA,6BAAA,QAAA,IAAS;AAAA,EAAA,GAPED,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AAUL,GAAA,CAAKE,6BAAL;AACNA,6BAAA,SAAA,IAAU;AACVA,6BAAA,QAAA,IAAS;AACTA,6BAAA,iBAAA,IAAkB;AAAA,EAAA,GAHPF,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AA4IL,GAAA,CAAKG,oBAAL;AACNA,oBAAA,KAAA,IAAM;AACNA,oBAAA,eAAA,IAAgB;AAChBA,oBAAA,MAAA,IAAO;AACPA,oBAAA,eAAA,IAAgB;AAGhBA,oBAAA,cAAA,IAAe;AAAA,EAAA,GAPJH,OAAA,mBAAAA,OAAA,iBAAA,CAAA,EAAA;AA8EL,GAAA,CAAKI,eAAL;AACNA,eAAA,UAAA,IAAW;AACXA,eAAA,WAAA,IAAY;AAAA,EAAA,GAFDJ,OAAA,cAAAA,OAAA,YAAA,CAAA,EAAA;AAAA,GAxOI,UAAA,QAAA,CAAA,EAAA;"}
|