Files
linux-odyssey/packages/database/src/prisma/contract.d.ts
T
2026-10-11 19:30:38 +11:00

1610 lines
69 KiB
TypeScript
Generated

// ⚠️ GENERATED FILE - DO NOT EDIT
// This file is automatically generated by 'prisma contract emit'.
// To regenerate, run: prisma contract emit
import type { CodecTypes as PgTypes } from '@prisma/orm-postgres/target/codec-types';
import type { QueryOperationTypes as PgTargetQueryOps } from '@prisma/orm-postgres/target/operation-types';
import type {
ContractWithTypeMaps,
RelationKeys,
TypeMaps as TypeMapsType,
} from '@prisma/orm-postgres/family-contract/types';
import type {
Contract as ContractType,
ExecutionHashBase,
NamespaceId,
ProfileHashBase,
StorageHashBase,
} from '@prisma/orm-postgres/contract/types';
export type StorageHash =
StorageHashBase<'6fecb00f7a40489f8c1a9a4dad506cc6d4b95789cbb32519634132f006530c04'>;
export type ExecutionHash = ExecutionHashBase<string>;
export type ProfileHash =
ProfileHashBase<'3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2'>;
export type CodecTypes = PgTypes;
export type LaneCodecTypes = CodecTypes;
export type QueryOperationTypes = PgTargetQueryOps<CodecTypes>;
export type AggregateTypes = {
readonly avg: {
readonly byCodec: {
readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/float4@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/int2@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/int4@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/int8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/int8number@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/unboundedint@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'sql/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
};
};
readonly avgDecimal: {
readonly byCodec: {
readonly 'pg/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/int2@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/int4@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/int8@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/int8number@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/unboundedint@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'sql/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
};
};
readonly count: {
readonly byCodec: {};
readonly withoutInput: { readonly output: 'pg/int8number@1'; readonly nullable: false };
readonly anyInput: { readonly output: 'pg/int8number@1'; readonly nullable: false };
};
readonly countBigInt: {
readonly byCodec: {};
readonly withoutInput: { readonly output: 'pg/int8@1'; readonly nullable: false };
readonly anyInput: { readonly output: 'pg/int8@1'; readonly nullable: false };
};
readonly max: {
readonly byCodec: {
readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true };
readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true };
readonly 'pg/date-temporal@1': {
readonly output: 'pg/date-temporal@1';
readonly nullable: true;
};
readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true };
readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true };
readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true };
readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true };
readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true };
readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true };
readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true };
readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true };
readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true };
readonly 'pg/time-temporal@1': {
readonly output: 'pg/time-temporal@1';
readonly nullable: true;
};
readonly 'pg/timestamp-string@1': {
readonly output: 'pg/timestamp-string@1';
readonly nullable: true;
};
readonly 'pg/timestamp-temporal@1': {
readonly output: 'pg/timestamp-temporal@1';
readonly nullable: true;
};
readonly 'pg/timestamptz-date@1': {
readonly output: 'pg/timestamptz-date@1';
readonly nullable: true;
};
readonly 'pg/timestamptz-string@1': {
readonly output: 'pg/timestamptz-string@1';
readonly nullable: true;
};
readonly 'pg/timestamptz-temporal@1': {
readonly output: 'pg/timestamptz-temporal@1';
readonly nullable: true;
};
readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true };
readonly 'pg/unboundedint@1': {
readonly output: 'pg/unboundedint@1';
readonly nullable: true;
};
readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true };
readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true };
readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true };
readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true };
readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
};
};
readonly min: {
readonly byCodec: {
readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true };
readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true };
readonly 'pg/date-temporal@1': {
readonly output: 'pg/date-temporal@1';
readonly nullable: true;
};
readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true };
readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true };
readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true };
readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true };
readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true };
readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true };
readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true };
readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true };
readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true };
readonly 'pg/time-temporal@1': {
readonly output: 'pg/time-temporal@1';
readonly nullable: true;
};
readonly 'pg/timestamp-string@1': {
readonly output: 'pg/timestamp-string@1';
readonly nullable: true;
};
readonly 'pg/timestamp-temporal@1': {
readonly output: 'pg/timestamp-temporal@1';
readonly nullable: true;
};
readonly 'pg/timestamptz-date@1': {
readonly output: 'pg/timestamptz-date@1';
readonly nullable: true;
};
readonly 'pg/timestamptz-string@1': {
readonly output: 'pg/timestamptz-string@1';
readonly nullable: true;
};
readonly 'pg/timestamptz-temporal@1': {
readonly output: 'pg/timestamptz-temporal@1';
readonly nullable: true;
};
readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true };
readonly 'pg/unboundedint@1': {
readonly output: 'pg/unboundedint@1';
readonly nullable: true;
};
readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true };
readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true };
readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true };
readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true };
readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
};
};
readonly sum: {
readonly byCodec: {
readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'pg/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/int2@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/int4@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/int8@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
readonly 'pg/unboundedint@1': {
readonly output: 'pg/unboundedint@1';
readonly nullable: true;
};
readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
readonly 'sql/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
};
};
readonly sumBigInt: {
readonly byCodec: {
readonly 'pg/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
readonly 'pg/int2@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
readonly 'pg/int4@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
readonly 'pg/int8@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true };
readonly 'pg/int8number@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true };
readonly 'pg/unboundedint@1': {
readonly output: 'pg/unboundedint@1';
readonly nullable: true;
};
readonly 'sql/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
};
};
};
type DefaultLiteralValue<CodecId extends string, Encoded> = CodecId extends keyof CodecTypes
? Encoded extends CodecTypes[CodecId]['json']
? Encoded
: CodecTypes[CodecId]['json']
: Encoded;
export type FieldOutputTypes = {
readonly public: {
readonly Command: {
readonly command: CodecTypes['pg/text@1']['output'];
readonly error: CodecTypes['pg/text@1']['output'] | null;
readonly id: CodecTypes['pg/int8@1']['output'];
readonly output: CodecTypes['pg/text@1']['output'] | null;
readonly pwd: CodecTypes['pg/text@1']['output'];
readonly sessionId: CodecTypes['pg/int8@1']['output'];
readonly stage: CodecTypes['pg/text@1']['output'] | null;
readonly timestamp: CodecTypes['pg/timestamptz-temporal@1']['output'];
};
readonly LoginAttempt: {
readonly id: CodecTypes['pg/int8@1']['output'];
readonly ip: CodecTypes['pg/text@1']['output'];
readonly loginMethod: 'password' | 'google' | 'github';
readonly message: CodecTypes['pg/text@1']['output'] | null;
readonly success: CodecTypes['pg/bool@1']['output'];
readonly time: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly userAgent: CodecTypes['pg/text@1']['output'];
readonly userId: CodecTypes['pg/int8@1']['output'] | null;
readonly username: CodecTypes['pg/text@1']['output'];
};
readonly Session: {
readonly completedEvents: ReadonlyArray<CodecTypes['pg/text@1']['output']>;
readonly containerId: CodecTypes['pg/text@1']['output'] | null;
readonly containerName: CodecTypes['pg/text@1']['output'] | null;
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['output'] | null;
readonly graph: CodecTypes['pg/jsonb@1']['output'];
readonly id: CodecTypes['pg/int8@1']['output'];
readonly lastActivityAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly locale: CodecTypes['pg/text@1']['output'];
readonly quest: CodecTypes['pg/text@1']['output'];
readonly status: 'active' | 'finished' | 'inactive';
readonly userId: CodecTypes['pg/int8@1']['output'];
};
readonly User: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly email: CodecTypes['pg/text@1']['output'];
readonly id: CodecTypes['pg/int8@1']['output'];
readonly isGuest: CodecTypes['pg/bool@1']['output'];
readonly name: CodecTypes['pg/text@1']['output'] | null;
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly username: CodecTypes['pg/text@1']['output'];
};
readonly UserLoginMethod: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly displayName: CodecTypes['pg/text@1']['output'] | null;
readonly hashedPassword: CodecTypes['pg/text@1']['output'] | null;
readonly oauthId: CodecTypes['pg/text@1']['output'] | null;
readonly type: 'password' | 'google' | 'github';
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly userId: CodecTypes['pg/int8@1']['output'];
};
readonly UserProgress: {
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['output'] | null;
readonly quest: CodecTypes['pg/text@1']['output'];
readonly startedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly userId: CodecTypes['pg/int8@1']['output'];
};
};
};
export type FieldInputTypes = {
readonly public: {
readonly Command: {
readonly command: CodecTypes['pg/text@1']['input'];
readonly error: CodecTypes['pg/text@1']['input'] | null;
readonly id: CodecTypes['pg/int8@1']['input'];
readonly output: CodecTypes['pg/text@1']['input'] | null;
readonly pwd: CodecTypes['pg/text@1']['input'];
readonly sessionId: CodecTypes['pg/int8@1']['input'];
readonly stage: CodecTypes['pg/text@1']['input'] | null;
readonly timestamp: CodecTypes['pg/timestamptz-temporal@1']['input'];
};
readonly LoginAttempt: {
readonly id: CodecTypes['pg/int8@1']['input'];
readonly ip: CodecTypes['pg/text@1']['input'];
readonly loginMethod: 'password' | 'google' | 'github';
readonly message: CodecTypes['pg/text@1']['input'] | null;
readonly success: CodecTypes['pg/bool@1']['input'];
readonly time: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly userAgent: CodecTypes['pg/text@1']['input'];
readonly userId: CodecTypes['pg/int8@1']['input'] | null;
readonly username: CodecTypes['pg/text@1']['input'];
};
readonly Session: {
readonly completedEvents: ReadonlyArray<CodecTypes['pg/text@1']['input']>;
readonly containerId: CodecTypes['pg/text@1']['input'] | null;
readonly containerName: CodecTypes['pg/text@1']['input'] | null;
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['input'] | null;
readonly graph: CodecTypes['pg/jsonb@1']['input'];
readonly id: CodecTypes['pg/int8@1']['input'];
readonly lastActivityAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly locale: CodecTypes['pg/text@1']['input'];
readonly quest: CodecTypes['pg/text@1']['input'];
readonly status: 'active' | 'finished' | 'inactive';
readonly userId: CodecTypes['pg/int8@1']['input'];
};
readonly User: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly email: CodecTypes['pg/text@1']['input'];
readonly id: CodecTypes['pg/int8@1']['input'];
readonly isGuest: CodecTypes['pg/bool@1']['input'];
readonly name: CodecTypes['pg/text@1']['input'] | null;
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly username: CodecTypes['pg/text@1']['input'];
};
readonly UserLoginMethod: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly displayName: CodecTypes['pg/text@1']['input'] | null;
readonly hashedPassword: CodecTypes['pg/text@1']['input'] | null;
readonly oauthId: CodecTypes['pg/text@1']['input'] | null;
readonly type: 'password' | 'google' | 'github';
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly userId: CodecTypes['pg/int8@1']['input'];
};
readonly UserProgress: {
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['input'] | null;
readonly quest: CodecTypes['pg/text@1']['input'];
readonly startedAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly userId: CodecTypes['pg/int8@1']['input'];
};
};
};
export type StorageColumnTypes = {
readonly public: {
readonly Command: {
readonly command: CodecTypes['pg/text@1']['output'];
readonly error: CodecTypes['pg/text@1']['output'] | null;
readonly id: CodecTypes['pg/int8@1']['output'];
readonly output: CodecTypes['pg/text@1']['output'] | null;
readonly pwd: CodecTypes['pg/text@1']['output'];
readonly sessionId: CodecTypes['pg/int8@1']['output'];
readonly stage: CodecTypes['pg/text@1']['output'] | null;
readonly timestamp: CodecTypes['pg/timestamptz-temporal@1']['output'];
};
readonly LoginAttempt: {
readonly id: CodecTypes['pg/int8@1']['output'];
readonly ip: CodecTypes['pg/text@1']['output'];
readonly loginMethod: 'password' | 'google' | 'github';
readonly message: CodecTypes['pg/text@1']['output'] | null;
readonly success: CodecTypes['pg/bool@1']['output'];
readonly time: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly userAgent: CodecTypes['pg/text@1']['output'];
readonly userId: CodecTypes['pg/int8@1']['output'] | null;
readonly username: CodecTypes['pg/text@1']['output'];
};
readonly Session: {
readonly completedEvents: ReadonlyArray<CodecTypes['pg/text@1']['output']>;
readonly containerId: CodecTypes['pg/text@1']['output'] | null;
readonly containerName: CodecTypes['pg/text@1']['output'] | null;
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['output'] | null;
readonly graph: CodecTypes['pg/jsonb@1']['output'];
readonly id: CodecTypes['pg/int8@1']['output'];
readonly lastActivityAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly locale: CodecTypes['pg/text@1']['output'];
readonly quest: CodecTypes['pg/text@1']['output'];
readonly status: 'active' | 'finished' | 'inactive';
readonly userId: CodecTypes['pg/int8@1']['output'];
};
readonly User: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly email: CodecTypes['pg/text@1']['output'];
readonly id: CodecTypes['pg/int8@1']['output'];
readonly isGuest: CodecTypes['pg/bool@1']['output'];
readonly name: CodecTypes['pg/text@1']['output'] | null;
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly username: CodecTypes['pg/text@1']['output'];
};
readonly UserLoginMethod: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly displayName: CodecTypes['pg/text@1']['output'] | null;
readonly hashedPassword: CodecTypes['pg/text@1']['output'] | null;
readonly oauthId: CodecTypes['pg/text@1']['output'] | null;
readonly type: 'password' | 'google' | 'github';
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly userId: CodecTypes['pg/int8@1']['output'];
};
readonly UserProgress: {
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['output'] | null;
readonly quest: CodecTypes['pg/text@1']['output'];
readonly startedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
readonly userId: CodecTypes['pg/int8@1']['output'];
};
};
};
export type StorageColumnInputTypes = {
readonly public: {
readonly Command: {
readonly command: CodecTypes['pg/text@1']['input'];
readonly error: CodecTypes['pg/text@1']['input'] | null;
readonly id: CodecTypes['pg/int8@1']['input'];
readonly output: CodecTypes['pg/text@1']['input'] | null;
readonly pwd: CodecTypes['pg/text@1']['input'];
readonly sessionId: CodecTypes['pg/int8@1']['input'];
readonly stage: CodecTypes['pg/text@1']['input'] | null;
readonly timestamp: CodecTypes['pg/timestamptz-temporal@1']['input'];
};
readonly LoginAttempt: {
readonly id: CodecTypes['pg/int8@1']['input'];
readonly ip: CodecTypes['pg/text@1']['input'];
readonly loginMethod: 'password' | 'google' | 'github';
readonly message: CodecTypes['pg/text@1']['input'] | null;
readonly success: CodecTypes['pg/bool@1']['input'];
readonly time: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly userAgent: CodecTypes['pg/text@1']['input'];
readonly userId: CodecTypes['pg/int8@1']['input'] | null;
readonly username: CodecTypes['pg/text@1']['input'];
};
readonly Session: {
readonly completedEvents: ReadonlyArray<CodecTypes['pg/text@1']['input']>;
readonly containerId: CodecTypes['pg/text@1']['input'] | null;
readonly containerName: CodecTypes['pg/text@1']['input'] | null;
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['input'] | null;
readonly graph: CodecTypes['pg/jsonb@1']['input'];
readonly id: CodecTypes['pg/int8@1']['input'];
readonly lastActivityAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly locale: CodecTypes['pg/text@1']['input'];
readonly quest: CodecTypes['pg/text@1']['input'];
readonly status: 'active' | 'finished' | 'inactive';
readonly userId: CodecTypes['pg/int8@1']['input'];
};
readonly User: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly email: CodecTypes['pg/text@1']['input'];
readonly id: CodecTypes['pg/int8@1']['input'];
readonly isGuest: CodecTypes['pg/bool@1']['input'];
readonly name: CodecTypes['pg/text@1']['input'] | null;
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly username: CodecTypes['pg/text@1']['input'];
};
readonly UserLoginMethod: {
readonly createdAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly displayName: CodecTypes['pg/text@1']['input'] | null;
readonly hashedPassword: CodecTypes['pg/text@1']['input'] | null;
readonly oauthId: CodecTypes['pg/text@1']['input'] | null;
readonly type: 'password' | 'google' | 'github';
readonly updatedAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly userId: CodecTypes['pg/int8@1']['input'];
};
readonly UserProgress: {
readonly finishedAt: CodecTypes['pg/timestamptz-temporal@1']['input'] | null;
readonly quest: CodecTypes['pg/text@1']['input'];
readonly startedAt: CodecTypes['pg/timestamptz-temporal@1']['input'];
readonly userId: CodecTypes['pg/int8@1']['input'];
};
};
};
export namespace Models {
export type public_Command = {
command: CodecTypes['pg/text@1']['output'];
error: CodecTypes['pg/text@1']['output'] | null;
id: CodecTypes['pg/int8@1']['output'];
output: CodecTypes['pg/text@1']['output'] | null;
pwd: CodecTypes['pg/text@1']['output'];
sessionId: CodecTypes['pg/int8@1']['output'];
stage: CodecTypes['pg/text@1']['output'] | null;
timestamp: CodecTypes['pg/timestamptz-temporal@1']['output'];
session: public_Session;
readonly [RelationKeys]?: 'session';
};
export type public_LoginAttempt = {
id: CodecTypes['pg/int8@1']['output'];
ip: CodecTypes['pg/text@1']['output'];
loginMethod: 'password' | 'google' | 'github';
message: CodecTypes['pg/text@1']['output'] | null;
success: CodecTypes['pg/bool@1']['output'];
time: CodecTypes['pg/timestamptz-temporal@1']['output'];
userAgent: CodecTypes['pg/text@1']['output'];
userId: CodecTypes['pg/int8@1']['output'] | null;
username: CodecTypes['pg/text@1']['output'];
user: public_User | null;
readonly [RelationKeys]?: 'user';
};
export type public_Session = {
completedEvents: ReadonlyArray<CodecTypes['pg/text@1']['output']>;
containerId: CodecTypes['pg/text@1']['output'] | null;
containerName: CodecTypes['pg/text@1']['output'] | null;
createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
finishedAt: CodecTypes['pg/timestamptz-temporal@1']['output'] | null;
graph: CodecTypes['pg/jsonb@1']['output'];
id: CodecTypes['pg/int8@1']['output'];
lastActivityAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
locale: CodecTypes['pg/text@1']['output'];
quest: CodecTypes['pg/text@1']['output'];
status: 'active' | 'finished' | 'inactive';
userId: CodecTypes['pg/int8@1']['output'];
commands: public_Command[];
user: public_User;
readonly [RelationKeys]?: 'commands' | 'user';
};
export type public_User = {
createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
email: CodecTypes['pg/text@1']['output'];
id: CodecTypes['pg/int8@1']['output'];
isGuest: CodecTypes['pg/bool@1']['output'];
name: CodecTypes['pg/text@1']['output'] | null;
updatedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
username: CodecTypes['pg/text@1']['output'];
loginAttempts: public_LoginAttempt[];
loginMethods: public_UserLoginMethod[];
progress: public_UserProgress[];
sessions: public_Session[];
readonly [RelationKeys]?: 'loginAttempts' | 'loginMethods' | 'progress' | 'sessions';
};
export type public_UserLoginMethod = {
createdAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
displayName: CodecTypes['pg/text@1']['output'] | null;
hashedPassword: CodecTypes['pg/text@1']['output'] | null;
oauthId: CodecTypes['pg/text@1']['output'] | null;
type: 'password' | 'google' | 'github';
updatedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
userId: CodecTypes['pg/int8@1']['output'];
user: public_User;
readonly [RelationKeys]?: 'user';
};
export type public_UserProgress = {
finishedAt: CodecTypes['pg/timestamptz-temporal@1']['output'] | null;
quest: CodecTypes['pg/text@1']['output'];
startedAt: CodecTypes['pg/timestamptz-temporal@1']['output'];
userId: CodecTypes['pg/int8@1']['output'];
user: public_User;
readonly [RelationKeys]?: 'user';
};
}
export declare const models: {
public: {
Command: Models.public_Command;
LoginAttempt: Models.public_LoginAttempt;
Session: Models.public_Session;
User: Models.public_User;
UserLoginMethod: Models.public_UserLoginMethod;
UserProgress: Models.public_UserProgress;
};
};
export type TypeMaps = TypeMapsType<
CodecTypes,
QueryOperationTypes,
FieldOutputTypes,
FieldInputTypes,
StorageColumnTypes,
StorageColumnInputTypes,
AggregateTypes
>;
type ContractBase = Omit<
ContractType<{
readonly namespaces: {
readonly public: {
readonly id: 'public';
readonly kind: 'postgres-schema';
readonly entries: {
readonly table: {
readonly Command: {
columns: {
readonly command: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly error: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly id: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly default: {
readonly kind: 'function';
readonly expression: 'autoincrement()';
};
readonly many: false;
};
readonly output: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly pwd: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly sessionId: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly many: false;
};
readonly stage: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly timestamp: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
};
primaryKey: { readonly columns: readonly ['id'] };
uniques: readonly [];
indexes: readonly [
{
readonly name: 'Command_sessionId_idx_29f415d4';
readonly prefix: 'Command_sessionId_idx';
readonly columns: readonly ['sessionId'];
readonly unique: false;
},
];
foreignKeys: readonly [
{
readonly source: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'Command';
readonly columns: readonly ['sessionId'];
};
readonly target: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'Session';
readonly columns: readonly ['id'];
};
},
];
};
readonly LoginAttempt: {
columns: {
readonly id: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly default: {
readonly kind: 'function';
readonly expression: 'autoincrement()';
};
readonly many: false;
};
readonly ip: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly loginMethod: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly message: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly success: {
readonly dataType: 'pg/bool';
readonly codecId: 'pg/bool@1';
readonly nullable: false;
readonly many: false;
};
readonly time: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly userAgent: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly userId: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: true;
readonly many: false;
};
readonly username: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
};
primaryKey: { readonly columns: readonly ['id'] };
uniques: readonly [];
indexes: readonly [
{
readonly name: 'LoginAttempt_userId_idx_a489d58a';
readonly prefix: 'LoginAttempt_userId_idx';
readonly columns: readonly ['userId'];
readonly unique: false;
},
];
foreignKeys: readonly [
{
readonly source: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'LoginAttempt';
readonly columns: readonly ['userId'];
};
readonly target: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'User';
readonly columns: readonly ['id'];
};
},
];
};
readonly Session: {
columns: {
readonly completedEvents: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: { readonly elementNullable: false };
};
readonly containerId: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly containerName: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly createdAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly finishedAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: true;
readonly many: false;
};
readonly graph: {
readonly dataType: 'pg/jsonb';
readonly codecId: 'pg/jsonb@1';
readonly nullable: false;
readonly many: false;
};
readonly id: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly default: {
readonly kind: 'function';
readonly expression: 'autoincrement()';
};
readonly many: false;
};
readonly lastActivityAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly locale: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly quest: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly status: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly userId: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly many: false;
};
};
primaryKey: { readonly columns: readonly ['id'] };
uniques: readonly [];
indexes: readonly [
{
readonly name: 'Session_userId_idx_a489d58a';
readonly prefix: 'Session_userId_idx';
readonly columns: readonly ['userId'];
readonly unique: false;
},
{
readonly name: 'Session_userId_quest_idx_b13626bf';
readonly prefix: 'Session_userId_quest_idx';
readonly columns: readonly ['userId', 'quest'];
readonly unique: false;
},
{
readonly name: 'Session_userId_status_idx_e4a128ba';
readonly prefix: 'Session_userId_status_idx';
readonly columns: readonly ['userId', 'status'];
readonly unique: false;
},
];
foreignKeys: readonly [
{
readonly source: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'Session';
readonly columns: readonly ['userId'];
};
readonly target: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'User';
readonly columns: readonly ['id'];
};
},
];
};
readonly User: {
columns: {
readonly createdAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly email: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly id: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly default: {
readonly kind: 'function';
readonly expression: 'autoincrement()';
};
readonly many: false;
};
readonly isGuest: {
readonly dataType: 'pg/bool';
readonly codecId: 'pg/bool@1';
readonly nullable: false;
readonly many: false;
};
readonly name: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly updatedAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly username: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
};
primaryKey: { readonly columns: readonly ['id'] };
uniques: readonly [
{ readonly columns: readonly ['email'] },
{ readonly columns: readonly ['username'] },
];
indexes: readonly [];
foreignKeys: readonly [];
};
readonly UserLoginMethod: {
columns: {
readonly createdAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly displayName: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly hashedPassword: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly oauthId: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: true;
readonly many: false;
};
readonly type: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly updatedAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly userId: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly many: false;
};
};
primaryKey: { readonly columns: readonly ['userId', 'type'] };
uniques: readonly [{ readonly columns: readonly ['type', 'oauthId'] }];
indexes: readonly [
{
readonly name: 'UserLoginMethod_userId_idx_a489d58a';
readonly prefix: 'UserLoginMethod_userId_idx';
readonly columns: readonly ['userId'];
readonly unique: false;
},
];
foreignKeys: readonly [
{
readonly source: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'UserLoginMethod';
readonly columns: readonly ['userId'];
};
readonly target: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'User';
readonly columns: readonly ['id'];
};
},
];
};
readonly UserProgress: {
columns: {
readonly finishedAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: true;
readonly many: false;
};
readonly quest: {
readonly dataType: 'pg/text';
readonly codecId: 'pg/text@1';
readonly nullable: false;
readonly many: false;
};
readonly startedAt: {
readonly dataType: 'pg/timestamptz';
readonly codecId: 'pg/timestamptz-temporal@1';
readonly nullable: false;
readonly many: false;
};
readonly userId: {
readonly dataType: 'pg/int8';
readonly codecId: 'pg/int8@1';
readonly nullable: false;
readonly many: false;
};
};
primaryKey: { readonly columns: readonly ['userId', 'quest'] };
uniques: readonly [];
indexes: readonly [
{
readonly name: 'UserProgress_userId_idx_a489d58a';
readonly prefix: 'UserProgress_userId_idx';
readonly columns: readonly ['userId'];
readonly unique: false;
},
];
foreignKeys: readonly [
{
readonly source: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'UserProgress';
readonly columns: readonly ['userId'];
};
readonly target: {
readonly namespaceId: 'public' & NamespaceId;
readonly tableName: 'User';
readonly columns: readonly ['id'];
};
},
];
};
};
readonly valueSet: {
readonly LoginMethod: {
readonly kind: 'valueSet';
readonly values: readonly ['password', 'google', 'github'];
};
readonly SessionStatus: {
readonly kind: 'valueSet';
readonly values: readonly ['active', 'finished', 'inactive'];
};
};
};
};
};
readonly storageHash: StorageHash;
}>,
'roots' | 'domain'
> & {
readonly target: 'postgres';
readonly targetFamily: 'sql';
readonly roots: {
readonly Command: { readonly namespace: 'public' & NamespaceId; readonly model: 'Command' };
readonly LoginAttempt: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'LoginAttempt';
};
readonly Session: { readonly namespace: 'public' & NamespaceId; readonly model: 'Session' };
readonly User: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
readonly UserLoginMethod: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'UserLoginMethod';
};
readonly UserProgress: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'UserProgress';
};
};
readonly domain: {
readonly namespaces: {
readonly public: {
readonly models: {
readonly Command: {
readonly fields: {
readonly command: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly error: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly id: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
readonly output: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly pwd: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly sessionId: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
readonly stage: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly timestamp: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
};
readonly relations: {
readonly session: {
readonly to: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'Session';
};
readonly cardinality: 'N:1';
readonly nullable: false;
readonly on: {
readonly localFields: readonly ['sessionId'];
readonly targetFields: readonly ['id'];
};
};
};
readonly storage: {
readonly table: 'Command';
readonly namespaceId: 'public';
readonly fields: {
readonly command: { readonly column: 'command' };
readonly error: { readonly column: 'error' };
readonly id: { readonly column: 'id' };
readonly output: { readonly column: 'output' };
readonly pwd: { readonly column: 'pwd' };
readonly sessionId: { readonly column: 'sessionId' };
readonly stage: { readonly column: 'stage' };
readonly timestamp: { readonly column: 'timestamp' };
};
};
};
readonly LoginAttempt: {
readonly fields: {
readonly id: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
readonly ip: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly loginMethod: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly message: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly success: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/bool@1' };
};
readonly time: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly userAgent: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly userId: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
readonly username: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
};
readonly relations: {
readonly user: {
readonly to: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
readonly cardinality: 'N:1';
readonly nullable: true;
readonly on: {
readonly localFields: readonly ['userId'];
readonly targetFields: readonly ['id'];
};
};
};
readonly storage: {
readonly table: 'LoginAttempt';
readonly namespaceId: 'public';
readonly fields: {
readonly id: { readonly column: 'id' };
readonly ip: { readonly column: 'ip' };
readonly loginMethod: { readonly column: 'loginMethod' };
readonly message: { readonly column: 'message' };
readonly success: { readonly column: 'success' };
readonly time: { readonly column: 'time' };
readonly userAgent: { readonly column: 'userAgent' };
readonly userId: { readonly column: 'userId' };
readonly username: { readonly column: 'username' };
};
};
};
readonly Session: {
readonly fields: {
readonly completedEvents: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
readonly many: { readonly elementNullable: false };
};
readonly containerId: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly containerName: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly createdAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly finishedAt: {
readonly nullable: true;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly graph: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/jsonb@1' };
};
readonly id: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
readonly lastActivityAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly locale: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly quest: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly status: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly userId: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
};
readonly relations: {
readonly commands: {
readonly to: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'Command';
};
readonly cardinality: '1:N';
readonly on: {
readonly localFields: readonly ['id'];
readonly targetFields: readonly ['sessionId'];
};
};
readonly user: {
readonly to: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
readonly cardinality: 'N:1';
readonly nullable: false;
readonly on: {
readonly localFields: readonly ['userId'];
readonly targetFields: readonly ['id'];
};
};
};
readonly storage: {
readonly table: 'Session';
readonly namespaceId: 'public';
readonly fields: {
readonly completedEvents: { readonly column: 'completedEvents' };
readonly containerId: { readonly column: 'containerId' };
readonly containerName: { readonly column: 'containerName' };
readonly createdAt: { readonly column: 'createdAt' };
readonly finishedAt: { readonly column: 'finishedAt' };
readonly graph: { readonly column: 'graph' };
readonly id: { readonly column: 'id' };
readonly lastActivityAt: { readonly column: 'lastActivityAt' };
readonly locale: { readonly column: 'locale' };
readonly quest: { readonly column: 'quest' };
readonly status: { readonly column: 'status' };
readonly userId: { readonly column: 'userId' };
};
};
};
readonly User: {
readonly fields: {
readonly createdAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly email: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly id: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
readonly isGuest: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/bool@1' };
};
readonly name: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly updatedAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly username: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
};
readonly relations: {
readonly loginAttempts: {
readonly to: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'LoginAttempt';
};
readonly cardinality: '1:N';
readonly on: {
readonly localFields: readonly ['id'];
readonly targetFields: readonly ['userId'];
};
};
readonly loginMethods: {
readonly to: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'UserLoginMethod';
};
readonly cardinality: '1:N';
readonly on: {
readonly localFields: readonly ['id'];
readonly targetFields: readonly ['userId'];
};
};
readonly progress: {
readonly to: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'UserProgress';
};
readonly cardinality: '1:N';
readonly on: {
readonly localFields: readonly ['id'];
readonly targetFields: readonly ['userId'];
};
};
readonly sessions: {
readonly to: {
readonly namespace: 'public' & NamespaceId;
readonly model: 'Session';
};
readonly cardinality: '1:N';
readonly on: {
readonly localFields: readonly ['id'];
readonly targetFields: readonly ['userId'];
};
};
};
readonly storage: {
readonly table: 'User';
readonly namespaceId: 'public';
readonly fields: {
readonly createdAt: { readonly column: 'createdAt' };
readonly email: { readonly column: 'email' };
readonly id: { readonly column: 'id' };
readonly isGuest: { readonly column: 'isGuest' };
readonly name: { readonly column: 'name' };
readonly updatedAt: { readonly column: 'updatedAt' };
readonly username: { readonly column: 'username' };
};
};
};
readonly UserLoginMethod: {
readonly fields: {
readonly createdAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly displayName: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly hashedPassword: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly oauthId: {
readonly nullable: true;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly type: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly updatedAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly userId: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
};
readonly relations: {
readonly user: {
readonly to: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
readonly cardinality: 'N:1';
readonly nullable: false;
readonly on: {
readonly localFields: readonly ['userId'];
readonly targetFields: readonly ['id'];
};
};
};
readonly storage: {
readonly table: 'UserLoginMethod';
readonly namespaceId: 'public';
readonly fields: {
readonly createdAt: { readonly column: 'createdAt' };
readonly displayName: { readonly column: 'displayName' };
readonly hashedPassword: { readonly column: 'hashedPassword' };
readonly oauthId: { readonly column: 'oauthId' };
readonly type: { readonly column: 'type' };
readonly updatedAt: { readonly column: 'updatedAt' };
readonly userId: { readonly column: 'userId' };
};
};
};
readonly UserProgress: {
readonly fields: {
readonly finishedAt: {
readonly nullable: true;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly quest: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
};
readonly startedAt: {
readonly nullable: false;
readonly type: {
readonly kind: 'scalar';
readonly codecId: 'pg/timestamptz-temporal@1';
};
};
readonly userId: {
readonly nullable: false;
readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/int8@1' };
};
};
readonly relations: {
readonly user: {
readonly to: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
readonly cardinality: 'N:1';
readonly nullable: false;
readonly on: {
readonly localFields: readonly ['userId'];
readonly targetFields: readonly ['id'];
};
};
};
readonly storage: {
readonly table: 'UserProgress';
readonly namespaceId: 'public';
readonly fields: {
readonly finishedAt: { readonly column: 'finishedAt' };
readonly quest: { readonly column: 'quest' };
readonly startedAt: { readonly column: 'startedAt' };
readonly userId: { readonly column: 'userId' };
};
};
};
};
readonly enum: {
readonly LoginMethod: {
readonly codecId: 'pg/text@1';
readonly members: readonly [
{ readonly name: 'Password'; readonly value: 'password' },
{ readonly name: 'Google'; readonly value: 'google' },
{ readonly name: 'GitHub'; readonly value: 'github' },
];
};
readonly SessionStatus: {
readonly codecId: 'pg/text@1';
readonly members: readonly [
{ readonly name: 'Active'; readonly value: 'active' },
{ readonly name: 'Finished'; readonly value: 'finished' },
{ readonly name: 'Inactive'; readonly value: 'inactive' },
];
};
};
readonly enumMemberTypes?: {
readonly LoginMethod: readonly [
{ readonly name: 'Password'; readonly value: 'password' },
{ readonly name: 'Google'; readonly value: 'google' },
{ readonly name: 'GitHub'; readonly value: 'github' },
];
readonly SessionStatus: readonly [
{ readonly name: 'Active'; readonly value: 'active' },
{ readonly name: 'Finished'; readonly value: 'finished' },
{ readonly name: 'Inactive'; readonly value: 'inactive' },
];
};
};
};
};
readonly capabilities: {
readonly postgres: {
readonly distinctOn: true;
readonly forKeyShare: true;
readonly forNoKeyUpdate: true;
readonly jsonAgg: true;
readonly lateral: true;
readonly limit: true;
readonly orderBy: true;
readonly returning: true;
};
readonly sql: {
readonly checkConstraint: true;
readonly defaultInInsert: true;
readonly enums: true;
readonly forShare: true;
readonly forUpdate: true;
readonly insertOnConflictSkip: true;
readonly insertOnConflictWithoutTarget: true;
readonly lateral: true;
readonly lockNowait: true;
readonly lockOf: true;
readonly lockSkipLocked: true;
readonly returning: true;
readonly scalarList: true;
};
};
readonly extensions: {};
readonly meta: {};
readonly profileHash: ProfileHash;
};
export type Contract = ContractWithTypeMaps<ContractBase, TypeMaps>;
export type Namespaces = Contract['storage']['namespaces'];