default: ModelConstructor< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, > & object, "moderator" | "inviteLink",> & { checkIPRateLimit( ipAddress: string, maxRequests: number, windowHours: number, ): Promise<boolean>; createRequest( data: { aboutLinks: string; email: string; ipAddress?: string; language: string; languages: string; plannedReviews: string; termsAccepted: boolean; }, ): Promise< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, > & object & { inviteLink?: InferData< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, > & InferVirtual< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, > & ModelInstanceCore< InferData< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, >, InferVirtual< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, >, > & object & InviteLinkRelations; moderator?: UserView; }, >; getModerated( limit?: number, ): Promise< (
InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, > & object & { inviteLink?: InferData< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, > & InferVirtual< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, > & ModelInstanceCore< InferData< { createdBy: StringType<(...)
>; createdOn: DateType<(...)
>; id: StringType<(...)
>; url: VirtualType<(...)
, (...)
>; usedBy: StringType<(...)
>; }, >, InferVirtual< { createdBy: StringType<(...)
>; createdOn: DateType<(...)
>; id: StringType<(...)
>; url: VirtualType<(...)
, (...)
>; usedBy: StringType<(...)
>; }, >, > & object & InviteLinkRelations; moderator?: UserView; } )
[], >; getPending(): Promise< (
InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, > & object & { inviteLink?: InferData< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, > & InferVirtual< { createdBy: StringType<true>; createdOn: DateType<false>; id: StringType<false>; url: VirtualType<unknown, false>; usedBy: StringType<false>; }, > & ModelInstanceCore< InferData< { createdBy: StringType<(...)
>; createdOn: DateType<(...)
>; id: StringType<(...)
>; url: VirtualType<(...)
, (...)
>; usedBy: StringType<(...)
>; }, >, InferVirtual< { createdBy: StringType<(...)
>; createdOn: DateType<(...)
>; id: StringType<(...)
>; url: VirtualType<(...)
, (...)
>; usedBy: StringType<(...)
>; }, >, > & object & InviteLinkRelations; moderator?: UserView; } )
[], >; hasRecentRequest(email: string, cooldownHours: number): Promise<boolean>;} & CreateFromRowStatic< MergeManifestMethods< { camelToSnake: { aboutLinks: "about_links"; createdAt: "created_at"; inviteLinkID: "invite_link_id"; ipAddress: "ip_address"; moderatedAt: "moderated_at"; moderatedBy: "moderated_by"; plannedReviews: "planned_reviews"; rejectionReason: "rejection_reason"; termsAccepted: "terms_accepted"; }; hasRevisions: false; relations: readonly [ { cardinality: "one"; hasRevisions: false; name: "moderator"; sourceKey: "moderatedBy"; targetKey: "id"; targetTable: "users"; }, { cardinality: "one"; hasRevisions: false; name: "inviteLink"; sourceKey: "inviteLinkID"; targetKey: "id"; targetTable: "invite_links"; }, ]; schema: { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }; tableName: "account_requests"; }, { checkIPRateLimit( ipAddress: string, maxRequests: number, windowHours: number, ): Promise<boolean>; createRequest( data: { aboutLinks: string; email: string; ipAddress?: string; language: string; languages: string; plannedReviews: string; termsAccepted: boolean; }, ): Promise< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, >, > & object & { inviteLink?: InferData< { createdBy: StringType<(...)
>; createdOn: DateType<(...)
>; id: StringType<(...)
>; url: VirtualType<(...)
, (...)
>; usedBy: StringType<(...)
>; }, > & InferVirtual< { createdBy: StringType<(...)
>; createdOn: DateType<(...)
>; id: StringType<(...)
>; url: VirtualType<(...)
, (...)
>; usedBy: StringType<(...)
>; }, > & ModelInstanceCore< InferData< { createdBy: ...
; createdOn: ...
; id: ...
; url: ...
; usedBy: ...
}, >, InferVirtual< { createdBy: ...
; createdOn: ...
; id: ...
; url: ...
; usedBy: ...
}, >, > & object & InviteLinkRelations; moderator?: UserView; }, >; getModerated( limit?: number, ): Promise< (
InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<(...)
>; createdAt: DateType<(...)
>; email: StringType<(...)
>; id: StringType<(...)
>; inviteLinkID: StringType<(...)
>; ipAddress: StringType<(...)
>; language: StringType<(...)
>; languages: StringType<(...)
>; moderatedAt: DateType<(...)
>; moderatedBy: StringType<(...)
>; plannedReviews: StringType<(...)
>; rejectionReason: StringType<(...)
>; status: StringType<(...)
>; termsAccepted: BooleanType<(...)
>; }, >, InferVirtual< { aboutLinks: StringType<(...)
>; createdAt: DateType<(...)
>; email: StringType<(...)
>; id: StringType<(...)
>; inviteLinkID: StringType<(...)
>; ipAddress: StringType<(...)
>; language: StringType<(...)
>; languages: StringType<(...)
>; moderatedAt: DateType<(...)
>; moderatedBy: StringType<(...)
>; plannedReviews: StringType<(...)
>; rejectionReason: StringType<(...)
>; status: StringType<(...)
>; termsAccepted: BooleanType<(...)
>; }, >, > & object & { inviteLink?: InferData< { createdBy: ...
; createdOn: ...
; id: ...
; url: ...
; usedBy: ...
}, > & InferVirtual< { createdBy: ...
; createdOn: ...
; id: ...
; url: ...
; usedBy: ...
}, > & ModelInstanceCore<InferData<(...)
>, InferVirtual<(...)
>> & object & InviteLinkRelations; moderator?: UserView; } )
[], >; getPending(): Promise< (
InferData< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & InferVirtual< { aboutLinks: StringType<true>; createdAt: DateType<false>; email: StringType<true>; id: StringType<false>; inviteLinkID: StringType<false>; ipAddress: StringType<false>; language: StringType<false>; languages: StringType<true>; moderatedAt: DateType<false>; moderatedBy: StringType<false>; plannedReviews: StringType<true>; rejectionReason: StringType<false>; status: StringType<false>; termsAccepted: BooleanType<false>; }, > & ModelInstanceCore< InferData< { aboutLinks: StringType<(...)
>; createdAt: DateType<(...)
>; email: StringType<(...)
>; id: StringType<(...)
>; inviteLinkID: StringType<(...)
>; ipAddress: StringType<(...)
>; language: StringType<(...)
>; languages: StringType<(...)
>; moderatedAt: DateType<(...)
>; moderatedBy: StringType<(...)
>; plannedReviews: StringType<(...)
>; rejectionReason: StringType<(...)
>; status: StringType<(...)
>; termsAccepted: BooleanType<(...)
>; }, >, InferVirtual< { aboutLinks: StringType<(...)
>; createdAt: DateType<(...)
>; email: StringType<(...)
>; id: StringType<(...)
>; inviteLinkID: StringType<(...)
>; ipAddress: StringType<(...)
>; language: StringType<(...)
>; languages: StringType<(...)
>; moderatedAt: DateType<(...)
>; moderatedBy: StringType<(...)
>; plannedReviews: StringType<(...)
>; rejectionReason: StringType<(...)
>; status: StringType<(...)
>; termsAccepted: BooleanType<(...)
>; }, >, > & object & { inviteLink?: InferData< { createdBy: ...
; createdOn: ...
; id: ...
; url: ...
; usedBy: ...
}, > & InferVirtual< { createdBy: ...
; createdOn: ...
; id: ...
; url: ...
; usedBy: ...
}, > & ModelInstanceCore<InferData<(...)
>, InferVirtual<(...)
>> & object & InviteLinkRelations; moderator?: UserView; } )
[], >; hasRecentRequest(email: string, cooldownHours: number): Promise<boolean>; }, EmptyInstanceMethods, >,> = ...