Function referenceAccountRequest
referenceAccountRequest(): 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, >,> Returns 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,
>,
>
Lazy references to related models to avoid circular imports.